Linux操作系统入侵检测AIDE

 Linux操作系统本身是无法保证文件存储过程中完整性的,想要保证文件的存储完整性可以借助工具实现。

AIDE(Adevanced Intrusion Detection Environment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文本的完整性。我们可以通过配置AIDE的配置文件aide.conf选择我们想要加密目录,并且选择我们想加密的策略。

Linux还有一个工具是:tripwire,但是这个工具操作起来更复杂一点,所以可以使用简单有效的AIDE。

下面用CentOS 7实验一波:

首先安装aide,yum install -y aide
Linux操作系统入侵检测AIDE

  下面康康他的配置文件啥样,cat /etc/aide.conf

Linux操作系统入侵检测AIDE

 Linux操作系统入侵检测AIDE

Linux操作系统入侵检测AIDE

 挺多的都是默认审计的文件夹,就省略了。。。

  Linux操作系统入侵检测AIDE

  第一个为数据库路径,就是等下生成的HASH数据生成的路径

 第二个是日志文件路径

Linux操作系统入侵检测AIDE

  这个是开启压缩

Linux操作系统入侵检测AIDE

 这块是AIDE能够保存文件的内容

#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    //SELinux
#xattrs:        Extended file attributes    //扩展文件属性

 然后AIDE可以使用以下算法对文件进行HASH,并且将HASH值载入到一个基准数据库,通过对比当前文件的HASH与数据库中存储的HASH就可以得到文件是否被修改过。

#md5:             md5 checksum
#sha1:            sha1 checksum
#sha256:        sha256 checksum
#sha512:        sha512 checksum
#rmd160:        rmd160 checksum
#tiger:             tiger checksum

Linux操作系统入侵检测AIDE

可以配置自己需要的的规则,首先定义一个变量,赋值给他相应的属性

Linux操作系统入侵检测AIDE

  写入需要的目录    加上规则变量

 路径前面加一个!表示忽视这个路径
Linux操作系统入侵检测AIDE

下面实验一下AIDE

在根目录创建一个文件夹,里面创建两个.txt文件

Linux操作系统入侵检测AIDE

 将文件夹路径添加到AIDE配置文件

Linux操作系统入侵检测AIDE

  使用aide --init,初始化数据库,(这块等的时间比较长)

 Linux操作系统入侵检测AIDE

 进入数据库文件路径可以看到最新生成的HASH文件

 Linux操作系统入侵检测AIDE

 将初始化的数据库文件当作基准数据库(这个名字不是随便起的,谁叫aide.db.gz谁就是基准数据库,没有这个文件后面会报错)

 Linux操作系统入侵检测AIDE

  进入刚刚的测试文件夹,修改1.txt,删除2.txt

Linux操作系统入侵检测AIDE

  现在使用AIDE检查系统文件,看看有什么效果

Linux操作系统入侵检测AIDE

  估计等个大约三四分钟,就可以看到结果了,一共检测了114954个文件,新增0,删除1,修改1,删除了2.txt,修改了1.txt,然后后面是SHS256加密的HASH对比。

Linux操作系统入侵检测AIDE

 说明这个工具确实有效果,如果此时是管理员自己修改的那么可以使用aide --update更新数据库,然后修改新生成的数据库文件,将最新的数据库最为基准文件。

然后我看他这个还有邮件功能,我用自己邮箱试了一下,真的可以??太强了!!!

Linux操作系统入侵检测AIDE

 Linux操作系统入侵检测AIDE

 Linux操作系统入侵检测AIDE

 (后面两个修改是我自己改的)

 然后可以写一个bash脚本,添加到定时任务让它每天自己执行,并将报告发送到我的邮箱。应该是可以实现的,今天就不演示了

下面是AIDE常用的参数

--init       //初始化一个数据库

--check    //检查与基准库是否不同

--update    //更新库

--version,-v    //显示版本号

--help    //显示帮助信息

相关推荐