在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的審計日志,并確保日志文件的合理管理和維護。