AIDE(Advanced Intrusion Detection Environment,高级入侵检测环境)和Tripwire都是目前unix下著名的文件系统完整性检查工具,采用的技术核心是对每个要监控的文件提前产生一个数字签名并保存在系统中,当文件当前数字签名与保留的数字签名不一致时,那么说明我们检测的文件已经发生了改动,需要核对了。由于AIDE的使用较Tripwire更为简单方便,所以本文介绍下AIDE的用法:
通过阿里云的YUM源可以直接安装AIDE
yum install aide -y
装好AIDE后会在/etc目录产生一个配置文件aide.conf
[root@linuxe etc]# whereis aide.conf
aide: /etc/aide.conf
使用vi打开配置文件,该配置文件精简后如下
@@define DBDIR /var/lib/aide #给/var/lib/aide目录定义一个变量DBDIR
@@define LOGDIR /var/log/aide #同上
database=file:@@{DBDIR}/aide.db.gz #指定老签名文件存放路径
database_out=file:@@{DBDIR}/aide.db.new.gz #指定新签名文件存放路径
gzip_dbout=yes #采用压缩
verbose=5
report_url=file:@@{LOGDIR}/aide.log #日志文件路径
report_url=stdout #对比结果采用标准输出到屏幕
#p: permissions #指定这些字母代表的含义,如权限,所有者,访问时间等
#i: inode:
#n: number of links
#u: user
#g: group
#s: size
#b: block count
#m: mtime
#a: atime
#c: ctime
#S: check for growing size
#acl: Access Control Lists
#selinux SELinux security context
#xattrs: Extended file attributes
#md5: md5 checksum
#sha1: sha1 checksum
#sha256: sha256 checksum
#sha512: sha512 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum
#haval: haval checksum (MHASH only)
#gost: gost checksum (MHASH only)
#crc32: crc32 checksum (MHASH only)
#whirlpool: whirlpool checksum (MHASH only)
#R: p+i+n+u+g+s+m+c+acl+selinux+xattrs+md5 #可以理解为定义了一个组,把上面单独的项加入到一个组里
#L: p+i+n+u+g+acl+selinux+xattrs
#E: Empty group
#>: Growing logfile p+u+g+i+n+S+acl+selinux+xattrs
NORMAL = R+rmd160+sha256
/boot NORMAL #定义要检测的目录以及检测哪些信息,NORMAL在上面已定义
/bin NORMAL
/sbin NORMAL
/lib NORMAL
/lib64 NORMAL
/opt NORMAL
/usr NORMAL
/root NORMAL
# These are too volatile
!/usr/src #感叹号表示不检测的内容
!/usr/tmp
生成一个数字签名,该签名会作为后期比对的样本
aide -i
给刚才生成结束后的签名文件修改一个名字
[root@linuxe etc]# mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
随便修改一个文件的属性(该文件需要在aide.conf里有定义),然后再次生成数字签名,最后比对两次签名
aide --check
根据输出结果可以看到被改动过的文件以及具体修改的信息,左边是原始信息,右边是改动后的信息,可以很清楚的看到文件发生了什么变化
发表评论: