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.www58058.com/90924