sudo yum update -y将系统更新至最新版本,修复已知安全漏洞。/etc/yum.repos.d/mongodb-org-4.2.repo文件,添加以下内容(以MongoDB 4.2为例):[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安装MongoDB。/etc/mongod.conf,在security section添加authorization: enabled,强制要求用户认证。sudo systemctl restart mongod使配置生效。mongo
use admin
db.createUser({
user: "admin",
pwd: "YourStrongPassword123!",
roles: [{ role: "root", db: "admin" }]
})
退出shell(exit)。/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 -out /etc/ssl/mongodb/mongodb.crt
sudo cat /etc/ssl/mongodb/mongodb.key /etc/ssl/mongodb/mongodb.crt > /etc/ssl/mongodb/mongodb.pem
sudo chmod 600 /etc/ssl/mongodb/mongodb.key /etc/ssl/mongodb/mongodb.pem
/etc/mongod.conf,添加以下内容:net:
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb/mongodb.pem
重启服务:sudo systemctl restart mongod。/etc/mongod.conf,添加security.auditLog section,记录所有数据库操作:security:
auditLog:
destination: file
format: JSON
path: /var/log/mongodb/audit.json
logAppend: true
创建日志目录并设置权限:sudo mkdir -p /var/log/mongodb
sudo chown mongodb:mongodb /var/log/mongodb
重启服务:sudo systemctl restart mongod。mongodb用户,并设置所属组:sudo useradd -r -s /sbin/nologin mongodb
mongodb用户:sudo chown -R mongodb:mongodb /var/lib/mongo
sudo chown -R mongodb:mongodb /var/log/mongodb
重启服务:sudo systemctl restart mongod。sudo yum update mongodb-org安装最新安全补丁,保持数据库版本最新。mongostat、mongotop等工具监控数据库性能,定期备份数据(如使用mongodump)并存储至安全位置。通过以上步骤,可显著提升CentOS上MongoDB的安全性,防范未授权访问、数据泄露及中间人攻击等风险。需根据实际业务需求调整配置(如调整防火墙规则、细化用户权限)。