一、auditd 常用规则模板(永久规则,直接复制)

所有规则均为永久规则,需写入 /etc/audit/rules.d/custom.rules 文件,加载后开机自动生效。按场景模块化划分,可按需勾选添加。

1. 账号安全监控(防后门用户 / 账号篡改)

bash

# 监控用户账号文件(创建/修改/删除用户)
-w /etc/passwd -p wa -k account_passwd  # 用户账号核心文件
-w /etc/group -p wa -k account_group    # 用户组文件
-w /etc/shadow -p wa -k account_shadow  # 密码哈希文件(高敏感)
-w /etc/gshadow -p wa -k account_gshadow# 组密码文件
-w /var/log/wtmp -p wa -k login_history # 登录历史记录
-w /var/log/btmp -p wa -k failed_login  # 失败登录记录

2. 权限变更监控(防提权 / 权限滥用)

bash

# 监控权限修改工具
-w /usr/bin/chmod -p xa -k perm_chmod    # 修改文件权限
-w /usr/bin/chown -p xa -k perm_chown    # 修改文件所有者
-w /usr/bin/chgrp -p xa -k perm_chgrp    # 修改文件所属组
# 监控sudo相关(权限提升关键)
-w /usr/bin/sudo -p xa -k sudo_exec      # sudo命令执行
-w /etc/sudoers -p wa -k sudoers_modify  # sudo配置文件修改
-w /etc/sudoers.d/ -p wa -k sudoers_d_modify # sudo附加配置目录

3. 敏感目录 / 文件监控(防数据泄露 / 篡改)

bash

# 业务数据目录(替换为实际路径)
-w /data/ -p rwxa -k sensitive_data     # 递归监控/data目录(读/写/执行/属性变更)
-w /var/www/html/ -p rwxa -k web_data  # Web网站根目录(适用于Web服务器)
# 系统敏感文件
-w /etc/profile -p wa -k profile_modify # 环境变量配置文件
-w /etc/bashrc -p wa -k bashrc_modify   # Bash配置文件
-w /etc/hosts -p wa -k hosts_modify     # 主机映射文件

4. 危险命令监控(防误删 / 恶意破坏)

bash

# 文件删除/移动命令
-w /usr/bin/rm -p xa -k cmd_rm          # 删除文件(高危)
-w /usr/bin/rmdir -p xa -k cmd_rmdir    # 删除目录
-w /usr/bin/mv -p xa -k cmd_mv          # 移动/重命名文件
# 系统操作命令
-w /usr/bin/reboot -p xa -k cmd_reboot  # 重启系统
-w /usr/bin/shutdown -p xa -k cmd_shutdown # 关闭系统
-w /usr/bin/dd -p xa -k cmd_dd          # 磁盘读写(防数据擦除)

5. SSH 安全监控(防暴力破解 / 配置篡改)

bash

# SSH配置文件监控
-w /etc/ssh/sshd_config -p wa -k sshd_config # SSH服务配置
-w /etc/ssh/ssh_config -p wa -k ssh_config  # SSH客户端配置
# SSH登录日志监控(按系统区分)
-w /var/log/auth.log -p r -k ssh_login_ubuntu # Ubuntu SSH登录日志
# -w /var/log/secure -p r -k ssh_login_centos # CentOS SSH登录日志

6. 系统脚本 / 启动项监控(防恶意篡改)

bash

# 系统启动脚本
-w /etc/init.d/ -p wa -k init_script     # 系统服务脚本目录
-w /etc/rc.local -p wa -k rc_local       # 开机自启脚本
-w /etc/systemd/system/ -p wa -k systemd_service # systemd服务配置
# 定时任务监控(防恶意计划任务)
-w /etc/crontab -p wa -k crontab_modify  # 系统定时任务
-w /etc/cron.d/ -p wa -k cron_d_modify   # 定时任务附加目录
-w /var/spool/cron/ -p wa -k cron_spool  # 用户定时任务

规则加载与验证(必执行)

bash

# 1. 保存规则文件后,设置权限(防止被篡改)
sudo chown root:root /etc/audit/rules.d/custom.rules
sudo chmod 600 /etc/audit/rules.d/custom.rules

# 2. 加载规则(立即生效,无需重启auditd)
sudo augenrules --load

# 3. 验证规则是否生效
sudo auditctl -l

二、auditd 日志分析速查表(核心命令直接复制)

审计日志默认路径:/var/log/audit/audit.log,核心工具为 ausearch(精准查询)和 aureport(统计报表),按功能分类整理。

2.1 ausearch:精准查询日志(应急响应首选)

功能场景 命令 参数说明
按关键词查询(最常用) sudo ausearch -k account_passwd -i -k:规则关键词;-i:人性化输出
查询指定时间范围日志 sudo ausearch -k sensitive_data -ts 2024-06-01 -te 2024-06-02 -i -ts:开始时间;-te:结束时间
查询今日日志 sudo ausearch -k cmd_rm -ts today -i today:简化时间(支持yesterday
查询失败事件 sudo ausearch -m SYSCALL -f exit=-EPERM -i -m:事件类型;exit=-EPERM:权限失败
查询文件变更记录 sudo ausearch -f /etc/passwd -i -f:指定文件路径
查询进程执行记录 sudo ausearch -x /usr/bin/sudo -i -x:指定进程名
导出查询结果 sudo ausearch -k ssh_login_ubuntu -i > ssh_audit.log 导出到文件,便于分析

2.2 aureport:生成统计报表(合规审计首选)

统计场景 命令 核心作用
总体事件统计 sudo aureport -i 按事件类型汇总(如账号变更、权限修改)
按用户统计操作 sudo aureport -u -i 定位高频操作用户(防异常账号)
按进程统计执行 sudo aureport -x -i 统计进程执行次数(排查恶意进程)
按文件统计变更 sudo aureport -f -i 汇总被修改的文件(防数据篡改)
失败事件报表 sudo aureport -f --failed -i 仅显示失败操作(如登录失败、权限不足)
时间范围报表 sudo aureport -ts 09:00 -te 18:00 -i 统计工作时间内的审计事件
SSH 登录统计 sudo aureport -k ssh_login_ubuntu -i 按关键词统计 SSH 相关事件

2.3 应急筛选:快速定位异常(直接复制)

bash

# 1. 快速查找/etc/passwd被修改的记录
sudo grep account_passwd /var/log/audit/audit.log | tail -20

# 2. 查找最近10条rm命令执行日志
sudo ausearch -k cmd_rm -i | tail -10

# 3. 查找SSH登录失败记录
sudo ausearch -k failed_login -i

# 4. 查找sudo执行的高危操作
sudo ausearch -k sudo_exec -i | grep "rm\|chmod 777"

# 5. 查找敏感目录/data的异常访问
sudo ausearch -k sensitive_data -i | grep "WRITE\|DELETE"

三、使用注意事项

🔴 核心提醒:

  1. 规则加载:修改永久规则后,必须执行 sudo augenrules --load 才能生效;
  2. 日志安全:审计日志权限设为 600chmod 600 /var/log/audit/audit.log),仅 root 可读写,防止被篡改;
  3. 性能优化:避免监控 / 根目录或高 IO 目录(如数据库数据目录),否则会导致系统卡顿;
  4. 日志轮转:调整 /etc/audit/auditd.conf 中的 max_log_file=100(单日志 100MB)和 num_logs=5(保留 5 个轮转日志),防止磁盘占满;
  5. CentOS 7 特殊:auditd 无法重启,修改 auditd.conf 后需重启系统,优先使用永久规则避免临时规则丢失。:::

实战优化技巧

  1. 关键词命名规范:统一用 “场景_操作” 格式(如account_passwdcmd_rm),便于日志过滤;
  2. 模块化管理:规则文件按 “场景注释 + 规则” 分组,后续可按需启用 / 禁用;
  3. 远程备份:将审计日志同步到 ELK、Graylog 等远程日志服务器,防止本地日志被删除。

四、总结

  1. 规则模板核心:按 “账号安全→权限变更→敏感数据→危险命令” 优先级配置,覆盖 80% 企业安全场景;
  2. 日志分析逻辑:应急响应用 ausearch 精准查询,合规审计用 aureport 生成报表;
  3. 落地建议:先配置 “账号安全 + SSH 安全 + 危险命令” 核心规则,再根据业务需求添加敏感目录监控。

所有规则和命令均可直接复制执行,无需手动编写,适合 Linux 运维、安全工程师快速部署 auditd 审计系统。


文末互动

觉得文章实用,点赞 + 收藏 + 关注,后续持续更新 Linux 安全加固、应急响应实战工具包!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐