AIDE ( Advanced Intrusion Detection Environment )是一个小型但是功能强大的免费开源入侵检测工具,它使用预定义的规则来检查类Unix操作系统(如Linux )中的文件和目录完整性,它是一个独立的静态二进制文件,用于简化客户端/服务器监视配置。
它功能丰富:使用纯文本配置文件和数据库,易于使用;支持几种消息摘要算法,包括但不限于md,sha,rmd160,tiger;支持通用文件属性;还支持强大的正规表达式,有选择地包含或排除要扫描的文件和目录。
还可以自定义编译它支持Gzip压缩,Posix ACL,SELinux,XAttrs和扩展文件系统属性。
本指南将展示如何在Linux中安装和使用aide。
在Linux,如何安装AIDE
Aide打包在主流Linux发行版的官方存储库中,要安装它,请使用程序包管理器运行命令。# apt install aide [On Debian/Ubuntu]
# yum install aide [On RHEL/CentOS]
# dnf install aide [On Fedora 22+]
# zypper install aide [On openSUSE]
# emerge aide [On Gentoo]
安装后,主配置文件为/etc/aide.conf,要查看已安装的版本和编译时参数,请在终端上运行以下命令:# aide -v例子输出Aide 0.14
Compiled with the following options:
WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE ="/etc/aide.conf"
可以使用你喜欢的编辑器打开配置。# vi /etc/aide.conf
它有定义数据库位置、报表位置、默认规则、要包含在数据库中的目录/文件的指令。
除了默认规则,还可以在aide.conf文件中定义新的自定义规则,例如,PERMS =p+u+g+acl+selinux+xattrs
PERMS规则仅用于访问控制,它基于文件/目录权限、用户、组、访问控制权限、 SELinux上下文和文件属性检测对文件或目录的更改。
这将只检查文件内容和文件类型。CONTENT =sha256+ftype
这是先前规则的扩展版本,它检查扩展内容,文件类型和访问。CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
下面的DATAONLY规则将有助于检测所有文件/目录中数据的更改。DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256
定义监视文件和目录的规则
定义了规则之后,就可以指定要监视的文件和目录,考虑上面的PERMS规则,这个定义将检查root目录中所有文件的权限。/root/..* PERMS
这将检查/root目录中的所有文件,以获得更改。/root/ CONTENT_EX
要帮助你检测/etc/下所有文件/目录中数据的更改,请使用此选项。/etc/ DATAONLY
使用AIDE检查Linux中的文件和目录完整性
首先根据使用--init标志执行的检查构造数据库,在系统连接到网络之前,需要执行此操作。
下面的命令将创建一个数据库,其中包含你在配置文件中选择的所有文件。# aide --init>
初始化Aide数据库
然后使用此命令将数据库重命名为/var/lib/aide/aide.db.gz。# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
建议将数据库移动到可能位于只读媒体或另一台计算机上的安全位置,但是请确保更新配置文件以便从该位置读取。
创建数据库后,现在可以使用--check标志检查文件和目录的完整性。# aide --check
它将读取数据库中的快照,并将它与系统磁盘上找到的文件/目录进行比较,如果它发现更改,将生成一个报告,然后你可以查看。
运行文件完整性检查
由于没有对文件系统进行更改,因此你只能得到与上面类似的输出,现在,在配置文件中定义的区域中尝试在文件系统中创建一些文件。# vi /etc/script.sh
# touch all.txt
然后再次运行检查,它会报告刚才添加的文件,# aide --check>
检查文件系统更改
你需要定期运行aide检查,并且在对已选择的文件的更改或在配置文件中添加新的文件定义的情况下,始终使用:--update选项更新数据库# aide --update
运行数据库更新后,要使用新数据库进行后续扫描,请始终将它重命名为/var/lib/aide/aide.db.gz:# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz