Linux如何基于AIDE检测文件系统完整性
作者:小雨淅淅o0 发布时间:2023-11-03 18:14:23
一、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数据库文件作比对,如果发现两个数据库不一致则提示被入侵。
[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被更改过
设置任务计划,定期检测
crontab –e
30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #每天早上08:30执行一次
也可以将信息发送到邮件:
30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ test@163.co
二、RKHunter
RKHunter工具时专门检测系统是否遭受rootkit的一个工具,他通过自动执行一系列的脚本来全面的检测服务器是否感染rootkit。
RKHunter的功能
检测易受攻击的文件;
检测隐藏文件;
检测重要文件的权限;
检测系统端口号;
安装
[root@centos7 aide]$yum install rkhunter
检测
使用命令rkhunker -c对系统进行检测。RKHunter检测会分几部分,第一部分主要检测系统的二进制工具,因为这些工具时rootkit的首要感染目标。每检测完一部分需要Enter来确认继续。
[ ok ] 表示没有异常
[ no found ] 是没有找到此工具,不用理会
[ warning ] 如果是红色的Warnning那就需要进一步确认这些工具是否被感染或者被替换。
设置任务计划,定期检测
crontab –e
30 08 * * * /usr/sbin/aide --check--report=file:/tmp/aide-check-` date +%Y%m%d `.txt #每天早上08:30执行一次
也可以将信息发送到邮件:
30 08 * * * /usr/sbin/aide --check| mail –s “AIDE report“ test@163.co
二、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
来源:https://www.cnblogs.com/xiaoyuxixi/p/12720480.html
猜你喜欢
- 有很多草根站长们做网站,都在说别人月赚几W元,别人的站流量为什么那么大之类的。语言之中透着羡慕~!其实月赚几W的人,我想在ADMIN5里也不
- 12月2日消息,据国外媒体报道,Facebook创始人马克·扎克伯格(Mark Zuckerberg)周一宣布,Facebook全球用户突破
- 老谢简单的说下怎么写网站推广方案,对你的网站推广一定有好处!推广方案是根据自己的网站而制订,说简单一点就是如何让自己的网站让更多的人知道,让
- 前几天,Google AdSense 决定采用人民币支付,消息几乎传遍了整个网络。这是很多 AdSesen 发布者都很关心的一个问题。由于之
- Godaddy主机提供的三款主机方案都支持域名绑定,但三款域名的域名的绑定个数是不同的,Economy Plan主机支持多域名绑到同一目录(
- 一、系统安装:系统安装采用光盘安装,以前一直从USB移动硬盘安装,前几天心血来潮,刻成了DVD,以示严肃和一切从头开始,呵呵。 1、安装语言
- 1.在linux系统下安装跨系统传输文件工具root用户下 根目录输入 yum -y install lrzsz2.把apache-jmet
- 为了能在已经存在iis6的服务器上运行自己的java程序,经过历时半年的尝试,今天终于搞定了,好开心啊。最开始是用iis直接连接tomcat
- 随着电子商务的进一步发展,越来越多的朋友除了开网店之外都已经有了自己的网站或者正准备做自己的网站。由于目前网站建设市场还不是很规范,所以难免
- 在WordPress 3.0中增加了自定义菜单功能,如果你在WordPress后台(外观》菜单)创建一个菜单,你可以在主题中使用wp_nav
- 开发的整个过程暂不用说,相信和大多数的站长的经历一样,设计、编码、测试再不断的做出调整,从技术的角度看我觉得即使是一个人开发,使用一些版本控
- 在购买托管计划后,你的帐户并没有自动设置好。你还需要登陆,并在Hosting Control Center完成设置过程。首先. 登陆你的Ac
- 前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过
- Permission denied:出现的原因的是:没有权限进行读、写、创建文件、删除文件等操作。解决方法:输入命令 sudo chmod
- 一款“开心农场”让众多网民非网民们见识到了WebGame的力量到底有多大,那些起早摸黑半夜钻出被窝不惧寒冷只为偷菜的人们,在所有人看来这是极
- 10月12日消息,据国外媒体报道,安全研究人员日前公布了谷歌Android移动平台的两处漏洞。开源计算机响应小组(oCert)称,这两处漏洞
- 标签做为SEO中最普及的优化手段,在SEO被人们认识的初期,站长因此项设置而明显改善了网站的搜索引擎排名大为兴奋。但随着黑帽SEO的发展,搜
- 在UNIX和LINUX平台下使用最广泛的免费HTTP服务器是W3C、NCSA和APACHE服务器,而Windows平台NT/2000/200
- 今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用。使用命令:ps -aux | grep tomcat发现并没有808
- 最近听到刀片服务器市场获得大幅度增长的消息,尤其在电信等行业,刀片服务器的市场增长率超过了100%。刀片服务器产品进入中国市场的初期,我个人