插件窝 干货文章 如何使用CentOS系统的安全审计功能来追踪系统活动

如何使用CentOS系统的安全审计功能来追踪系统活动

sudo auditctl 审计 监控 927    来源:    2025-04-15

CentOS系统安全审计功能使用指南

CentOS系统提供了强大的安全审计功能,主要通过auditd服务实现。以下是使用CentOS安全审计功能的详细步骤:

1. 安装和启动auditd服务

# 检查是否已安装
sudo yum list installed audit

# 如果未安装,则安装
sudo yum install audit

# 启动服务并设置开机自启
sudo systemctl start auditd
sudo systemctl enable auditd

2. 基本配置

主配置文件位于/etc/audit/auditd.conf,常用配置项包括:

# 日志文件位置
log_file = /var/log/audit/audit.log

# 日志文件大小限制(MB)
max_log_file = 50

# 保留的日志文件数量
num_logs = 5

# 磁盘空间不足时的操作
space_left = 75
space_left_action = email
action_mail_acct = root
admin_space_left = 50
admin_space_left_action = halt

3. 定义审计规则

临时规则(重启后失效)

# 监控文件访问
sudo auditctl -w /etc/passwd -p wa -k passwd_changes

# 监控系统调用
sudo auditctl -a always,exit -F arch=b64 -S open -S openat -F exit=-EACCES -k access_denied

永久规则

将规则添加到/etc/audit/rules.d/audit.rules文件中:

# 监控用户登录
-w /var/log/lastlog -p wa -k logins

# 监控sudo使用
-w /etc/sudoers -p wa -k sudoers_changes

# 监控特权命令执行
-a always,exit -F path=/usr/bin/su -F perm=x -F auid>=1000 -F auid!=4294967295 -k privileged

4. 常用审计规则示例

# 监控用户账户变更
sudo auditctl -w /etc/passwd -p wa -k identity
sudo auditctl -w /etc/group -p wa -k identity
sudo auditctl -w /etc/shadow -p wa -k identity

# 监控系统时间变更
sudo auditctl -w /etc/localtime -p wa -k time-change
sudo auditctl -a always,exit -F arch=b64 -S adjtimex -S settimeofday -S clock_settime -k time-change

# 监控网络配置变更
sudo auditctl -w /etc/hosts -p wa -k hosts-file
sudo auditctl -w /etc/sysconfig/network-scripts/ -p wa -k network-scripts

5. 查看审计日志

# 查看原始日志
sudo cat /var/log/audit/audit.log

# 使用ausearch工具查询
sudo ausearch -k passwd_changes  # 按key查询
sudo ausearch -m USER_LOGIN      # 按事件类型查询
sudo ausearch -ua root           # 按用户查询

# 使用aureport生成报告
sudo aureport -u                 # 用户登录报告
sudo aureport -l                 # 登录事件报告
sudo aureport -f                 # 文件访问报告
sudo aureport --summary          # 摘要报告

6. 高级功能

实时监控

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

# 或者使用
sudo auditwatch

自定义报告

# 生成自定义时间范围的报告
sudo aureport -ts 09:00 -te 17:00 -i

# 生成可疑事件报告
sudo aureport -m execve -i --summary | grep -v "0"

7. 维护和管理

# 手动旋转日志文件
sudo service auditd rotate

# 检查审计服务状态
sudo auditctl -s

# 清空所有审计规则
sudo auditctl -D

通过合理配置这些审计规则,您可以全面监控CentOS系统的各种活动,包括文件访问、用户登录、特权命令执行等,为系统安全提供有力保障。