优化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安全博客,提供与系统管理和安全相关的高质量文章。读者包括系统管理员、安全专业人员和审计员,他们都意图保护自己的系统。