AIDE入侵检测

AIDE

当一个入侵者进入了你的系统并且种植了木马,通常会想 办法来隐蔽这个木马(除了木马自身的一些隐蔽特性外, 他会尽量给你检查系统的过程设置障碍),通常入侵者会 修改一些文件,比如管理员通常用ps -aux来查看系统进 程,那么入侵者很可能用自己经过修改的ps程序来替换掉 你系统上的ps程序,以使用ps命令查不到正在运行的木马 程序。如果入侵者发现管理员正在运行crontab作业,也 有可能替换掉crontab程序等等。所以由此可以看出对于 系统文件或是关键文件的检查是很必要的。目前就系统完 整性检查的工具用的比较多的有两款:Tripwire和AIDE ,前者是一款商业软件,后者是一款免费的但功能也很强 大的工具

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

(1)
无言胜千言无言胜千言
上一篇 2018-01-08 08:34
下一篇 2018-01-08

相关推荐

  • linux网络属性管理

    Linux网络属性配置 计算机网络:TCP/IP:协议栈(使用)ISO,OSI:协议栈(学习) MAC:Media Access Control48bits:ICANN:24bits, 2^24地址块:2^24 网桥(bridge):MAC地址表静态指定:动态学习:根据原地址学习; 交换机(switch):多端口网桥; IP(Internet protoco…

    Linux干货 2017-10-14
  • Linux yum客户端的配置及yum命令

    一、什么是yum我们在Linux系统上安装处理软件,一般是使用RPM,它是通过预先编译完成并且把软件打包为RPM文件格式后,再加以安装的一种方式,使用者只要拿到这个打包好的软件,然后将里头的文件放置到应该摆放的目录,这样就完成了安装。但是,由于有些软件是有依赖于其他软件的,当你要安装某个RPM类型的软件时,RPM会检验RPM软件数据库,它所依赖的相关软件包是…

    2017-06-11
  • 第二十周作业

    一、用keepalived实现nginx与lvs的高可用集群 keepalived+nginx高可用环境:node1:    192.168.31.233     keepalived+nginx masternode2:    192.168.31.72      k…

    2017-07-22
  • N26-第七周

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdi…

    Linux干货 2017-03-05
  • 揭开链接文件的面纱——从根本上剖析硬链接与软链接异同

    在linux的学习过程中,链接文件的学习让不少人头疼,很多同学往往分不清什么是硬链接,什么是软链接,对于两者的概念和区别常常容易混淆、搞不清楚。今天我们就从原理、从根本上为大家辨析一些两者之间的区别,相信大家在看完这篇文章之后对链接文件会有一个清晰正确的认识。 1、在实现原理上不同 硬链接,涉及到文件的底层模式,因此被称为硬链接文件。硬链接文件只是一个指针指…

    Linux干货 2016-10-20
  • 文本处理工具练习题(包含正则)

    正则练习题(包含文本处理练习题) 问题 找出ifconfig命令结果中本机的所有IPv4地址  查出分区空间使用率的最大百分比值 查出用户UID最大值的用户名、UID及shell类型 查出/tmp的权限,以数字方式显示 统计当前连接本机的每个远程主机IP的连接数,并按从大 到小排序 答; ifconfig | grep -o '[0-9]\…

    Linux干货 2016-08-08