1、aide的概述
AIDE(Adevanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文本的完整性。
AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档。AIDE数据库能够保存文档的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文档大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小连同连接数。AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文档的校验码或散列号。
推荐阅读:
Linux服务器入侵后日志文件删除/恢复方法 http://www.linuxidc.com/Linux/2013-07/86957.htm
网络入侵检测和阻止引擎 Suricata http://www.linuxidc.com/Linux/2012-08/68794.htm
Snort + Base 入侵检测配置 http://www.linuxidc.com/Linux/2013-02/79805.htm
常见的入侵检测软件:
1、tripwire–操作比较复杂
2、aide–用以代替tripwire的一款新产品
文件系统入侵检测的原理:
1、当系统处于健康状态时,把系统所有的文件做各种指纹的检验,得出一个检验基准数据库。
2、不是所有的文件都需要保存指纹,临时文件(/var/log | /tmp | /var/tmp | /proc | /sys | /dev/shm…)
3、需要检验文件是否被更改,只需要把基准数据对应指纹值做对比,就可以得知哪些文件被更改过。
4、每天把检验的结果以邮件或者其它方式发送管理员。
2、aide部署
1.从结帽官方获取最新的src rpm包
# wget ftp://ftp.RedHat.com/redhat/linux/enterprise/5Server/en/os/SRPMS/aide-0.13.1-6.el5.src.rpm
# rpm -ivh aide-0.13.1-6.el5.src.rpm
# rpmbuild -bb /usr/src/redhat/SPEC/aide.spec
# rpm -ivh /usr/src/redhat/RPMS/i386/aide-0.13.1-6.el5.src.rpm
或者直接用yum来安装
#yum -y install aide
3、aide的初级使用
1)新建一个目录,里边放一些测试文件
# mkdir /aide_test_check
# cp /etc/hosts* /aide_test_check
# grep -v ^# /etc/aide.conf |grep -v ^$ > /etc/aide2.conf
# mv /etc/aide2.conf /etc/aide.conf
mv: overwrite `/etc/aide.conf’? y
2)定义配置文件,及被临控的目录
# cp /etc/aide.conf /etc/aide.conf.bak
# vim /etc/aide.conf
@@define DBDIR /var/lib/aide–基准数据库目录
@@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
R=p+i+n+u+g+s+m+c+acl+xattrs+md5
L=p+i+n+u+g+acl+xattrs
>=p+u+g+i+n+S+acl+xattrs
ALLXTRAHASHES = sha1+rmd160+sha256+sha512+tiger
EVERYTHING = R+ALLXTRAHASHES
NORMAL = R+rmd160+sha256
DIR = p+i+n+u+g+acl+xattrs
PERMS = p+i+u+g+acl
LOG = >
LSPP = R+sha256
DATAONLY = p+n+u+g+s+acl+xattrs+md5+sha256+rmd160+tiger
/aide_check_test NORMAL
3)初始化数据库:
# /usr/sbin/aide -c /etc/aide.conf –init
AIDE, version 0.13.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
接下来请看第2页:http://www.linuxidc.com/Linux/2013-08/88282p2.htm
4)把初始化的数据库当做基准数据库
# cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz
5)测试AIDE能否发现文件更改
# cp /etc/passwd /aide_test_check/
# rm -rf /aide_test_check/hosts
# echo hello > /aide_test_check/hosts.allow
# /usr/sbin/aide -c /etc/aide.conf –check
# /usr/sbin/aide -c /etc/aide.conf –check
AIDE found differences between database and filesystem!!
Start timestamp: 2012-07-10 15:03:17
Summary:
Total number of files: 6
Added files: 1
Removed files: 1
Changed files: 2
—————————————————
Added files:
—————————————————
added: /aide_test_check/passwd
—————————————————
Removed files:
—————————————————
removed: /aide_test_check/hosts
—————————————————
Changed files:
—————————————————
changed: /aide_test_check
changed: /aide_test_check/hosts.allow
————————————————–
Detailed information about changes:
—————————————————
Directory: /aide_test_check
Mtime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40
Ctime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40
File: /aide_test_check/hosts.allow
Size : 161 , 166
Mtime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40
Ctime : 2012-07-10 14:43:18 , 2012-07-10 14:54:40
Inode : 1678982 , 1678985
MD5 : Jf16ip7EeUlg7xmKYPZtIg== , fbZt8P2s5dOjQHh3Wer2UQ==
RMD160 : sZxwc595gS7oA92r3vt/0bf6IvE= , XIEY/gh5Xl+ucwrwLkbk8DFr0Mo=
SHA256 : 2xfzPtX0u7LS231etvkgOCGqrDK0ViKj , M5Gh2f/I2GwR4fF6eNhF+5LM3gob226S
6)如果上面的更改合法的操作,需要更新基准数据库:
# /usr/sbin/aide -c /etc/aide.conf –update
# cd /var/lib/aide
# cp aide.db.new.gz aide.db.gz
cp: overwrite `aide.db.gz’? y
7)把报告发往邮箱:
# /usr/sbin/aide -c /etc/aide.conf –check |mail -s “test aide” root@localhost