在Ubuntu上配置MongoDB审计日志可以帮助你监控和记录数据库的活动,从而提高安全性。以下是详细的步骤来配置MongoDB审计日志:
如果你还没有安装MongoDB,可以使用以下命令进行安装:
sudo apt update
sudo apt install -y mongodb
MongoDB的审计日志配置可以通过修改MongoDB的配置文件来完成。默认情况下,MongoDB的配置文件位于 /etc/mongod.conf。
打开 /etc/mongod.conf 文件:
sudo nano /etc/mongod.conf
在 security 部分添加审计日志配置。以下是一个示例配置:
security:
authorization: enabled
auditLog:
destination: file
format: JSON
path: /var/log/mongodb/audit.json
filter: '{ "severity": { "$gte": 1 } }' # 只记录严重级别为1及以上的日志
destination: 审计日志的输出位置,可以是 file 或 syslog。format: 日志的格式,可以是 JSON 或 CSV。path: 日志文件的路径。filter: 审计日志的过滤条件,可以根据需要调整。按 Ctrl + X,然后按 Y 确认保存,最后按 Enter 退出编辑器。
修改配置文件后,需要重启MongoDB服务以使更改生效:
sudo systemctl restart mongod
你可以通过以下命令查看审计日志文件是否已经生成:
tail -f /var/log/mongodb/audit.json
为了防止日志文件过大,可以配置日志轮转。Ubuntu使用 logrotate 工具来管理日志文件的轮转。
创建一个新的日志轮转配置文件:
sudo nano /etc/logrotate.d/mongodb-audit
在文件中添加以下内容:
/var/log/mongodb/audit.json {
daily
rotate 7
compress
missingok
notifempty
create 0640 mongodb adm
}
daily: 每天轮转一次日志。rotate 7: 保留7天的日志文件。compress: 压缩旧的日志文件。missingok: 如果日志文件丢失,不要报错。notifempty: 如果日志文件为空,不要轮转。create 0640 mongodb adm: 创建新的日志文件,权限为 0640,属主为 mongodb,属组为 adm。按 Ctrl + X,然后按 Y 确认保存,最后按 Enter 退出编辑器。
你可以通过执行一些数据库操作来测试审计日志是否正常工作。例如:
db.getCollectionNames()
db.users.insertOne({ name: "testuser", password: "testpass" })
然后检查 /var/log/mongodb/audit.json 文件,确认这些操作已经被记录。
通过以上步骤,你就可以在Ubuntu上成功配置MongoDB审计日志了。