系统日志审计:使用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
}

讨论