一、AIDE
AIDE全称为(Adevanced Intrusion Detection Environment)是一个入侵检测工具,主要用于检查文件的完整性,审计系统中的工具是否被更改过。
AIDE会构造一个数据库文件,当系统在稳定时将全部或指定的文件属性以密文的形式保存至数据库中。文件属性包括:权限、索引节点号、所属用户、所属用户组、文件大小、mtime、atime、ctime以及连接数。
安装
[root@CentOS7 ~]$yum install -y aide
配置文件详解
#定义了数据库路径的变量与日志路径的变量
@@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数据库文件作比对,如果发现两个数据库不一致则提示被入侵。
[root@centos7 aide]$aide --init
AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
模拟文件被入侵更改
模拟文件被修改 : 向saomiao.sh文件添加换行,促使更改校验码、Mtime、Ctime
[root@centos7 aide]$ echo >>/app/saomiao.sh
检测:AIDE的检测机制是计算出现在的数据库后与aide.db.gz比对。aide.db.gz默认又不存在,所以要将之前的创建的初始化数据库aide.db.new.gz改名为aide.db.gz。
[root@centos7 aide]$mv aide.db.new.gz aide.db.gz
入侵检测
最后使用aide -C注意是大写,将现在计算出的数据与aide.db.new.gz比对,查看数saomiao.sh文件的Mtime、CtimeSHA512被更改过
二、RKHunter
RKHunter工具时专门检测系统是否遭受rootkit的一个工具,他通过自动执行一系列的脚本来全面的检测服务器是否感染rootkit。
RKHunter的功能
检测易受攻击的文件;
检测隐藏文件;
检测重要文件的权限;
检测系统端口号;
安装
[root@centos7 aide]$yum install rkhunter
检测
使用命令rkhunker -c对系统进行检测。RKHunter检测会分几部分,第一部分主要检测系统的二进制工具,因为这些工具时rootkit的首要感染目标。每检测完一部分需要Enter来确认继续。
[ ok ] 表示没有异常
[ no found ] 是没有找到此工具,不用理会
[ warning ] 如果是红色的Warnning那就需要进一步确认这些工具是否被感染或者被替换。
如果想让程序自动检测而不是每检测完一部分就让用户确认,可以使用
rkhunter --check --skip-keypress
同时如果要想达到每周或者每月自动检测就可以将他加入到计划任务中自动执行
crontab -e
1 10 7 * * * root /usr/bin/rkhunter --check --cronjob