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

相关推荐

  • 计算机的组成及其功能

    计算机由运算器,控制器、存储器及输入、输出装置五部分组成。 第一,运算器(Arithmetical and Logical Unit),也称作算术逻辑单元,主要是对数据进行各种运算。 第二,控制器(Control Unit)是计算机的控制中心,协调各计算机各部分按照预先的目标和步骤有序的工作。控制器从存储器中逐条取出指令,分析每条指令规定的操作和所需数据的存…

    Linux干货 2016-09-17
  • 中秋干货之系统启动修复

    在使用CentOS系统时,难免会有误操作而导致机器不能正常启动,这里介绍了多种启动失败的原因和修复的方法。 grub损坏类 grub 1stage 被破坏使用dd擦写MBR前446字节,即抹去stage1阶段–[root@_2_ ~]# reboot #重启–启动失败,找不到系统,这时只能借助光盘进入修复模式,重新安装grub&#82…

    Linux干货 2016-09-15
  • Linux基础之软件包管理

    一.概述 在redhat系列的发行版中,采用rpm软件包管理器,rpm原名是Red Hat Package Manager,后来当其他发行版也采用这种软件包管理机制以后,重新命名,改为RPM Package Manager,它所能提供的功能是将编译好的应用程序文件打包成一个或几个程序文件,从而使得用户能够方便的安装,升级,卸载软件,而yum则是rpm包管理器…

    Linux干货 2016-11-16
  • 使用tar打包并使用gzip压缩的shell脚本应用实验

    博客目的: 练习find,gzip,tar,grep,vim等命令的使用以及shell脚本的初步使用 命令行模式下: 1、find出/目录下100M以上的文件并且查看 [root@rookie ~]# find / -size +100M | xargs ls -lh -r——–. 1 root root 128T 4月 8 16:02 /proc…

    Linux干货 2017-04-09
  • 不作死就不会死,运维的危险命令(2)

    命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。

    2017-12-03
  • 关于源码包的基本知识

    关于源码包的基本知识  §·什么是程序 程序(Program)是为实现特定目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行操作的一系列语句和指令。 一般分为系统程序和应用程序两大类。 程序就是为使电子计算机执行一个或多个操作,或执行某一任务,按序设计的计算机指令的集合。 §·程序包的编译安装 ※·为什么需要源码安装 1.最…

    Linux干货 2016-08-24