CentOS 8如何安装使用AIDE高级入侵检测环境
在此页
- 先决条件
- 开始
- 安装助手
- 创建并初始化数据库
- 检查助手
- 测试助手
- 自动化 AIDE 检查
- 结论
AIDE 代表“高级入侵检测环境”,是监视基于 Linux 的操作系统更改的最流行的工具之一。它用于保护您的系统免受恶意软件、病毒的侵害并检测未经授权的活动。它的工作原理是创建文件系统的数据库,并根据系统检查该数据库,以确保文件完整性并检测系统入侵。 AIDE 通过专注于已更改的文件,帮助您缩短事件响应期间的调查时间。
特点
- 支持各种属性,包括文件类型、索引节点、Uid、Gid、权限、链接数、Mtime、Ctime 和 Atime。
- 支持 Gzip 压缩、SELinux、XAttrs、Posix ACL 和扩展文件系统属性。
- 能够创建和比较各种消息摘要算法,包括 md5、sha1、sha256、sha512、rmd160、crc32 等。
- 能够通过电子邮件通知您。
在本教程中,我们将向您展示如何安装和使用 AIDE 来检测 CentOS 8 上的入侵。
先决条件
- 一台运行 CentOS 8 且内存至少为 2 GB 的服务器。
- 在您的服务器上配置了根密码。
入门
在开始之前,最好将系统更新到更新版本。运行以下命令来更新您的系统。
dnf update -y
更新系统后,重新启动它以实施更改。
安装助手
默认情况下,AIDE 在 CentOS 8 默认存储库中可用。您只需运行以下命令即可轻松安装它:
dnf install aide -y
安装完成后,您可以使用以下命令检查已安装的 AIDE 版本:
aide --version
您应该看到以下输出:
Aide 0.16
Compiled with the following options:
WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"
您还可以使用以下命令查看 aide 命令可用的所有选项:
aide --help
您应该看到以下屏幕:

创建和初始化数据库
安装 AIDE 后,您需要做的第一件事就是初始化设置。此初始化将创建服务器所有文件和目录的数据库(快照)。
运行以下命令初始化数据库:
aide --init
您应该看到以下输出:
Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 49472
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : 4N79P7hPE2uxJJ1o7na9sA==
SHA1 : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
RMD160 : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
TIGER : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
SHA256 : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
xWXT2iaEHgQ=
SHA512 : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
nDw6lgDNI/ls2esijukliQ==
End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s)
上面的命令将在 /var/lib/aide 目录中创建一个新的 AIDE 数据库 aide.db.new.gz。您可以使用以下命令查看它:
ls -l /var/lib/aide
您应该看到以下输出:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
在重命名为 aide.db.gz 之前,AIDE 不会使用新的数据库文件。您可以使用以下命令重命名它:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
建议在设定的时间段内更新此数据库,以确保对更改进行适当的监控。您还可以通过编辑 /etc/aide.conf 文件并修改 DBDIR 值来更改 AIDE 数据库的位置。
检查助手
此时,AIDE 已准备好使用新数据库。现在,在不做任何更改的情况下运行您的第一个 AIDE 检查:
aide --check
此命令将花费一些时间,具体取决于您的文件系统大小和服务器中的 RAM 量。 AIDE 检查完成后,您应该会看到以下输出:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
上面的输出表明每个文件和目录都与 AIDE 数据库匹配。
测试助手
默认情况下,AIDE 未配置为监视 Apache 默认文档根目录 /var/www/html 的文件和目录。因此,您需要配置 AIDE 以监视目录 /var/www/html。您可以通过编辑文件 /etc/aide.conf 来配置它。
nano /etc/aide.conf
在 \/root/CONTENT_EX\ 行上方添加以下行:
/var/www/html/ CONTENT_EX
完成后保存并关闭文件。
接下来,使用以下命令在 /var/www/html/ 目录中创建一个 aide.txt 文件:
echo "Test AIDE" > /var/www/html/aide.txt
现在,运行 AIDE 检查并验证助手检查是否检测到新创建的文件。
aide --check
您应该看到以下输出:
Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
上面的输出表明新创建的文件aide.txt被aide check检测到了。
接下来,最好在查看 aide check 检测到的更改后更新 AIDE 数据库。您可以使用以下命令更新 AIDE 数据库:
aide --update
更新数据库后,您应该会看到以下输出:
Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt
上面的命令将在 /var/lib/aide/ 目录中创建一个名为 aide.db.new.gz 的新数据库。
您可以使用以下命令查看它:
ls -l /var/lib/aide/
您应该看到以下输出:
total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gz
现在,再次重命名新数据库,以便 AIDE 使用这个新数据库来跟踪任何新的更改。您可以使用以下命令重命名数据库:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
现在,再次运行 AIDE 检查以检查 AIDE 是否使用新数据库:
aide --check
您应该看到以下输出:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
完成后,您可以继续下一步。
自动化 AIDE 检查
每天自动执行 AIDE 检查并通过邮件将报告发送到系统是个好主意。您可以使用 cron 作业自动执行此过程。
为此,请编辑 cron 默认配置文件,如下所示:
nano /etc/crontab
在文件末尾添加以下行以在每天上午 10:15 自动执行 AIDE 检查:
15 10 * * * root /usr/sbin/aide --check
完成后保存并关闭文件。
现在,AIDE 将通过系统邮件通知您。
您可以使用以下命令检查您的系统邮件:
tail -f /var/mail/root
您还可以使用以下命令检查 AIDE 日志:
tail -f /var/log/aide/aide.log
结论
在上面的教程中,您学习了如何使用 AIDE 了解服务器更改并识别对您的服务器的未授权访问。您可以修改 /etc/aide.conf 文件以查看您的应用程序目录或任何高级设置。出于安全原因,建议将 AIDE 数据库和配置文件保存在只读介质中。有关更多信息,您可以在 AIDE Doc 查看 AIDE 文档。