2019-03-25Mongodb安全解决方案

2019-03-25  本文已影响0人  夜色001

项目初次使用mongodb时,因没有对其安全性进行周密的考虑,造成了很大的麻烦。后进行了安全加固,后续项目应该予以借鉴。

1、拒绝外网访问

物理隔绝是最安全的手段,虽然无法做到绝对的隔绝,拒绝外网访问也能在一定程度上达到要求。而且对其他的服务器也适用。
仅提供一台服务器支持外网访问,通过它作为访问其他环境的跳板。只要这台服务器不被攻破,其他的服务器就安全。

2、端口映射

启动mongodb容器时,将其映射到不同的端口。
docker启动命令如下

docker run --name mongodb -v /mnt/vdb1/mongodb0:/data/db -p 13442:27017 -d 0da05d84b1fe --auth
-p :端口映射
--auth:带权限访问

3、设置权限访问

mongodb默认情况下是不需要用户名和密码就能访问,这是极其不安全的。启动容器时加上 --auth参数即需要通过用户名和密码访问。

3.1添加mongodb用户名密码

docker exec -it mongodb mongo admin
db.createUser({ user: 'test', pwd: 'test123@', roles: [ { role: "readWrite", db: "admin" } ] });

3.2Springboot配置访问

spring:
  data:
    mongodb:
      database: pdloan
      host: ip地址
      port: 端口
      option:
        min-connection-per-host: 10
        max-connection-per-host: 10
      username: 用户名
      password: 密码
      authentication-database: admin

【注意】database和authentication-database是两个不同的库,一个是访问的数据库,一个是权限库

上一篇下一篇

猜你喜欢

热点阅读