AIDE(Advanced Intrusion Detection Environment,高级***检测环境)是一个基于文件完整性检查的开源***检测工具,其官方网站位于http://aide.sourceforge.net/,目前的最新稳定版本为0.15.1。 AIDE通过构造指定文件的完整性样本库(快照),作为比对标准,当这些文件发生改动时,其对应的校验值也必然随之变化,AIDE可以识别这些变化从而提 醒管理员。AIDE监控的属性变化主要包括:权限、属主、属组、文件大小、创建时间、最后修改时间、最后访问时间、增加的大小以及链接数,并能够使用 SHA1、MD5等算法为每个文件生成校验码。 根据AIDE系统的***检测方式,正确的做法是选择在系统处于“干净”状态时建立(或者更新)样本库,如果在一个已经受感染的系统中建立样本库,则***检 测结果将是不可信的。另外,***检测的保护对象最好是不经常变动的文件,例如账号列表、服务配置、系统文件等,否则将会给识别哪些改动是***增加难度。 ##############################################################################
系统环境:
RHEL 6.2 [2.6.32-220.el6.i686]
软件环境:
aide-0.14-3.el6.i686
##############################################################################
一、安装、配置aide程序
1. 安装aide软件包
[root@localhost ~]# yum -y install aide
2. 调整aide.conf配置文件,指定要检测的对象
[root@localhost ~]# vim /etc/aide.conf
... ...
# Next decide what directories/files you want in database.
/boot NORMAL
/bin NORMAL
/sbin NORMAL
... ...
#/opt NORMAL #//注释掉不希望检查的目录树
#/root NORMAL
/usr NORMAL
!/usr/src NORMAL #//排除掉个别不希望检查的目录
!/usr/tmp NORMAL
!/etc/.*~ NORMAL
/etc/exports NORMAL
/etc/fstab NORMAL
/etc/passwd NORMAL #//根据需要添加新的检测对象
/etc/shadow NORMAL
... ...
在配置检查属性时,NORMAL等同于 R+rmd160+sha256,而PERMS等同于 p+i+u+g+acl+selinux,也可以根据需要个别设置,具体可参考文件内的说明。或者参考man aide.conf手册页,找
到 DEFAULT GROUPS 栏目,其下会有详细说明。
# These are the default rules
#
#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
... ...
二、建立、更新样本库
1. 执行初始化,建立第一份样本库
[root@localhost ~]# aide --init
... ...
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
[root@localhost ~]# cd /var/lib/aide/
[root@localhost aide]# mv aide.db.new.gz aide.db.gz #//www.it165.net改名后才能正常使用
2. 对于正常的文件编号,可以更新到样本库(必要时先执行aide --check确认无异常)
[root@localhost ~]# aide --update
[root@localhost ~]# cd /var/lib/aide/
[root@localhost aide]# mv aide.db.new.gz aide.db.gz #//替换旧的样本库
mv: 是否覆盖"aide.db.gz"? y
三、执行aide***检测
1. 查看***检测报告(重新检查,与样本库做对比,之处哪些项目存在哪些改动)
[root@localhost ~]# usermod -s /bin/sh tsengyia #//稍作修改,作为测试
[root@localhost ~]# aide --check
... ...
AIDE found differences between database and filesystem!!
Start timestamp: 2012-04-26 18:01:52
Summary:
Total number of files: 7333
Added files: 0
Removed files: 0
Changed files: 3
-------------------------------------------------------
Changed files:
-------------------------------------------------------
changed: /etc/passwd-
changed: /etc/passwd
changed: /var/log/aide/aide.log #//检测结果同时保存在此日志文件中
-------------------------------------------------------
Detailed infomation about changes:
-------------------------------------------------------
File: /etc/passwd-
Ctime : 2012-04-27 01.11:38 , 2012-0426 18:00:59
File: /etc/passwd
Size : 2421 , 2419
Mtime : 2012-04-27 01:11:38 , 2012-04-26 18:00:59
Ctime : 2012-04-27 01:11:38 , 2012-04-26 18:00:59
Inode : 414101 , 414101
MD5 : /srt2iAEqiNW4VieOTE1hw== , XEiXNNHvXVB4Ef//ju78Rg==
RMD160 : J+8BbxEV1VXpAw3AeJxb+H6rm/U= , 4sTs/S7iL24UR11KhL+7Byko51E=
SHA256 : QZBnzUX46arSCGmpkSNGAmKpEYyKylIH , 0/5E4n9HZoilGkichPj9loUtRQ6/yAl5
File: /var/log/aide/aide.log
Size : 258048 , 245760
报告的详细程度可以通过-V选项来调控,级别为0-255, -V0 最简略,-V255 最详细。
2. 保存***检测报告(将检查结果保存到其他文件)www.it165.net [root@localhost ~]# aide --check --report=file:/tmp/aide-report-20120426.txt
四、定期执行***检测,并发送报告
[root@localhost ~]# crontab -e
45 23 * * * /usr/sbin/aide -C -V4 | /bin/mail -s "AIDE REPORT $(date +%Y%m%d)" tsengyia#126.com
转载于:https://blog.51cto.com/norman20000/1017693