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

期待Linux Administrator课程的开始,我们准备了一些有趣的材料的翻译。




AIDE代表“高级入侵检测环境”,它是用于监视基于Linux的操作系统的更改的最受欢迎的系统之一。AIDE用于防止恶意软件,病毒和检测未经授权的操作。为了检查文件完整性和入侵检测,AIDE创建了一个具有文件信息的数据库,并将系统的当前状态与此数据库进行比较。AIDE通过专注于已修改的文件来帮助减少事件调查时间。

AIDE功能:

  • 支持各种文件属性,包括:文件类型,inode,uid,gid,权限,链接数,mtime,ctime和atime。
  • 支持Gzip,SELinux,XAttrs,Posix ACL和文件系统属性压缩。
  • 支持各种算法,包括md5,sha1,sha256,sha512,rmd160,crc32等
  • 邮件通知。

在本文中,我们将研究如何安装和使用AIDE来检测CentOS 8中的入侵。

先决条件


  • 运行带有至少2 GB RAM的CentOS 8的服务器。
  • 根访问权限

入门


建议您首先升级系统。为此,请运行以下命令。

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


默认情况下,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。出于安全原因,建议您将数据库和配置文件存储在只读介质上。有关更多信息,请参见AIDE Doc文档



了解有关该课程的更多信息。



All Articles