你是本篇文章第 位訪客(since 06/21/2000)
bullet

什麼是AIDE

bullet

由檔案變動與系統安全談起
設法進入系統,利用各種管道取得系統Super User權限,留下後門(BacckDoor),便利日後進入系統。
這是典型駭客統入侵的模式。當你的系統被留下後門,駭客將可對你的系統為所欲為,且可輕易蠻過你的檢查。這預設的後門通常是藉由修改你的系統檔案,或暗藏不當可執行檔,而達成其目的。其模式包括:
bullet

不正常更動使用者帳號及密碼檔案

bullet

改變系統檔案權限設定

bullet

變動執行檔內容

bullet

不正常的檔案植入

這些模式都有一個共通點,那就是『檔案的新增或變動』。經由精確檔案變更的偵測(Integrity Check),我們可以掌握大部分此類的行為,而在其尚未危害系統之前,終止其活動。

bullet

關於AIDE
bullet

AIDE (Advanced intrusion detection environment) 是一個可以藉由檔案完整性檢查(File Integrity Check),協助管理者早期發現系統入侵跡象的安全工具。

bullet

AIDE可以根據管理者訂下的檔案範圍及檢查項目(Permission, Access Time, Modify Time, Check Sum ....),藉由比對方式,產生檔案變動的報告。

bullet

AIDE 產生系統檔案特徵的資料庫(aide.db),已作為日後核對之用。

bullet

AIDE可以檢查檔案特性項目包括:存取權限設定(permissions), inode編號(inode number), 檔案擁有者(user), 檔案擁有群組(group), 檔案大小(file size),檔案最近被修改時間(mtime and ctime), 檔案最近被修改時間(atime), 檔案大小的改變(growing size)及檔案鏈結數(number of links).

bullet

AIDE用來檢查檔案完整性的演算法(Algorithm)包括:sha1, md5, rmd160, tiger (crc32, haval and gost can be compiled in if mhash support is available).

bullet

檔案檢查原理是比對,因此你必須在確定系統是乾淨的時候,(利用AIDE)建立比對依據的指紋資料(Fingerprint),而建立這個檔案的最佳時機是當你完成系統安裝,尚未對外開放的時候,或系統完成該新時。

bullet

AIDE適用平台:
bulletSolaris 2.5.1,2.6,7
bulletLinux 2.2.x,2.0.x
bulletFreeBSD 2.2.8,3.4
bulletUnixware 7.0.1
bulletBSDi 4.1
bulletOpenBSD 2.6


bullet

取得AIDE
bullet

檔名:aide-xx.tar.gz (xx is the version name, the current version is 0.7)

bullet

Where : 
bullet

http://www.securityfocus.com/data/tools/aide-0.7.tar.gz

bullet

ftp://nmc.nchu.edu.tw/linux/aide-0.7.tar.gz

bullet

Use archie to find this file

bullet

AIDE Manual:
bullet

http://www.cs.tut.fi-/~rammer/aide.html

bullet

http://nmc.nchu.edu.tw/linux/aide_manual.htm

 

bullet

安裝AIDE
bullet

STEP1get the source
取得 aide-0.7.tar.gz,並找個目錄解開他

[woody@nmc security]# tar zxvf aide-0.7.tar.gz

bullet

STEP2 : Compile AIDE

[woody@nmc security]# cd aide-0.7
[woody@nmc aide-0.7]#
./configure --with-config_file=/usr/local/etc/aide.conf
[woody@nmc aide-0.7]# make
[woody@nmc aide-0.7]# make install
###The Following copy default configure file to "/usr/local/etc/" as we specified in configure time
[woody@nmc aide-0.7]# cp doc/aide.conf /usr/local/etc/

bullet

STEP3Modify the Configuration File (/usr/local/etc/aide.conf)

[woody@nmc aide-0.7]# vi /usr/local/etc/aide.conf
...
@@define TOPDIR /home/woody/security/aide-0.7
###This  Define the default TOP Directory For AIDE (It Could be anywhere)
...
database=file:@@{TOPDIR}/aide.db
###This Define default database created by AIDE for Comparison
...
database_out=file:@@{TOPDIR}/aide.db.new
###This Define default  new AIDE output database name when aide is asked tp created one
...
report_url=stdout
###This Define aide check result filename . Default is the stdout (Terminal)
...
All=R+sha1+rmd160+tiger
Norm=s+n+b+md5+sha1+rmd160+tiger
###These Define rules for AIDE Check
###其中:R、sha1...代表的意義為
#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
#md5: md5 checksum
#sha1: sha1 checksum
#rmd160: rmd160 checksum
#tiger: tiger checksum
#R: p+i+n+u+g+s+m+c+md5
#L: p+i+n+u+g
#E: Empty group
...
/usr/sbin All
/etc/ All

###This Define what files are to be checked
....
詳細的設定細節可參考aide.conf的man Page (With man )

bullet

STEP4:建立初始的AIDE Databade

[woody@nmc aide-0.7]# aide --init
[woody@nmc aide-0.7]# ls aide.db.new
aide.db.new
###aide.db.new created !!!
[woody@nmc aide-0.7]# mv aide.db.new aide.db

bullet

使用AIDE - An Example
bullet

檢查系統檔案是否遭修改  -- aide - -check

###把/etc/passwd的permission由644改為664,測試aide可以檢查出來
[woody@nmc aide-0.7]# ls -l /etc/passwd
-rw-r--r-- 1 root root 5596 Jun 15 09:45 /etc/passwd
[woody@nmc aide-0.7]#
chmod g+w /etc/passwd
[woody@nmc aide-0.7]#
ls -l /etc/passwd
-rw-rw-r-- 1 root root 5596 Jun 15 09:45 /etc/passwd

[woody@nmc aide-0.7]#
aide - -check
AIDE found differences between database and filesystem!!
Start timestamp: 2000-06-16 15:40:30
Summary:
Total number of files=1211,added files=0,removed files=0,
changed files=1
Changed files:
changed:/etc/passwd
###aide發現/etc/passwdpermission遭修改,並提出警告
Detailed information about changes:
File: /etc/passwd
Permissions: old = -rw-r--r-- , new = -rw-rw-r--
Ctime: old = 2000-06-15 09:45:43, new = 2000-06-16 15:39:32
End timestamp: 2000-06-16 15:40:48


bullet

檢查系統檔案是否遭修改,並更新database

[woody@nmc aide-0.7]# aide --update
###這個步驟會產生另一個新的database  "aide.db.new",你可以用他來取代原有之aide.db (cp aide.db.new aide.db)

bullet

進階aide參數 - 請參考aide man page 

[woody@nmc aide-0.7]# man aide

bullet

使用aide應注意事項
bullet

選擇適當時機建立aide.db,更新時謹慎行事

bullet

妥善保存aide.db 

bullet

精確修改aide.conf,去除無意義的檢查(例如經常更動的檔案),使你的檢查結果更有意義

bullet

小心行得萬年船,GOOD LUCK