在CentOS系統下保障MongoDB的安全,可以采取以下措施:
啟用身份驗證:
編輯MongoDB配置文件 /etc/mongod.conf
,在 security
部分啟用授權:
security:
authorization: enabled
保存更改并重啟MongoDB服務:
sudo systemctl restart mongod
創建管理員賬戶: 使用MongoDB shell連接到MongoDB,創建管理員賬戶并為其分配角色和權限:
mongo
use admin
db.createUser({
user: "admin",
pwd: "your_strong_password",
roles: [ { role: "root", db: "admin" } ]
})
配置防火墻:
使用 firewalld
配置防火墻規則,只允許特定IP地址或網段訪問MongoDB端口(默認是27017):
sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp
sudo firewall-cmd --reload
限制網絡訪問:
在MongoDB配置文件中設置 bindIp
,僅允許本地連接或特定IP地址訪問:
net:
bindIp: 127.0.0.1,192.168.1.100
使用SSL/TLS加密通信: 生成或獲取SSL證書和私鑰文件,然后在MongoDB配置文件中配置SSL/TLS:
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/your/ssl.pem
CAFile: /path/to/your/ca.pem
定期備份: 創建備份腳本并配置自動執行,以確保數據的安全性。
更新MongoDB: 確保MongoDB版本是最新的,以利用最新的安全修復。
SELinux策略: 如果系統使用SELinux,可能需要創建特定的策略來允許MongoDB的正常運行。
審計日志: 啟用審計日志,記錄所有數據庫操作,以便進行審計和監控。
通過以上步驟,可以顯著提高CentOS上MongoDB的安全性。