在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上的安全性。記得定期審查和更新安全設置,以應對新的威脅和挑戰。