sudo yum update -y確保CentOS系統為最新版本,修復已知安全漏洞。sudo vi /etc/yum.repos.d/mongodb-org-4.2.repo,添加以下內容:[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
sudo yum install -y mongodb-org。/etc/mongod.conf,在security section添加:security:
authorization: enabled
sudo systemctl restart mongod。your_strong_password為強密碼):mongo
use admin
db.createUser({
user: "admin",
pwd: "your_strong_password",
roles: [{ role: "root", db: "admin" }]
})
之后需通過mongo -u admin -p --authenticationDatabase "admin"認證后操作。/etc/mongod.conf中的net.bindIp,僅允許本地或特定IP訪問(如127.0.0.1為本機,192.168.1.100為服務器IP):net:
bindIp: 127.0.0.1,192.168.1.100 # 根據需求調整
port: 27017
firewalld開放MongoDB默認端口(27017):sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp
sudo firewall-cmd --reload
若使用iptables,可運行:sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT并保存規則。sudo mkdir -p /etc/ssl/mongodb
sudo openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 \
-keyout /etc/ssl/mongodb/mongodb-key.pem \
-out /etc/ssl/mongodb/mongodb-cert.pem
sudo chmod 600 /etc/ssl/mongodb/*.pem
/etc/mongod.conf中的net.ssl section:net:
ssl:
mode: requireSSL # 強制使用SSL
PEMKeyFile: /etc/ssl/mongodb/mongodb-cert.pem
# 若使用CA簽發證書,需添加CAFile路徑
# CAFile: /etc/ssl/mongodb/ca.pem
sudo systemctl restart mongod。mydatabase數據庫創建只讀用戶(替換readonlypassword為強密碼):use mydatabase
db.createUser({
user: "readonlyuser",
pwd: "readonlypassword",
roles: [{ role: "read", db: "mydatabase" }]
})
readWrite用于讀寫、dbAdmin用于數據庫管理),避免過度授權。/etc/mongod.conf,在systemLog section添加審計日志配置:systemLog:
destination: file
path: /var/log/mongodb/mongod-audit.log
logAppend: true
verbosity: 1 # 日志詳細程度(0-5,1為基本審計)
sudo systemctl restart mongod,審計日志將記錄所有數據庫操作(如查詢、插入、刪除)。sudo yum update mongodb-org升級到最新版本,修復安全漏洞。mongodump定期備份數據庫(如每日備份),存儲到安全位置:mongodump --out /backup/mongodb-$(date +%F)
/var/log/mongodb/mongod.log和審計日志,及時發現異常行為(如頻繁的失敗登錄嘗試)。通過以上步驟,可顯著提升CentOS上MongoDB的安全性,覆蓋身份認證、訪問控制、加密通信、權限管理等核心安全需求。根據實際環境(如是否允許遠程訪問、是否需要高可用性),可進一步調整配置(如配置復制集、調整SSL證書路徑)。