技术教程 · 2020年2月6日 0

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

AIDE代表“高级入侵检测环境”,它是监视基于Linux的操作系统的更改的最受欢迎的工具之一。它用于保护您的系统免受恶意软件,病毒的侵害并检测未经授权的活动。它通过创建文件系统的数据库并针对系统检查该数据库以确保文件完整性并检测系统入侵来工作。AIDE通过专注于已更改的文件来帮助您缩短事件响应期间的调查时间。

特征

  • 支持各种属性,包括文件类型,索引节点,Uid,Gid,权限,链接数,Mtime,Ctime和Atime。
  • 支持Gzip压缩,SELinux,XAttrs,Posix ACL和扩展文件系统属性。
  • 能够创建和比较各种消息摘要算法,包括md5,sha1,sha256,sha512,rmd160,crc32等。
  • 能够通过电子邮件通知您。

在本教程中,我们将向您展示如何安装和使用AIDE来检测CentOS 8上的入侵。

先决条件

  • 运行至少2 GB RAM的CentOS 8的服务器。
  • 在您的服务器上配置了root密码。

入门

在开始之前,最好将系统更新到更新的版本。运行以下命令以更新系统。

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)

上面的命令将在/ 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检查是否检测到新创建的文件。

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数据库:

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 AM自动执行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文档。

原文:https://www.howtoforge.com/how-to-install-and-use-aide-on-centos-8/