优化auditd:高性能Linux审计
Linux审计框架是一个强大的系统事件审计工具。从运行可执行文件到系统调用,所有操作都可以被记录。然而,所有这些审计日志记录都会以降低系统性能为代价。让我们来看看如何优化审计规则。
性能提示
良好的auditd性能将减轻Linux内核的压力并降低其影响。在对系统进行任何更改之前,我们建议在调整前后对系统性能进行基准测试。这样您可以看到调整工作的好处。
策略:规则排序
按正确顺序放置规则
许多软件包使用"基于顺序的规则处理"。这意味着每个规则都会被评估,直到有一个匹配为止。对于Linux审计守护进程,这个原则同样适用。
因此,最大的调优领域之一是规则的顺序。最常发生的事件应该放在顶部,“例外"情况放在底部。
如果您的Linux审计设置是按字母顺序完成的,可以确定这种配置没有针对性能进行优化。让我们继续在其他方面调优auditd。
策略:排除事件
确定使用频繁的消息类型
记录事件的挑战在于确保记录所有重要事件,同时避免记录不需要的事件。
一些管理员应用"记录所有内容"的规则。虽然这通常有意义,但绝对不高效,并且会降低Linux内核的性能。这种记录方式肯定会减少auditd的处理时间,并对内核性能产生负面影响。
为了增强日志记录,我们首先需要确定哪些事件经常出现。
按可执行文件排序的大多数事件
|
|
按系统调用(syscall)排序的大多数事件
|
|
这将显示哪些可执行文件或系统调用正在淹没您的审计日志。通过定义”-ts today",我们只看到最近的事件。
aureport的输出通过禁用某些事件,确实有助于减少日志记录量。当然,您也可以对事件、文件和其他类型执行此操作。有关更多详细信息,请参阅aureport的手册页。
忽略事件
现在我们知道了拥有的文件类型、事件或其他消息,我们可以忽略它们。为此,我们必须制定一个规则,该规则匹配并声明排除exit语句。
exit语句与系统调用一起使用,对于其他情况,我们使用exclude。
按消息类型过滤
例如,要禁用所有"CWD"(当前工作目录),我们可以使用如下规则:
|
|
由于第一个匹配项获胜,排除项必须放在规则链的顶部。由于这是基于消息类型的过滤器,我们使用exclude。
按多个规则过滤
另一个示例是抑制VMware工具记录的消息。为此,我们通过提供多个-F参数将多个规则组合在一起。您最多可以使用64个字段,但通常几个就足够了。使用-F时,每个表达式都将使用逻辑AND语句进行检查。这意味着所有字段都必须为真,才能触发审计规则集的操作。
|
|
注意:某些示例在旧机器上可能会有不同的结果。因此,始终测试每个规则以确定其是否有效。不做任何事情的规则只会对性能产生负面影响。
策略:确定缓冲需求
为auditd调优缓冲区需求
默认情况下,auditctl在使用-s(状态)标志时可以提供一些统计信息。它显示其状态(启用)、任何相关标志、进程ID和日志相关统计信息(积压、速率、丢失)。
|
|
允许更大的缓冲区意味着对内存资源的更高需求。根据您的机器,这可能是一个小的牺牲,以确保所有事件都被记录。
要确定最佳缓冲区大小,请监控积压值。它们不应超过backlog_limit选项(在我们的例子中为320)。另一个有用的统计信息是监控丢失值,因为它会告诉您有多少事件无法处理。在正常系统上,此值应等于或接近零。
策略:监控目录
监控特定目录时使用path而不是dir
有两种方法可以监控目录的内容:path或dir。
根据您要监控的内容,可能不需要监控子目录。在这种情况下,最好使用path选项,因为它只监控该目录。这是一个小的调整,可能会为您节省大量不必要的审计日志记录。
本文中的相关命令
想了解更多关于本文中使用的命令?查看一下,其中一些还有速查表可用。
- auditctl
- aureport
查看完整的Linux命令列表以获取其他系统管理工具。
下一步!
想了解更多关于Linux安全的信息?看看开源工具Lynis,自己成为Linux安全专家。
Lynis
Lynis是一个经过实战检验的基于Unix系统的技术安全审计工具。它是开源的,免费可用,并被世界各地的系统管理员使用。其他用户包括安全专业人员、渗透测试人员和IT审计员。
工具信息
- 成本:免费
- 许可证:GPLv3
链接
- GitHub项目
- 软件包(deb/rpm)
- Tarball
- 访问项目页面
反馈
本文由我们的Linux安全专家Michael Boelen撰写。他专注于创建高质量的文章和相关示例,希望改进Linux安全领域。不再有充满复制粘贴博客文章的网页。
发现过时信息或有疑问?分享您的想法。感谢您的贡献!
相关文章
想了解更多?以下是同一类别或具有相似标签的文章列表。
- Linux审计框架101 – 配置基本规则
- Linux审计:/var/log/audit中的日志文件
- 通过捕获execve系统调用记录root操作
- 交换内存信息
- Linux DNS调优以提高性能和弹性
◼ 上一篇文章:Linux审计框架101 – 配置基本规则
页面详细信息和相关文章
页面信息
本文有821个单词,最后更改或审核于2025-03-16。
主题
- 会计
- 审计
- 故障排除
隐私优先,无跟踪,无cookie!
我们的绿色倡议:可持续网页设计
保持最新 @mboelen at Mastodon RSS Atom feed or JSON Feed 网站地图 最新更改
Linux Audit是Linux安全博客,提供与系统管理和安全相关的高质量文章。读者包括系统管理员、安全专业人员和审计员,他们都希望保护自己的系统安全。