插件窝 干货文章 如何使用CentOS系统的审计日志来监测对系统的未经授权访问

如何使用CentOS系统的审计日志来监测对系统的未经授权访问

审计 监控 日志 sudo 385    来源:    2025-04-16

使用CentOS审计日志监测未经授权访问

CentOS系统提供了强大的审计框架(auditd)来跟踪系统活动,包括用户登录、文件访问、命令执行等。以下是使用审计日志监测未经授权访问的完整指南:

1. 安装和启用审计服务

# 安装auditd
sudo yum install audit

# 启用并启动服务
sudo systemctl enable auditd
sudo systemctl start auditd

2. 配置审计规则

审计规则存储在/etc/audit/rules.d/audit.rules文件中。以下是常用监控规则:

监控用户登录活动

# 监控所有登录尝试
-a always,exit -F arch=b64 -S execve -F path=/bin/login -k LOGIN
-a always,exit -F arch=b32 -S execve -F path=/bin/login -k LOGIN

# 监控SSH登录
-w /etc/ssh/sshd_config -p wa -k SSH_CONFIG
-w /var/log/secure -p wa -k SSH_LOGIN

监控敏感文件访问

# 监控/etc/passwd和/etc/shadow访问
-w /etc/passwd -p wa -k PASSWD
-w /etc/shadow -p wa -k SHADOW
-w /etc/sudoers -p wa -k SUDOERS

# 监控关键配置文件
-w /etc/hosts -p wa -k HOSTS
-w /etc/resolv.conf -p wa -k DNS

监控特权操作

# 监控sudo使用
-a always,exit -F arch=b64 -S execve -F path=/usr/bin/sudo -k SUDO
-a always,exit -F arch=b32 -S execve -F path=/usr/bin/sudo -k SUDO

# 监控su命令
-a always,exit -F arch=b64 -S execve -F path=/bin/su -k SU
-a always,exit -F arch=b32 -S execve -F path=/bin/su -k SU

3. 应用审计规则

# 重新加载审计规则
sudo augenrules --load

4. 查看和分析审计日志

审计日志默认存储在/var/log/audit/audit.log中。

常用查看命令

# 查看所有审计日志
sudo ausearch -i

# 查看特定类型的日志(如登录)
sudo ausearch -k LOGIN -i

# 查看特定用户的日志
sudo ausearch -ui username -i

# 查看最近30分钟的事件
sudo ausearch -ts recent -i

# 生成报告
sudo aureport -i

实时监控

# 实时监控审计日志
sudo tail -f /var/log/audit/audit.log

5. 高级监控配置

设置日志轮转

编辑/etc/audit/auditd.conf确保以下设置:

max_log_file = 50   # 日志文件最大MB数
num_logs = 5        # 保留的日志文件数量

设置警报

可以配置audispd将关键事件转发到SIEM系统或发送邮件通知。

6. 自动化监控脚本

创建一个定期检查审计日志的脚本:

#!/bin/bash

# 检查失败的登录尝试
FAILED_LOGINS=$(ausearch -m USER_LOGIN --success no -i | wc -l)

# 检查特权命令使用
PRIV_CMDS=$(ausearch -k SUDO -i | wc -l)

# 检查敏感文件访问
SENSITIVE_ACCESS=$(ausearch -k PASSWD -k SHADOW -k SUDOERS -i | wc -l)

# 发送警报(如果超过阈值)
if [ $FAILED_LOGINS -gt 5 ] || [ $SENSITIVE_ACCESS -gt 0 ]; then
    echo "安全警报: 检测到可疑活动" | mail -s "安全警报" admin@example.com
fi

7. 最佳实践

  1. 定期审查审计日志(至少每周一次)
  2. 将审计日志发送到中央日志服务器
  3. 为关键事件设置自动警报
  4. 定期测试审计配置是否正常工作
  5. 保护审计日志不被篡改(设置只读权限)

通过以上配置,您可以有效监控CentOS系统中的未经授权访问尝试,并及时发现潜在的安全威胁。