Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.5.3. 在 /etc/audit/audit.rules 文件中定义持久性审计规则和控制

要定义重启后保留的审计规则,您必须直接将其包含在 /etc/audit/audit.rules 文件中,或者使用 augenrules 程序读取位于 /etc/audit/rules.d/ 目录中的规则。/etc/audit/audit.rules 文件使用相同的 auditctl 命令行语法来指定规则。hash 符号(#)后面的空行和文本将被忽略。
auditctl 命令也可用于使用 -R 选项从指定文件读取规则,例如:
~]# auditctl -R /usr/share/doc/audit/rules/30-stig.rules

定义控制规则

文件只能包含以下控制规则来修改审计系统的行为: -b、-D、- e、- f、- r、-- loginuid-immutable--backlog_wait_time。有关这些选项的详情请参考 “定义控制规则”一节

例 7.4. audit.rules中的控制规则

# Delete all previous rules
-D

# Set buffer size
-b 8192

# Make the configuration immutable -- reboot is required to change audit rules
-e 2

# Panic when a failure occurs
-f 2

# Generate at most 100 audit messages per second
-r 100

# Make login UID immutable once it is set (may break containers)
--loginuid-immutable 1

定义文件系统和系统调用规则

文件系统和系统调用规则使用 auditctl 语法进行定义。第 7.5.1 节 “使用 auditctl定义审计规则” 中的示例可使用以下规则文件表示:

例 7.5. audit.rules中的文件系统和系统调用规则

-w /etc/passwd -p wa -k passwd_changes
-w /etc/selinux/ -p wa -k selinux_changes
-w /sbin/insmod -p x -k module_insertion

-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time_change
-a always,exit -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete

预配置规则文件

/usr/share/doc/audit/rules/ 目录中,audit 软件包根据各种认证标准提供一组预配置的规则文件:
  • 30-NISPOM.rules - 审计规则配置,这些配置符合国家工业安全计划操作手册"信息系统安全"一章中指定的要求。
  • 30-PCI-dss-v31.rules - 审计规则配置,满足支付卡行业数据安全标准(PCI DSS)v3.1 的要求。
  • 30-STIG.rules - 符合安全技术实施指南(STIG)要求的审计规则配置。
要使用这些配置文件,请创建原始 /etc/audit/audit.rules 文件的备份,并在 /etc/audit/audit.rules 文件上复制您选择的配置文件:
~]# cp /etc/audit/audit.rules /etc/audit/audit.rules_backup
~]# cp /usr/share/doc/audit/rules/30-stig.rules /etc/audit/audit.rules
注意
Audit 规则具有一个编号方案,允许对它们进行排序。要了解更多有关命名方案的信息,请参阅 /usr/share/doc/audit/rules/README-rules 文件。

使用 augenrules 定义持久性规则

augenrules 脚本读取位于 /etc/audit/rules.d/ 目录中的规则,并将它们编译到 audit.rules 文件中。这个脚本会根据自然的排序顺序按特定顺序处理以 .rules 结尾的所有文件。这个目录中的文件被组织到组中,其含义如下:
  • 10 - 内核和 auditctl 配置
  • 20 - 可与常规规则匹配但您希望不同匹配的规则
  • 30 - 主要规则
  • 40 - 可选规则
  • 50 - 服务器特定规则
  • 70 - 系统本地规则
  • 90 - 结束(不可变)
规则并非是一次性全部使用。它们是策略的一部分,应仔细考虑,并将单个文件复制到 /etc/audit/rules.d/。例如,要在 STIG 配置中设置系统,复制规则 10-base-config、30-stig、31-privileged 和 99-finalize。
/etc/audit/rules.d/ 目录中有规则后,使用 --load 指令运行 augenrules 脚本来加载它们:
~]# augenrules --load
augenrules --load No rules
enabled 1
failure 1
pid 634
rate_limit 0
backlog_limit 8192
lost 0
backlog 0
enabled 1
failure 1
pid 634
rate_limit 0
backlog_limit 8192
lost 0
backlog 1
有关审计规则和 augenrules 脚本的更多信息,请参阅 audit.rules(8)和 augenrules(8)man page。