AIDE入侵检测系统的应用

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软件包 www.2cto.com

[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