13.13. 使用 AIDE 进行入侵检测


AIDE (高级入侵检测环境)是一个文件和目录完整性检查器。它用于检测未授权文件篡改或更改的事件。例如,如果系统密码文件发生更改,AIDE 可以提醒您。

AIDE 分析系统文件并编译文件哈希的完整性数据库。此数据库用于验证文件和目录的完整性,并检测更改。如需更多信息,请参阅 AIDE 服务支持的报告选项, 以及 AIDE 服务如何影响系统升级

流程

  1. director 包含 AIDE 服务。您可以添加 AIDE 规则,以指定 AIDE 服务用来创建其完整性数据库的目录。例如,您可以创建以下文件:

    注意

    这个示例没有主动维护或基准测试,因此您应该选择适合您的要求的 AIDE 值。

      resource_registry:
        OS::TripleO::Services::Aide:
          /usr/share/openstack-tripleo-heat-templates/deployment/aide/aide-baremetal-ansible.yaml
    
      parameter_defaults:
        AideRules:
          'TripleORules':
            content: 'TripleORules = p+sha256'
            order: 1
          'etc':
            content: '/etc/ TripleORules'
            order: 2
          'boot':
            content: '/boot/ TripleORules'
            order: 3
          'sbin':
            content: '/sbin/ TripleORules'
            order: 4
          'var':
            content: '/var/ TripleORules'
            order: 5
          'not var/log':
            content: '!/var/log.*'
            order: 6
          'not var/spool':
            content: '!/var/spool.*'
            order: 7
          'not nova instances':
            content: '!/var/lib/nova/instances.*'
            order: 8
    Copy to Clipboard Toggle word wrap

    在本例中,第一个 AIDE 规则是名为 TripleORules 的别名,它指定包含目录的所有规则的通用属性。创建并使用此别名可确保您不需要为每个规则重复这些属性。p+sha256 的指定属性代表以下 AIDE 指令:监控所有文件权限 p,其完整性为 sha256。有关创建复杂 AIDE 规则的更多信息,请参阅 创建复杂的 AIDE 规则

    有关 AIDE 属性的完整列表,请查看 AIDE MAN 页面( https://aide.github.io/)。

  2. 将设置保存为 /home/stack/templates/ 目录中名为 aide.yaml 的环境文件。
  3. openstack overcloud deploy 命令中包含此 /home/stack/templates/aide.yaml 环境文件,以及特定于您环境的所有其他必要的 heat 模板和环境文件:

    openstack overcloud deploy --templates
    ...
    -e /home/stack/templates/aide.yaml
    Copy to Clipboard Toggle word wrap

13.13.1. 创建复杂的 AIDE 规则

要提高 AIDE 规则的复杂性,您可以实施复杂的 AIDE 别名或使用支持的 AIDE 值。

您可以实施复杂的 AIDE 别名,将一组复杂的 AIDE 指令合并到您创建的所有 AIDE 规则中。您可以

例如,以下别名转换为以下 AIDE 指令:监控权限、索引节点、链接数、用户、组、大小、块数、mtime、ctime,使用 sha512 作为校验和生成:

    MyAlias = p+i+n+u+g+s+b+m+c+sha512
Copy to Clipboard Toggle word wrap
注意

别名必须是您创建的第一个 AIDE 规则,因为它会递归应用到实现它的相关规则。

别名后,您必须指定指定 AIDE 服务应包含和排除哪些目录的规则。您可以使用正则表达式。例如,使用 ! operator 排除这些特定子目录: !/var/logxz!/var/spool198.51.100.0/24

您可以在 AIDE 规则中使用以下 AIDE 值:

  • AideConfPath: aide 配置文件的完整 POSIX 路径,默认为 /etc/aide.conf。如果没有要求更改文件位置,则建议使用默认路径来坚持。
  • AideDBPath: AIDE 完整性数据库的完整 POSIX 路径。这个值是可配置的,允许操作员声明自己的完整路径,因为通常 AIDE 数据库文件存储在只读文件挂载上。
  • AideDBTempPath: AIDE 完整性临时数据库的完整 POSIX 路径。AIDE 初始化新数据库时会创建此临时文件。
  • aideHour: 这个值是设置 hour 属性作为 AIDE cron 配置的一部分。
  • AideMinute: 这个值是设置 minute 属性,作为 AIDE cron 配置的一部分。
  • AideCronUser: 这个值是将 linux 用户设置为 AIDE cron 配置的一部分。
  • AideEmail: 此值设置每次进行 cron 运行时接收 AIDE 的电子邮件地址。
  • AideMuaPath: 这个值设置邮件用户代理的路径,用于将 AIDE 报告发送到 AideEmail 中设置的电子邮件地址。

13.13.2. AIDE 服务支持的报告选项

AIDE director 服务允许您配置 cron 作业。默认情况下,它将报告发送到 /var/log/audit/

如果要使用电子邮件警报,则启用 AideEmail 参数,以将警报发送到配置的电子邮件地址。

注意

当您依赖电子邮件进行关键警报时,这个报告方法可能会容易受到系统中断和非预期的消息过滤的影响。

13.13.3. AIDE 服务对系统升级的影响

执行升级时,AIDE 服务将自动重新生成一个新的完整性数据库,以确保正确重新计算所有升级的文件,使其具有更新的校验和。

如果 openstack overcloud deploy 被调用为初始部署的后续运行,并且更改了 AIDE 配置规则,则 director AIDE 服务将重建数据库,以确保新配置属性封装在完整性数据库中。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat