AIDE

来自 ArchWiki

高级入侵检测环境 (AIDE) 是一个基于主机的入侵检测系统 (HIDS),用于检查文件的完整性。它通过在初始运行时创建文件基线数据库来实现这一点,然后在后续运行时对照系统检查该数据库。可以检查的文件属性包括 inode,权限,修改时间,文件内容等。

AIDE 仅执行文件完整性检查。它不像其他一些 HIDS(例如 OSSEC)那样检查恶意软件或解析日志文件以查找可疑活动。对于这些功能,您可以使用额外的 HIDS(参见 [1] 以获取可能带有偏见的比较),或使用独立的恶意软件扫描器(rkhunter,chkrootkit)和日志监控解决方案(logwatch,logcheck)。

安装

您可以安装 aideAUR 软件包,或者如果您想在启用 SELinux审计框架 的系统中使用它,您可以改为安装 aide-selinuxAUR

配置

位于 /etc/aide.conf 的默认配置文件具有基于 Fedora 的默认设置,并包含大量注释。如果您想更改规则,请参阅 aide.conf(5)AIDE 手册 以获取更多文档。

用法

要检查您的配置,请使用 aide -D

要初始化数据库,请使用 aide -iaideinit。根据您的配置和系统,此命令可能需要一段时间才能完成。

您可以使用 aide -C 对照基线数据库检查系统,或者使用 aide -u 更新基线数据库。

有关更多信息,请参阅 aide(1)

Cron

本文或本节已过时。

原因: 软件包 添加 了一个服务和一个 .timer。 请参阅安装后消息,了解如何激活它们并检查日志以获取 aide 结果。(在 Talk:AIDE 中讨论)

如果需要,可以手动运行 AIDE,但您可能希望改为自动运行。如何设置此项将取决于您的 cron 守护程序和 MUA(如果需要电子邮件通知)。

如果 cron 设置为自动邮寄所有作业输出,它可以像这样简单

#!/bin/bash -e
# these should be the same as what's defined in /etc/aide.conf
database=/var/lib/aide/aide.db.gz
database_out=/var/lib/aide/aide.db.new.gz

if [ ! -f "$database" ]; then
        echo "$database not found" >&2
        exit 1
fi

aide -u || true

mv $database $database.back
mv $database_out $database

有关更复杂的 cron 脚本的示例,请参阅 [2][3]

安全性

由于数据库存储在根文件系统中,因此如果攻击者破坏了您的系统,他们可以轻松修改它以掩盖他们的踪迹。您可能希望将数据库复制到离线只读介质,并定期对照此副本执行检查。

参见