在Ubuntu上配置MongoDB的审计日志,可以按照以下步骤进行:
如果你还没有安装MongoDB,可以使用以下命令进行安装:
sudo apt update
sudo apt install -y mongodb
MongoDB的审计日志功能默认是关闭的。你需要手动启用它。
打开MongoDB的配置文件 /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 } }' # 过滤条件,可以根据需要调整
destination: 审计日志的输出位置,可以是文件(file)或syslog。format: 日志格式,可以是JSON或CSV。path: 日志文件的路径。filter: 过滤条件,用于指定哪些操作需要记录到审计日志中。保存并关闭配置文件后,重启MongoDB服务以应用更改:
sudo systemctl restart mongod
你可以通过以下命令查看审计日志文件,确保它正在正常工作:
tail -f /var/log/mongodb/audit.json
为了防止审计日志文件过大,你可以配置日志轮转。Ubuntu使用 logrotate 工具来管理日志文件的轮转。
创建一个新的日志轮转配置文件 /etc/logrotate.d/mongodb-audit:
sudo nano /etc/logrotate.d/mongodb-audit
在文件中添加以下内容:
/var/log/mongodb/audit.json {
daily
missingok
rotate 7
compress
notifempty
create 0640 mongodb adm
}
daily: 每天轮转一次日志文件。missingok: 如果日志文件丢失,不会报错。rotate 7: 保留7天的日志文件。compress: 压缩旧的日志文件。notifempty: 如果日志文件为空,不进行轮转。create 0640 mongodb adm: 创建新的日志文件,权限为0640,属主为mongodb,属组为adm。你可以手动测试日志轮转是否正常工作:
sudo logrotate -f /etc/logrotate.d/mongodb-audit
然后检查日志文件是否被正确轮转和压缩。
通过以上步骤,你就可以在Ubuntu上成功配置MongoDB的审计日志,并确保日志文件的合理管理和维护。