【CentOS实用篇】之aide文件监控

介绍

AIDE(Adevanced Intrusion Detection Environment)高级入侵检测环境)是一个入侵检测工具,主要用途是检查文件的完整性,审计计算机上的那些文件被更改过了。
AIDE能够构造一个指定文件的数据库,它使用aide.conf作为其配置文件。AIDE数据库能够保存文件的各种属性,包括:权限(permission)、索引节点序号(inode number)、所属用户(user)、所属用户组(group)、文件大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小以及连接数。AIDE还能够使用下列算法:sha1、md5、rmd160、tiger,以密文形式建立每个文件的校验码或散列号.
这个数据库不应该保存那些经常变动的文件信息,例如:日志文件、邮件、/proc文件系统、用户起始目录以及临时目录.

所有安装的包都会在rpm数据库生成对应的记录,可以使用rpm -V 来进行查询和比对,在记录发生变化时会出现相应的提示信息。aide和rpm数据库的区别就是aide能监控所有的文件,以及更全面的文件属性,rpm数据库之限定于rpm安装的包。

[root@c6 ~]#rpm -V bash
[root@c6 ~]#
配置

程序文件 /usr/sbin/aide
配置文件 /etc/aide.conf
数据库文件 /var/lib/aide
日志文件 /var/log/aide
数据库读取时用到的文件aide.db.gz,用于校验文件
数据库被写入时生成的文件 aide.db.new.gz,在使用时需要修改为aide.db.gz,便于校验数据时的读取

属性
# These are the default rules.
#
#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
设置监控
Commands:
  -i, --init     Initialize the database -------------------------------- # 初始化数据库
  -C, --check    Check the database ------------------------------------- # 检查数据库
  -u, --update   Check and update the database non-interactively -------- # 更新数据库

以监控/app文件夹为例,设置一条监控的属性信息mon,直接在/app后调用,/app/f3不需要监控,用叹号!指定

[root@c7 ~]#ll /app/
total 16
-rw-r--r--. 1 root root  6 Sep 13 14:32 f1
-rw-r--r--. 1 root root  9 Sep 13 14:33 f2
-rw-r--r--. 1 root root  8 Sep 13 14:33 f3
-rw-r--r--. 1 root root 13 Sep 13 14:33 f4
mon = p+u+g+sha512+m+a+c
# Next decide what directories/files you want in the database. Aide
# uses a first match system. Put file specific instructions before generic
# matches. e.g. Put file matches before directories.
/app mon
!/app/f3

创建数据库,生成 /var/lib/aide/aide.db.new.gz文件

[root@c7 app]#aide --i

AIDE, version 0.15.1

### AIDE database at /var/lib/aide/aide.db.new.gz initialized.

因为没有aide.db.gz文件,此时还不能对文件进行监控

[root@c7 ~]#aide -C
Couldn't open file /var/lib/aide/aide.db.gz for reading

进入文件夹改名,再次查询

[root@c7 ~]#cd /var/lib/aide/
[root@c7 aide]#mv aide.db.new.gz aide.db.gz
[root@c7 aide]#ll
total 8
-rw-------. 1 root root 483 Sep 13 15:44 aide.db.gz

再次检查/app下文件,因为是第一次监控文件,在创建数据库时对文件进行了读取,文件的访问时间atiem变更为数据库读取的时间。因为跳过了f3文件,再次不做显示。由此就实施了对文件的监控。

[root@c7 aide]#aide -C
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2017-09-13 15:45:44

Summary:
  Total number of files:    5
  Added files:          0
  Removed files:        0
  Changed files:        3


---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /app/f1
changed: /app/f2
changed: /app/f4

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------


File: /app/f1
 Atime    : 2017-09-13 14:32:52              , 2017-09-13 15:39:08

File: /app/f2
 Atime    : 2017-09-13 14:33:00              , 2017-09-13 15:39:08

File: /app/f4
 Atime    : 2017-09-13 14:33:18              , 2017-09-13 15:39:08

修改所有者,查看文件的属性变化
修改f1文件的所有者为用户feng,用aide -C检查,会发现f1文件的所有者的ID从0变更为1000,文件的ctime显示了更改的时间

[root@c7 app]#chown feng f1
[root@c7 app]#aide -C
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2017-09-13 15:51:07

Summary:
  Total number of files:    5
  Added files:          0
  Removed files:        0
  Changed files:        3


---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /app/f1
changed: /app/f2
changed: /app/f4

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------


File: /app/f1
 Uid      : 0                                , 1000
 Atime    : 2017-09-13 14:32:52              , 2017-09-13 15:39:08
 Ctime    : 2017-09-13 14:33:53              , 2017-09-13 15:50:59

File: /app/f2
 Atime    : 2017-09-13 14:33:00              , 2017-09-13 15:39:08

File: /app/f4
 Atime    : 2017-09-13 14:33:18              , 2017-09-13 15:39:08

修改文件内容,查看文件的属性变化
修改f2文件的内容,用aide -C检查,此时文件的mtime和ctime,以及哈希值都发生了改变,说明数据已经变化了

[root@c7 app]#echo sfsfs >> f2
[root@c7 app]#aide -C
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2017-09-13 15:57:18

Summary:
  Total number of files:    5
  Added files:          0
  Removed files:        0
  Changed files:        3


---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /app/f1
changed: /app/f2
changed: /app/f4

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------


File: /app/f1
 Uid      : 0                                , 1000
 Atime    : 2017-09-13 14:32:52              , 2017-09-13 15:51:07
 Ctime    : 2017-09-13 14:33:53              , 2017-09-13 15:50:59

File: /app/f2
 Atime    : 2017-09-13 14:33:00              , 2017-09-13 15:39:08
 Mtime    : 2017-09-13 14:33:00              , 2017-09-13 15:57:16
 Ctime    : 2017-09-13 14:33:53              , 2017-09-13 15:57:16
 SHA512   : f55IMty3iZr+1thEbZQVtAM3grorDOUP , JL56faPPxSMwRTiCqcT8l4Kml9OS7r9m

File: /app/f4
 Atime    : 2017-09-13 14:33:18              , 2017-09-13 15:39:08

更新数据库
在数据变更之后,如果实在正常的情况下,需要保存下来以后使用,可以使用aide -u进行更新数据库,在数据库更新之后,会重新生成 /var/lib/aide/aide.db.new.gz文件,因为数据库读取的文件是aide.db.gz,所以在更新数据库之后,我们要删除原aide.db.gz文件,把aide.db.new.gz重命名为aide.db.gz,再次检查文件的变化,会发现之前的改动在aide监控下已经变成了正常

[root@c7 app]#ls /var/lib/aide/
aide.db.gz  aide.db.new.gz
[root@c7 app]#cd /var/lib/aide/
[root@c7 aide]#rm -f aide.db.gz 
[root@c7 aide]#mv aide.db.new.gz aide.db.gz
[root@c7 aide]#aide -C

AIDE, version 0.15.1

### All files match AIDE database. Looks okay!

修改文件权限并改回,查看属性的变化
f4文件的权限是644,把f4文件的权限修改为600,用aide -C检查是会提示文件的权限的变化和ctime的改变。当文件的权限再次更改为644时,文件的atime和ctime都发生了改变,没有提示权限上的错误

[root@c7 app]#chmod 600 f4
[root@c7 app]#aide -C
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2017-09-13 16:12:49

Summary:
  Total number of files:    5
  Added files:          0
  Removed files:        0
  Changed files:        1


---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /app/f4

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------


File: /app/f4
 Perm     : -rw-r--r--                       , -rw-------
 Ctime    : 2017-09-13 14:33:53              , 2017-09-13 16:12:36
---------------------------------------------------------------------------------------
[root@c7 app]#chmod 644 f4
[root@c7 app]#aide -C
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2017-09-13 16:13:00

Summary:
  Total number of files:    5
  Added files:          0
  Removed files:        0
  Changed files:        1


---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /app/f4

---------------------------------------------------
Detailed information about changes:
---------------------------------------------------


File: /app/f4
 Atime    : 2017-09-13 15:39:08              , 2017-09-13 16:12:49
 Ctime    : 2017-09-13 14:33:53              , 2017-09-13 16:12:58

aide是一个很好的监控文件,可以用它监控一些重要的文件,比如不会经常变动的二进制文件,被入侵时串改文件,可以及时发现并解决问题,避免不必要的损失

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容