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