期待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文档。
了解有关该课程的更多信息。