在Debian系統上安全配置MongoDB涉及多個步驟,包括安裝、配置、啟用身份驗證、使用SSL/TLS加密通信、配置防火墻等。以下是一個詳細的指南:
sudo apt update && sudo apt upgrade -y
wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/debian bullseye/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
對于Debian 10(Buster):
echo "deb [archamd64,arm64] https://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
sudo apt update
sudo apt install -y mongodb-org
/etc/mongod.conf
:sudo nano /etc/mongod.conf
storage.dbPath
:指定MongoDB的數據存儲目錄。systemLog.destination
:指定日志文件的存儲路徑。net.port
:指定MongoDB監聽的端口(默認27017)。net.bindIp
:指定MongoDB綁定的IP地址,允許遠程連接時設置為 0.0.0.0
。security:
authorization: enabled
use admin
db.createUser({
user: "myUserAdmin",
pwd: "myStrongPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
sudo systemctl start mongod
sudo systemctl enable mongod
mongo
net:
bindIp: 127.0.0.1
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/mongodb.pem
CAFile: /path/to/your/ca.pem
ufw
允許27017端口:sudo ufw allow 27017
定期備份:使用 mongodump
定期備份MongoDB數據,并考慮將備份數據存儲在安全的位置。
禁用不必要的MongoDB接口和REST API:如果你使用的是MongoDB 3.6或更高版本,可以禁用HTTP接口和REST API:
net:
http:
enabled: false
restApi:
enabled: false
security:
auditLog:
destination: file
format: JSON
path: /var/log/mongodb/audit.json
通過以上步驟,你可以在Debian系統上安全地配置MongoDB,確保只有受信任的主機才能訪問數據庫,并且所有通信都是加密的。