系统日志审计:使用auditd和ausearch工具分析内核安全事件

GladAlice +0/-0 0 0 正常 2025-12-24T07:01:19 系统审计 · 权限控制

系统日志审计:使用auditd和ausearch工具分析内核安全事件

在Linux系统安全防护中,系统日志审计是至关重要的安全措施。通过配置auditd服务,我们可以实时监控系统关键操作,及时发现潜在的安全威胁。

auditd基础配置

首先,安装并启用auditd服务:

# CentOS/RHEL系统
sudo yum install audit
sudo systemctl enable auditd
sudo systemctl start auditd

# Ubuntu/Debian系统
sudo apt install auditd
sudo systemctl enable auditd
sudo systemctl start auditd

关键审计规则配置

配置文件位于/etc/audit/audit.rules,添加以下规则:

# 审计root用户登录
-a always,exit -F arch=b64 -S execve -F auid=0 -F uid=0 -F gid=0 -F euid=0 -F egid=0

# 审计文件权限变更
-w /etc/passwd -p wa -k passwd_change
-w /etc/shadow -p wa -k shadow_change

# 审计关键目录访问
-w /etc/sudoers -p rwxa -k sudoers_access

日志分析工具ausearch使用

通过ausearch命令快速定位安全事件:

# 搜索特定用户操作
ausearch --user root --start recent

# 搜索文件访问事件
ausearch --file /etc/passwd --start recent

# 搜索系统调用
ausearch --syscall execve --start recent

实际案例:检测异常登录行为

配置以下规则监控登录行为:

# 审计login程序执行
-a always,exit -F arch=b64 -S execve -F path=/usr/sbin/login -F perm=x

通过ausearch --key login_attempt --start recent可快速定位异常登录尝试。

日志轮转配置

确保日志文件不会因磁盘空间不足而丢失:

# 编辑/etc/logrotate.d/auditd
/var/log/audit/audit.log {
    rotate 7
    daily
    compress
    missingok
    notifempty
}
推广
广告位招租

讨论

0/2000
Ian52
Ian52 · 2026-01-08T10:24:58
auditd配置看似简单,实则需要对系统调用和用户权限有深入理解,否则容易漏掉真正关键的攻击入口,比如通过setuid程序绕过审计规则。
Steve423
Steve423 · 2026-01-08T10:24:58
ausearch工具虽能快速定位事件,但日志解析复杂度高,建议结合脚本自动化分析,如提取异常IP、时间窗口内的多次失败登录等,提升响应效率。