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