如何在CentOS 8上安装和使用AIDE(高级入侵检测环境)

课程开始前 《Linux 管理员》 我们准备了有趣材料的翻译。

如何在CentOS 8上安装和使用AIDE(高级入侵检测环境)

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

如何在CentOS 8上安装和使用AIDE(高级入侵检测环境)

创建并初始化数据库

安装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

添加评论