在Ubuntu上安全配置MongoDB涉及多个步骤,包括启用认证、限制网络访问、加密数据传输、创建管理员账户等。以下是详细的配置指南:
在MongoDB配置文件 /etc/mongod.conf
中添加或修改以下内容以启用认证:
security:
authorization: enabled
然后重启MongoDB服务:
sudo systemctl restart mongod
编辑MongoDB配置文件 /etc/mongod.conf
,在 net
部分设置 bindIp
参数来限制允许连接的IP地址。例如,只允许本地连接:
net:
bindIp: 127.0.0.1
或者允许特定的IP地址连接:
net:
bindIp: 192.168.1.100
保存并关闭配置文件后,重启MongoDB服务以使更改生效:
sudo systemctl restart mongod
生成或获取有效的SSL证书和私钥文件,然后在 mongod.conf
配置文件中添加以下参数:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/ssl.pem
CAFile: /path/to/your/ca.pem
sslAllowInvalidCertificates: false
重新启动MongoDB服务使配置生效:
sudo systemctl restart mongod
切换到MongoDB shell:
mongo
切换到 admin
数据库:
use admin
创建一个管理员用户并授予其root角色:
db.createUser({
user: "yourAdminUsername",
pwd: "yourAdminPassword",
roles: [ { role: "root", db: "admin" } ]
})
退出MongoDB shell:
exit()
使用 iptables
或 ufw
限制允许哪些实体连接MongoDB服务器。例如,只允许本地连接:
sudo iptables -A INPUT -p tcp --dport 27017 -s 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 27017 -j DROP
或者使用 ufw
:
sudo ufw allow 27017/tcp
sudo ufw disable
定期备份MongoDB的数据以确保备份数据的完整性和可恢复性。可以使用 mongodump
命令进行备份:
mongodump --out /path/to/backup
启用审计日志记录所有用户的操作,定期审查和分析审计日志以检测异常行为。在 mongod.conf
中配置审计日志:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
对于企业级应用,可以考虑使用Kerberos进行认证,以提供更高的安全性。
通过以上步骤,您可以显著提高MongoDB在Ubuntu上的安全性。请根据您的具体需求和环境调整配置。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: ubuntu如何查看usb信息