第 11 章 审计系统
审计不会为您的系统提供额外的安全,而是用于发现系统上使用的安全策略的违规。可以通过其他安全措施(如 SELinux)进一步防止这些违规。
11.1. Linux 审计
Linux 审计系统提供了一种跟踪您的系统与安全相关的信息的方法。根据预配置的规则,审计会生成日志条目,来尽可能多地记录系统上所发生的事件的相关信息。对于关键任务环境而言至关重要,可用来确定安全策略的违反者及其所执行的操作。
以下列表总结了审计可以在其日志文件中记录的一些信息:
- 事件的日期、时间、类型和结果
- 主题和对象的敏感度标签
- 事件与触发事件的用户身份的关联
- 所有对审计配置的修改,并尝试访问审计日志文件
- 所有身份验证机制的使用,如 SSH 和 Kerberos 等
-
对任何可信数据库的更改,如
/etc/passwd
- 尝试向或从系统导入或导出信息
- 根据用户身份、主题和对象标签和其他属性包含或排除事件
审计系统的使用也是许多安全相关认证的一项要求。审计旨在满足或超出以下认证或合规指南的要求:
- 受控访问保护配置文件(CAPP)
- 标记的安全保护配置文件(LSPP)
- 规则集基本访问控制(RSBAC)
- 国家工业安全计划操作手册(NISPOM)
- 联邦信息安全管理法案(FISMA)
- 支付卡行业 - 数据安全标准(PCI-DSS)
- 安全技术实施指南(STIG)
审计还包括:
- 由国家信息保障合作伙伴(NIAP)和最佳安全行业(BSI)进行评估.
- 在 Red Hat Enterprise Linux 5 上认证到 LSPP/CAPP/RSBAC/EAL4+
- 在 Red Hat Enterprise Linux 6 上认证到操作系统保护配置文件/评估保证级别 4+(OSPP/EAL4+)
使用案例
- 监视文件访问
- 审计可以跟踪文件或目录是否已被访问、修改、执行或文件属性是否已被改变。例如,这有助于检测对重要文件的访问,并在其中一个文件损坏时提供审计跟踪。
- 监控系统调用
-
可将审计配置为在每次使用特定系统调用时生成日志条目。例如,这可用于通过监控
settimeofday
、clock_adjtime
和其他与时间相关的系统调用来跟踪对系统时间的修改。 - 记录用户运行的命令
-
审计可以跟踪文件是否已被执行,因此可以定义一个规则以记录每次特定命令的执行。例如,可以对
/bin
目录中的每个可执行文件定义一个规则。然后,可以按用户 ID 搜索生成的日志条目,以生成每个用户所执行的命令的审计跟踪。 - 记录系统路径名称的执行
- 除了观察在规则调用时将路径转换为 inode 的文件访问之外,审计现在还可以观察路径的执行,即使路径在规则调用中不存在,或者在规则调用后文件被替换了。这允许规则在升级程序可执行文件后或甚至在其安装之前继续运行。
- 记录安全事件
-
pam_faillock
认证模块能够记录失败的登录尝试。也可以将审计设置为记录失败的登录尝试,并提供试图登录的用户的额外信息。 - 搜索事件
-
审计提供了
ausearch
工具,可用于过滤日志条目,并根据多个条件提供完整的审计跟踪。 - 运行总结报告
-
aureport
实用程序可用于生成记录事件的日常报告等。然后,系统管理员可以分析这些报告,并进一步调查可疑的活动。 - 监控网络访问
-
nftables
、iptables
和ebtables
工具可以配置为触发审计事件,使系统管理员能够监控网络访问。
注意
系统性能可能会受到影响,具体取决于审计所收集的信息量。