在Ubuntu上安全运行MongoDB需要考虑多个方面,包括安装、配置、用户认证、网络限制、日志记录等。以下是一些关键步骤:
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org
sudo mkdir -p /data/db
sudo chown -R mongodb:mongodb /data/db
sudo nano /etc/mongod.conf
在文件中添加或修改以下内容:
security:
authorization: enabled
net:
bindIp: 127.0.0.1
port: 27017
sudo systemctl restart mongod
mongo
use admin
db.createUser({
user: "yourAdminUsername",
pwd: "yourAdminPassword",
roles: [ { role: "root", db: "admin" } ]
})
exit()
只允许本机访问MongoDB,修改MongoDB配置文件,如果是Debian/Ubuntu,配置文件在 /etc/mongod.conf
,然后查找 net
关键字:
net:
port: 27017
bindIp: 127.0.0.1
生成或获取有效的SSL证书和私钥文件,在mongod.conf配置文件中添加以下参数:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/ssl.pem
CAFile: /path/to/your/ca.pem
重新启动MongoDB服务使配置生效。
在mongod.conf配置文件中添加以下参数以启用审计日志记录所有用户的操作:
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
定期备份MongoDB的数据,确保备份数据的完整性和可恢复性。
定期检查MongoDB的安全更新和补丁,及时应用最新的安全补丁以修复已知漏洞。
通过以上步骤,可以显著提高MongoDB的安全性,保护数据库中的数据不被未经授权的用户访问或修改。