在Linux系统上配置MongoDB以增强安全性是一个重要的步骤,以下是一个详细的指南:
首先,确保你的Linux系统是最新的,并安装MongoDB。
编辑MongoDB的配置文件(通常是 /etc/mongod.conf),找到并修改以下内容以启用身份验证:
security:
authorization: enabled
使用MongoDB shell连接到MongoDB:
mongo
在 admin 数据库中创建一个管理员用户:
use admin
db.createUser({
user: "myAdmin",
pwd: "myStrongPassword",
roles: [ { role: "root", db: "admin" } ]
})
为每个数据库创建用户,并分配适当的角色。例如,创建一个用户名为 myuser,密码为 mypassword 的用户,并为其分配 readWrite 和 dbOwner 角色:
use mydatabase
db.createUser({
user: "myuser",
pwd: "mypassword",
roles: [ { role: "readWrite", db: "mydatabase" }, { role: "dbOwner", db: "mydatabase" } ]
})
限制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(Uncomplicated Firewall):
sudo ufw allow from 127.0.0.1 to any port 27017
sudo ufw disable
生成SSL证书和私钥文件(例如,使用OpenSSL工具),然后在 /etc/mongod.conf 中配置SSL/TLS:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb-key.pem
CAFile: /path/to/mongodb-cert.pem
mongodump 和 mongorestore 命令进行备份和恢复。配置MongoDB的监控和日志记录,以便及时发现和解决问题。修改配置文件 /etc/mongod.conf,添加或修改以下内容:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log