AIDE(高級入qin檢測環境)是文件完整性檢查程序和入qin檢測程序。 node
當一個入qin者進入了你的系統而且種植了,一般會想辦法來隱蔽這個(除了自身的一些隱蔽特性外,他會盡可能給你檢查系統的過程設置障礙),一般入qin者會修改一些文件,好比管理員一般用ps aux來查看系統進程,那麼入qin者極可能用本身通過修改的ps程序來替換掉你係統上的ps程序,以使用ps命令查不到正在運行的程序。若是入qin者發現管理員正在運行crontab做業,也有可能替換掉crontab程序等等。因此由此能夠看出對於系統文件或是關鍵文件的檢查是很必要的。目前就係統完整性檢查的工具用的比較多的有兩款:Tripwire和AIDE,前者是一款商業軟件,後者是一款免費的但功能也很強大的工具。 linux
[root@CentOS7 ~]# yum -y install aide
/etc/aide.conf正則表達式
/etc/aide.conf 默認配置文件路徑 /usr/sbin/aide 默認二進制可執行文件路徑 /var/lib/aide 默認數據庫文件路徑 /var/log/aide 默認日誌文件路徑
`which aide` --init 執行完這步操做後會在默認數據庫路徑/var/lib/aide下產生一個名爲「aide.db.new.gz」的數據庫文件,/etc/aide.conf中定義的規則都寫入到了該數據庫文件中。
mv /var/lib/aide/aide.db{.new,}.gz 由於aide默認是從aide.db.gz數據庫文件中讀取/etc/aide.conf文件中定義的規則來檢測文件完整性的,因此須要重命名初始化的庫文件。
`which aide` --check
`which aide` --update 檢測完須要更新文件數據庫,不然下次檢測仍是從舊的文件數據庫中讀取規則來檢測文件的完整性。同時須要重命名數據庫文件
# #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 #haval: haval checksum (MHASH only) #gost: gost checksum (MHASH only) #crc32: crc32 checksum (MHASH only) #whirlpool: whirlpool checksum (MHASH only)
規則定義格式:規則名 = 具體規則 【例】:TEST = a+m+c 規則使用格式:文件/目錄 規則名 【例】:/dir1 TEST 注:若是在文件或目錄前面加了「!」,則表示忽略檢測
在/etc/aide.conf文件中定義以下規則,這裏的/dir1目錄剛開始是空的。 算法
TEST = a+c+m /dir1 TES
測試1: 數據庫
在該目錄下建立一個新的文件file1,並寫入"hello aide" [root@CentOS7 ~]# aide --check AIDE, version 0.15.1 ### All files match AIDE database. Looks okay! [root@CentOS7 ~]# echo "hello aide" > /dir1/file1 [root@CentOS7 ~]# aide --check AIDE 0.15.1 found differences between database and filesystem!! Start timestamp: 2019-11-10 19:12:57 Summary: Total number of files: 3 Added files: 1 Removed files: 0 Changed files: 1 --------------------------------------------------- Added files: --------------------------------------------------- added: /dir1/file1 --------------------------------------------------- Changed files: --------------------------------------------------- changed: /dir1 --------------------------------------------------- Detailed information about changes: --------------------------------------------------- Directory: /dir1 Mtime : 2019-11-10 19:12:00 , 2019-11-10 19:12:55 Ctime : 2019-11-10 19:12:00 , 2019-11-10 19:12:55 以上輸出表示在/dir1目錄下添加了file1文件,而且修改了/dir1目錄的Ctime和Mtime屬性
測試2: 安全
將/dir1/file1文件的內容由"hello aide"修改成"hello world" [root@CentOS7 ~]# sed -i '/hello/c hello world' /dir1/file1 ; cat /dir1/file1 hello world [root@CentOS7 ~]# aide --check AIDE 0.15.1 found differences between database and filesystem!! Start timestamp: 2019-11-10 19:14:34 Summary: Total number of files: 3 Added files: 1 Removed files: 0 Changed files: 1 --------------------------------------------------- Added files: --------------------------------------------------- added: /dir1/file1 --------------------------------------------------- Changed files: --------------------------------------------------- changed: /dir1 --------------------------------------------------- Detailed information about changes: --------------------------------------------------- Directory: /dir1 Atime : 2019-11-10 19:12:02 , 2019-11-10 19:12:57 Mtime : 2019-11-10 19:12:00 , 2019-11-10 19:14:31 Ctime : 2019-11-10 19:12:00 , 2019-11-10 19:14:31 這時候/dir1目錄的Atime,Mtime,Ctime都被修改了。