安全配置
安装配置
authorization
- 认证authentication
- 权鉴
基本安全配置
指定专用用户(mongodb nologin)
关闭外网访问,绑定局域网的IP,完全屏蔽外网
配置防火墙
对端口进行ip限制访问
iptables -A INPUT -s <ip-address> -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -d <ip-address> -p tcp --``source``-port 27017 -m state --state ESTABLISHED -j ACCEPT
配置账号密码,对数据库进行访问限制
修改默认端口为非
27019
给数据添加验证层
- 在项目启动时 cli 加上
--auth
参数 - 配置文件
security.authorization: enabled
- MongoDB还可以使用外部系统进行认证,比如LADP等
- 在项目启动时 cli 加上
数据库内严格对各个角色权限进行访问控制
开启 TSL 双向认证连接
- 打开MongoDB 的TLS/SSl 的配置,社区版需要下载一个SSL版本,或者可以从社区版通过升级步骤升级到SSl版本,企业版自带SSL。SSL 可以保证MongoDB的 所有连接(输入和输出的连接)都是加密的。
历史安全隐患
2.6
-3.4
版本中,默认配置的访问ip是0.0.0.0
既不做任何限制
指定专用用户
- centos
groupadd mongodb
useradd -r -g mongodb -s /sbin/nologin -M mongodb
- mongodb内
- roles
- role - 该账号所拥有的最大权限
- db - 该用户所属数据库
# 创建一个账号
# 该账号是一个管理员 role
# 该账号
db.createUser({user:'username',pwd:'passowrd',roles:[{role:'root',db:'admin'}]})
指定专用IP
常用到的局域网ip段
10.0.0.0 – 10.255.255.255
172.16.0.0 – 172.31.255.255
192.168.0.0 – 192.168.255.255
最常用的局域网网段就是192.168.0.0到192.168.255.255,能保证局域网的访问