8.11. 使用 AIDE 进行入侵检测
AIDE (高级入侵检测环境)是一个文件和目录完整性检查程序。它用于检测未授权文件篡改或更改的事件。例如,如果系统密码文件改变,AIDE 可以提醒您。
AIDE 通过分析系统文件,然后编译文件哈希的完整性数据库来工作。然后,数据库充当比较点,以验证文件和目录的完整性并检测更改。
director 包括 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
上例没有主动维护或基准,因此您应该选择适合您的要求的 AIDE 值。
-
声明名为
TripleORules的别名,以避免每次都重复使用相同的属性。 -
别名接收
p+sha256属性。在 AIDE 术语中,这会被解释为:监视所有文件权限p,带有完整性 checksumsha256。
有关 AIDE 配置文件可用属性的完整列表,请参见 的 AIDE MAN 页面(https://aide.github.io/)。
完成以下步骤,将更改应用到您的部署:
-
将设置保存为
/home/stack/templates/目录中的名为aide.yaml的文件。 -
编辑
aide.yaml环境文件,使其包含适合您的环境的参数和值。 在
openstack overcloud deploy命令中包含/home/stack/templates/aide.yaml环境文件,以及特定于您的环境的所有其他必要的 heat 模板和环境文件:openstack overcloud deploy --templates ... -e /home/stack/templates/aide.yaml
8.11.1. 使用复杂 AIDE 规则 复制链接链接已复制到粘贴板!
可使用前面描述的格式创建复杂规则。例如:
MyAlias = p+i+n+u+g+s+b+m+c+sha512
以上将转换为以下说明:监控权限、索引节点、链接数、用户、组、大小、块计数、mtime、ctime、ctime,使用 sha256 进行校验和生成。
请注意,别名应始终具有 1 顺序位置,这意味着它位于 AIDE 规则的顶部,并递归应用到以下所有值。
如下是要监控的目录。请注意,可以使用正则表达式。例如,我们为 var 目录设置了监控,但使用了 not(!)语句('!/var/log.*' 和 '!/var/spool.*')进行了覆盖。
8.11.2. 其他 AIDE 值 复制链接链接已复制到粘贴板!
以下 AIDE 值也可用:
aide ConfPath :到 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 中设置的电子邮件地址。
8.11.3. AIDE 的 Cron 配置 复制链接链接已复制到粘贴板!
AIDE director 服务允许您配置 cron 作业。默认情况下,它会将报告发送到 /var/log/audit/; 如果您要使用电子邮件警报,则启用 AideEmail 参数将警报发送到配置的电子邮件地址。请注意,依赖关键警报的电子邮件可能会受到系统中断和意外消息过滤的影响。
8.11.4. 考虑系统升级的影响 复制链接链接已复制到粘贴板!
执行升级时,AIDE 服务将自动重新生成新的完整性数据库,以确保正确重新计算所有升级的文件,使其具有更新的校验和。
如果 openstack overcloud deploy 作为后续运行调用到初始部署,并且更改了 AIDE 配置规则,director AIDE 服务将重建数据库,以确保新配置属性封装在完整性数据库中。