在Linux上配置MongoDB的安全设置可以显著提高数据库的安全性,防止未授权访问。以下是一个详细的步骤指南:
/etc/mongod.conf
),找到并修改以下内容:security:
authorization: enabled
sudo systemctl restart mongod
mongo
use admin
db.createUser({
user: "admin",
pwd: "your_strong_password",
roles: [ { role: "root", db: "admin" } ]
})
use mydatabase
db.createUser({
user: "myuser",
pwd: "mypassword",
roles: [ "readWrite", "dbOwner" ]
})
bindIp
参数,仅允许特定IP地址或主机名连接。例如,只允许本机访问:net:
bindIp: 127.0.0.1
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 from 127.0.0.1 to any port 27017
sudo ufw disable
openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout mongodb-key.pem -out mongodb-cert.pem
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb-key.pem
CAFile: /path/to/mongodb-cert.pem
sudo systemctl restart mongod
mongodump
和 mongorestore
:定期备份MongoDB数据以防止数据丢失。mongodump --out /path/to/backup
mongorestore /path/to/backup
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
http:
enabled: false
sudo apt update
sudo apt upgrade mongodb-org # 对于Ubuntu/Debian
sudo yum update
sudo yum upgrade mongodb-org # 对于CentOS/RHEL
通过以上步骤,可以显著提高MongoDB在Linux上的安全性。记得定期审查和更新安全设置,以应对新的威胁和挑战。