一、AIDE
AIDE(Advanced Intrusion Detection Environment)是一款针对文件和目录进行完整性对比检查的程序,它被开发成Tripwire的一个替代品。
AIDE如何工作
AIDE通过构造指定文件的完整性样本库(快照),作为比对标准,当这些文件发生改动时,其对应的校验值也必然随之变化,AIDE可以识别这些变化从而提醒管理员。AIDE监控的属性变化主要包括:权限、属主、属组、文件大小、创建时间、最后修改时间、最后访问时间、增加的大小以及链接数,并能够使用SHA1、MD5等算法为每个文件生成校验码。
这款工具年纪也不小了,相对来同类工具Tripwire说,它的操作也更加简单。它需要对系统做快照,记录下HASH值,修改时间,以及管理员对文件做的预处理。这个快照可以让管理员建立一个数据库,然后存储到外部设备进行保管。
当管理员想要对系统进行一个完整性检测时,管理员会将之前构建的数据库放置一个当前系统可访问的区域,然后用AIDE将当前系统的状态和数据库进行对比,最后将检测到的当前系统的变更情况报告给管理员。另外,AIDE可以配置为定时运行,利用cron等日程调度技术,每日对系统进行检测报告。
这个系统主要用于运维安全检测,AIDE会向管理员报告系统里所有的恶意更迭情况。
AIDE的特性
- 支持消息摘要算法:md5, sha1, rmd160, tiger, crc32, sha256, sha512, whirlpool
- 支持文件属性:文件类型,文件权限,索引节点,UID,GID,链接名称,文件大小,块大小,链接数量,Mtime,Ctime,Atime
- 支持Posix ACL,SELinux,XAttrs,扩展文件系统属性
- 纯文本的配置文件,精简型的数据库
- 强大的正则表达式,轻松筛选要监视的文件和目录
- 支持Gzip数据库压缩
- 独立二进制静态编译的客户端/服务器监控配置装
[root@centos7 ~]$yuminstall-y aide
安装AIDE
下载:http://sourceforge.net/projects/aide
yum install aide vi /etc/aide.conf database=file:@@{DBDIR}/aide.db.gz #系统镜像库位置 database_out=file:@@{DBDIR}/aide.db.new.gz #新生成系统镜像库,默认在/var/lib/aide/下 # Next decide whatdirectories/files you want in the database. /boot NORMAL /bin NORMAL /sbin NORMAL /lib NORMAL /lib64 NORMAL #/opt NORMAL #注释不检查目录 /usr NORMAL /root NORMAL # These are too volatile ,排除掉个别不检查的目录 !/usr/src !/usr/tmp #根据需求在下面添加新的检测目录 /etc/exports NORMAL /etc/fstab NORMAL /etc/passwd NORMA
配置文件详解#定义了数据库路径的变量与日志路径的变量
@@define DBDIR /var/lib/aide
@@define LOGDIR /var/log/aide
#开启压缩
gzip_dbout=yes
# 将多个权限定义成规则赋给变量,便于后面引用
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
CONTENT = sha256+ftype
PERMS = p+u+g+acl+selinux+xattrs
# 采用哪种规则对哪些文件进行监控
/boot/ CONTENT_EX
/bin/ CONTENT_EX
/sbin/ CONTENT_EX
/lib/ CONTENT_EX
/lib64/ CONTENT_EX #采用CONTENT_EX定义的规则进行监测
/opt/ CONTENT #仅对opt目录进行校验码与文件类型监测
/root/\..* PERMS #PERMS并没有hash校验值,因为/root下的数据会经常变化
# 不监控的文件
!/etc/.*~ #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
定义规则
编辑配置文件/etc/adie.conf,定义一个规则变量mon,监控/app目录下所有文件,不监控/app/saomiao.log。
[root@centos7 aide]$ vim /etc/aide.conf mon = p+u+g+sha512+m+a+c /app mon !/app/juli.sh
创建数据库
生成数据库文件,在配置文件中定义各文件计算各校验码放入数据库中,用于以后比对。从提示中看出生成了一个/var/lib/aide/aide.db.new.gz数据库文件,这个数据库文件为初始数据库,如果进行入侵检测将与/var/lib/aide/aide.db.gz数据库文件作比对,如果发现两个数据库不一致则提示被入侵。
Linux如何基于AIDE检测文件系统完整性
扫一扫手机访问
