auditd 是 Linux 系統中的審計守護進程,負責收集、記錄和監控系統安全相關事件。以下是相關工具及其功能:
核心組件
auditd - 審計守護進程
系統的審計服務主程序
收集系統調用信息并寫入日志文件
通常存儲在 /var/log/audit/audit.log
auditctl - 審計控制工具
配置審計系統規則
修改審計系統參數(如緩沖區大小)
查看狀態和統計信息
例:auditctl -b 8192 設置緩沖區大小
ausearch - 審計日志搜索工具
按各種條件搜索審計記錄
支持按時間、用戶、事件類型等過濾
例:ausearch -m login 查找登錄事件
aureport - 審計報告生成工具
生成審計活動摘要報告
可生成各類事件的統計報告
例:aureport --auth 生成認證報告
audispd - 審計分發守護進程
將審計事件轉發給其他應用程序
支持插件擴展功能
配置文件
/etc/audit/auditd.conf - 主配置文件
/etc/audit/rules.d/audit.rules - 審計規則文件
/etc/audisp/plugins.d/ - 審計分發插件配置
常見用途
安全合規性驗證:滿足 SOX、PCI DSS 等合規要求
系統安全監控:記錄關鍵文件訪問、特權操作
用戶行為審計:監控用戶登錄、權限提升操作
變更管理:監控系統配置文件變更
取證和故障排查:事件調查和系統問題定位
審計系統對系統性能有一定影響,因此建議根據實際需求配置合適的審計規則和緩沖區大小,避免出現"backlog limit exceeded"這類錯誤
使用:
Let me provide Ubuntu-specific commands for handling audit backlog issues:
To check if auditd is installed:
dpkg -l | grep auditd
To install auditd if needed:
sudo apt-get install auditd
To increase backlog limit temporarily:
sudo auditctl -b 8192
To make it permanent, edit /etc/audit/rules.d/audit.rules:
sudo nano /etc/audit/rules.d/audit.rules
Add this line:
-b 8192
To clear/rotate logs:
sudo service auditd rotate
To restart auditd after changes:
sudo systemctl restart auditd
手動清空日志
清空 Ubuntu 上的審計日志的方法:
- 輪轉日志(推薦方式):
sudo service auditd rotate
- 停止審計服務后刪除日志文件:
sudo systemctl stop auditd
sudo rm /var/log/audit/audit.log*
sudo systemctl start auditd
- 如果需要保留但清空當前日志:
sudo cat /dev/null > /var/log/audit/audit.log
- 使用 truncate 命令清空:
sudo truncate -s 0 /var/log/audit/audit.log
重啟服務使更改生效:
sudo systemctl restart auditd