课程开始前
AIDE 代表“高级入侵检测环境”,是用于监视基于 Linux 的操作系统中的变化的最流行的系统之一。 AIDE 用于防范恶意软件、病毒并检测未经授权的活动。 为了验证文件完整性并检测入侵,AIDE 创建文件信息数据库并将系统的当前状态与该数据库进行比较。 AIDE 通过关注已修改的文件来帮助减少事件调查时间。
辅助功能:
- 支持多种文件属性,包括:文件类型、inode、uid、gid、权限、链接数、mtime、ctime、atime。
- 支持 Gzip 压缩、SELinux、XAttrs、Posix ACL 和文件系统属性。
- 支持多种算法包括md5、sha1、sha256、sha512、rmd160、crc32等
- 通过电子邮件发送通知。
在本文中,我们将了解如何在 CentOS 8 上安装和使用 AIDE 进行入侵检测。
先决条件
- 运行 CentOS 8 的服务器,至少具有 2 GB RAM。
- 根访问权限
入门
建议先更新系统。 为此,请运行以下命令。
dnf update -y
更新后,重新启动系统以使更改生效。
安装AIDE
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)
上面的命令将创建一个新的数据库 aide.db.new.gz
在目录中 /var/lib/aide
。 可以使用以下命令查看:
ls -l /var/lib/aide
结果:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz
AIDE 将不会使用这个新的数据库文件,直到将其重命名为 aide.db.gz
。 这可以按如下方式完成:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
建议您定期更新此数据库,以确保正确监控更改。
您可以通过更改参数来更改数据库的位置 DBDIR
在文件中 /etc/aide.conf
.
运行扫描
AIDE 现在已准备好使用新数据库。 运行第一个 AIDE 检查而不进行任何更改:
aide --check
该命令将需要一些时间才能完成,具体取决于文件系统的大小和服务器上的 RAM 量。 扫描完成后,您应该看到以下内容:
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来查看它。 为此,您需要更改文件 /etc/aide.conf
.
nano /etc/aide.conf
添加上面的行 "/root/CONTENT_EX"
以下内容:
/var/www/html/ CONTENT_EX
接下来,创建一个文件 aide.txt
在目录中 /var/www/html/
使用以下命令:
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 数据库。
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
上面的命令将创建一个新的数据库 aide.db.new.gz
在目录中
/var/lib/aide/
您可以使用以下命令查看它:
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 --check
您应该看到以下内容:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!
我们自动化检查
每天进行 AIDE 检查并邮寄报告是个好主意。 这个过程可以使用 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 配置文件。 出于安全原因,建议将数据库和配置文件存储在只读介质上。 更多信息可以在文档中找到
来源: habr.com