Ubuntu 上 MongoDB 安全审计实施指南
一 版本与许可要求
二 启用审计的步骤 Enterprise 版
security:
authorization: enabled
auditLog:
destination: file
format: JSON # 也可选 BSON
path: /var/log/mongodb/audit.json
说明:destination 支持 file/syslog/console;format 支持 JSON/BSON;path 为审计日志文件路径。sudo mkdir -p /var/log/mongodb
sudo touch /var/log/mongodb/audit.json
sudo chown mongodb:mongodb /var/log/mongodb/audit.json
sudo systemctl restart mongod
tail -f /var/log/mongodb/audit.json
执行若干数据库操作(如连接、认证、查询、插入、更新、删除、执行命令),应能在审计日志中看到对应事件。以上步骤适用于 Ubuntu 上的 MongoDB Enterprise 部署。三 审计策略与过滤
auditLog:
destination: file
format: JSON
path: /var/log/mongodb/audit.json
filter: '{ "atype": { "$in": ["authenticate", "createUser", "dropUser", "grantRolesToUser", "revokeRolesFromUser", "insert", "update", "delete", "drop", "dropDatabase"] } }'
说明:atype 表示审计事件类型(如 authenticate、createUser、insert、update、delete、drop 等);使用 filter 可显著降低日志量并聚焦关键事件。四 社区版的可选做法
security:
authorization: enabled
重启后在 admin 库创建管理用户并分配角色,确保最小权限原则。net:
bindIp: 127.0.0.1,<内网IP>
port: 27017
sudo ufw allow from <可信IP> to any port 27017
sudo ufw enable
net:
ssl:
mode: requireSSL
PEMKeyFile: /path/to/mongodb.pem
五 运维与合规建议