; AIDE入侵检测 | Linux运维部落

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

/etcPERMS !/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.gzinitialized.

 

创建数据库,根据 写的配置文件,要监控的马哥目录下马偕文件的属性,把数据收集起来,生成数据库文件

 

生成的数据库文件,监控文件的各种属性

[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运维部落立场,如若转载,请注明出处:/90924

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达招商  guoqibee.com  guoqibee.com  万达登录  测试  万达招商  万达娱乐平台  万达注册  万达主管  万达注册