Linux系统中MongoDB的安全设置
一 核心安全基线
二 配置文件与关键参数示例
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
logRotate: reopen
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
net:
port: 27017
bindIp: 127.0.0.1,192.168.1.0/24 # 仅内网或受控来源
http:
enabled: false
RESTInterfaceEnabled: false
JSONPEnabled: false
ssl:
mode: requireSSL
PEMKeyFile: /etc/ssl/mongodb-key.pem
CAFile: /etc/ssl/mongodb-ca.pem
security:
authorization: enabled
# 如无需服务端脚本,可关闭
# javascriptEnabled: false
# 可选:Enterprise 审计
# auditLog:
# destination: file
# format: JSON
# path: /var/log/mongodb/audit.json
# filter: '{}'
sudo systemctl restart mongod。三 用户与权限管理
use admin
db.createUser({
user: "admin",
pwd: "YourStrongPassword123!",
roles: [{ role: "root", db: "admin" }]
})
use mydb
db.createUser({
user: "report",
pwd: "StrongReadPwd!",
roles: [{ role: "read", db: "mydb" }]
})
mongosh --ssl --sslCAFile /etc/ssl/mongodb-ca.pem --sslPEMKeyFile /etc/ssl/mongodb-key.pem -u admin -p --authenticationDatabase admin四 网络安全与加密
sudo ufw allow from 192.168.1.100 to any port 27017/tcpsudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="27017" accept'sudo firewall-cmd --reload五 审计 运行与维护