AIDE
AIDE
- AIDE(Advanced Intrusion Detection Environment)
- (高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了。
- AIDE能够构造一个指定文件的数据库,它使用conf作为其配 置文件。AIDE数据库能够保存文件的各种属性,包括:权限 (permission)、索引节点序号(inode number)、所属用户(user)、 所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间 (ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还 能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建 立每个文件的校验码或散列号.
- 这个数据库不应该保存那些经常变动的文件信息,例如:日志文件 、邮件、/proc文件系统、用户起始目录以及临时目录.
AIDE
- 安装
yum install aide
- 修改配置文件
vim /etc/aide.conf (指定对哪些文件进行检测)
/test/chameleon R
/bin/ps R+a
/usr/bin/crontab R+a
/etc PERMS !/etc/mtab #“!”表示忽略这个文件的检查
R=p+i+n+u+g+s+m+c+md5 权限+索引节点+链接数+用 户+组+大小+最后一次修改时间+创建时间+md5校验值 NORMAL = R+rmd60+sha256
安装aide
[root@localhost ~]# yum install aide
安装包信息
[root@localhost ~]# rpm -qi aide
Name : aide
Version : 0.15.1
Release : 13.el7
AIDE (Advanced Intrusion Detection Environment) is a file integrity
checker and intrusion detection program.
一个文件完整性检查和入侵检测程序。
[root@localhost ~]# rpm -ql aide
/etc/aide.conf 配置文件
/etc/logrotate.d/aide
/usr/sbin/aide 程序
/var/log/aide 日志文件路径
/var/lib/aide aide数据库的路径(会生成一个文件用于保存系统中文件的各种属性)定期的运行aide程序,去比较当前文件的状态,和存入数据库中的状态是否一致。
配置文件
在aide配置文件中定义要关注的文件或目录是什么
# Example configuration file for AIDE.
@@define DBDIR /var/lib/aide 数据库路径
@@define LOGDIR /var/log/aide 日志路径
# The location of the database to be read.
database=file:@@{DBDIR}/aide.db.gz 用这个数据库比较关注文件的状态
# The location of the database to be written.
#database_out=sql:host:port:database:login_name:passwd:table
#database_out=file:aide.db.new
database_out=file:@@{DBDIR}/aide.db.new.gz 生成新的数据库
有两个数据库,一个database_out 存的是现在要关心的具体每一个文件的状态属性,收集关心的文件的状态属性。在收集的时候就存放在这个数据库中去。将来比较的时候要把文件名改成aide.db.gz真正比较的时候是使用aide.db.gz文件进行比较的。收集数据库和比较数据库是分开的
report_url=file:@@{LOGDIR}/aide.log 日志文件路径
report_url=stdout
# These are the default rules.
#
#p: permissions 权限
#i: inode: 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 hash值
#sha1: sha1 checksum
#sha256: sha256 checksum
#sha512: sha512 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum
#haval: haval checksum (MHASH only)
#gost: gost checksum (MHASH only)
#crc32: crc32 checksum (MHASH only)
#whirlpool: whirlpool checksum (MHASH only)
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256表示关心的各种属性的集合
对于/boot文件夹
# Extended content + file type + access.
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs
/boot/ CONTENT_EX CONTENT_EX表示各种属性的集合
/bin/ CONTENT_EX
/sbin/ CONTENT_EX
/lib/ CONTENT_EX
/lib64/ CONTENT_EX
/opt/ CONTENT
!/usr/src/ 排除,不关心的文件夹
/root/\..* PERMS 支持正则表达式
示例:
CUSTOM = p+u+g+s+sha256+m+acl
/app CUSTOM
!/app/f3
使用aide工具生成要监控文件的数据库
[root@localhost ~]# aide –init
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
创建数据库,根据 写的配置文件,要监控的马哥目录下马偕文件的属性,把数据收集起来,生成数据库文件
生成的数据库文件,监控文件的各种属性
[root@localhost ~]# ls /var/lib/aide/
aide.db.new.gz
比对文件的属性,需要修改数据库文件名,改成对比数据库
[root@localhost /var/lib/aide]# mv ./aide.db.new.gz ./aide.db.gz
进行比对
[root@localhost /var/lib/aide]# aide –check
AIDE, version 0.15.1
### All files match AIDE database. Looks okay!
表示文件没有被修改过
修改要对比的文件重新检测
[root@localhost ~]# echo >> /app/f1
[root@localhost ~]# aide –check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2018-01-08 05:01:40
Summary:
Total number of files: 4 文件数量
Added files: 0
Removed files: 0
Changed files: 1 变化的文件
—————————————————
Changed files:
—————————————————
changed: /app/f1
—————————————————
Detailed information about changes:
—————————————————
File: /app/f1
Size : 595 , 596 文件大小
Mtime : 2018-01-08 04:31:50 , 2018-01-08 05:01:33 时间
SHA256 : 9HopzA3ByKba0gHU5rhIO5GCu5uzjYYF , gsv7p84621V4spFVvVOANE+Gcno/sd4U hash值
[root@localhost ~]#
所有者的改变
[root@localhost /app]# chown ding f1
[root@localhost /app]# vim f1
[root@localhost /app]# cd
[root@localhost ~]# aide –check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2018-01-08 05:03:30
Summary:
Total number of files: 4
Added files: 0
Removed files: 0
Changed files: 2
—————————————————
Changed files:
—————————————————
changed: /app
changed: /app/f1
—————————————————
Detailed information about changes:
—————————————————
Directory: /app
Mtime : 2018-01-08 04:31:52 , 2018-01-08 05:03:21
File: /app/f1
Uid : 0 , 1000
Mtime : 2018-01-08 04:31:50 , 2018-01-08 05:03:21
[root@localhost ~]#
当文件是自己修改的,需要把文件的新属性重新写入到aide的属性数据库文件中去,可以重新创建文件属性的数据库,也可以更新文件属性数据库
[root@localhost ~]# aide –update
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2018-01-08 05:06:02
Summary:
Total number of files: 4
Added files: 0
Removed files: 0
Changed files: 2
—————————————————
Changed files:
—————————————————
changed: /app
changed: /app/f1
—————————————————
Detailed information about changes:
—————————————————
Directory: /app
Mtime : 2018-01-08 04:31:52 , 2018-01-08 05:03:21
File: /app/f1
Uid : 0 , 1000
Mtime : 2018-01-08 04:31:50 , 2018-01-08 05:03:21
[root@localhost ~]#
更新之后生成的文件还是一个属性数据库文件,而不是对比数据库文件,要重新对比的时候还需要改名
[root@localhost ~]# ll /var/lib/aide
total 8
-rw——- 1 root root 342 Jan 8 04:57 aide.db.gz
-rw——- 1 root root 350 Jan 8 05:06 aide.db.new.gz
覆盖之前的比对数据库文件,重新进行文件属性的检查,应该是没有文件发生变化
[root@localhost ~]# cd /var/lib/aide/
[root@localhost /var/lib/aide]# mv ./aide.db.new.gz ./aide.db.gz
mv: overwrite ‘./aide.db.gz’? y
[root@localhost /var/lib/aide]# aide –check
AIDE, version 0.15.1
### All files match AIDE database. Looks okay!
[root@localhost /var/lib/aide]#
AIDE
- 初始化默认的AIDE的库:
/usr/local/bin/aide –init
- 生成检查数据库(建议初始数据库存放到安全的地方)
cd /var/lib/aide mv aide.db.new.gz aide.db.gz
- 检测:
/usr/local/bin/aide –check
- 更新数据库 aide –update
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/90924