黑客入侵往往從管理員不注意的地方下手,例如非法替換系統(tǒng)命令,讓管理員在執(zhí)行看似正常的命令時,其實運行的是黑客設(shè)計的程序。利用系統(tǒng)的原始完整記錄,就可以發(fā)現(xiàn)操作系統(tǒng)的哪些文件發(fā)生了變化。對于定時任務(wù),Kernel模塊等對象,也需要經(jīng)常進行檢測。
當黑客試圖對系統(tǒng)進行滲透時,往往會采用正向或者和反向的方式進行。對于前者來說,黑客會利用設(shè)置定時任務(wù)或者替換可執(zhí)行文件的方式,當觸發(fā)的時候,黑客預(yù)設(shè)的程序就會在系統(tǒng)中開啟后門。對于后者,黑客會先在系統(tǒng)中植入木馬,讓其反向訪問黑客控制的頁面或者主機,來讓黑客獲得入侵接口等。
企業(yè)版RedHat內(nèi)置了名為AIDE的軟件,是一款很專業(yè)的檢測程序,其運行原理是當配置好系統(tǒng)后,將整個文件系統(tǒng)進行初始化并進行索引,將每個文件的哈希值存放到數(shù)據(jù)庫中。在默認情況下,AIDE會監(jiān)控所有的可執(zhí)行文件和相關(guān)的配置文件,但是不會監(jiān)控所有文件。管理員懷疑存在安全隱患的話,可以利用AIDE對系統(tǒng)進行徹底檢查,來了解其監(jiān)控的系統(tǒng)關(guān)鍵文件(例如可執(zhí)行文件,配置文件等)是否被修改過,而且AIDE記錄的數(shù)據(jù)很難被偽造。以Root賬戶登錄系統(tǒng),執(zhí)行“yum install aide”命令,來安裝該軟件。
執(zhí) 行“vim /etc/aide.conf”命令,打開AIDE的配置文件??梢钥吹皆谀J情況下,數(shù)據(jù)庫存放在“/etc/lib/aide”目錄下。原始數(shù)據(jù)庫文件名稱為“aide.db.gz”,新生成的數(shù)據(jù)庫文件名稱為“aide.db.new.gz”。所謂原版數(shù)據(jù)庫文件,是指AIDE初始化時,生成的文件信息記錄文件。當進行安全檢查時,必須再次進行掃描來創(chuàng)建新的記錄數(shù)據(jù),之后將兩者進行比較,來發(fā)現(xiàn)可疑的變動信息。為了節(jié)省磁盤空間,AIDE會對數(shù)據(jù)庫進行壓縮處理。AIDE 會 對“/boot”、“/bin”、“/sbin”、“/lib”、“/opt”、“/usr”、“/root”等 系 統(tǒng) 目 錄進行全面監(jiān)控。用戶也可以將更多的目錄添加進來,讓AIDE對其全面監(jiān)控。
在默認配置中,對于“/etc”目錄只是進行權(quán)限監(jiān)控,對其中的文件內(nèi)容不進行檢查。即在該目錄下如果部署相應(yīng)的配置文件,那么只有權(quán)限發(fā)生變動,AIDE才對使用者進行報告。這主要是因為該目錄下的文件變動比較頻繁,所以對其全面監(jiān)控作用有限。對于該目錄下特定的配置文件(例如“/etc/xxx.cfg NORMAL”), 因為內(nèi)容不會經(jīng)常變動,可以將其添加進來。這樣,如果被修改,管理員就能及時發(fā)現(xiàn)。對監(jiān)控的對象,后面需要跟隨“NORMAL”參數(shù)。注意,后面不要添加“PERM”參數(shù),該參數(shù)表示只進行權(quán)限檢測。
通過該配置文件,系統(tǒng)的所有關(guān)鍵位置都處于AIDE的監(jiān)控之中。當配置好系統(tǒng)后,執(zhí)行“aide --init”命令,對全盤進行初始化,這需要花費一段時間。完畢后執(zhí) 行“l(fā)l /var/lib/aide”命令,顯示新建立的“aide.db.new.gz”數(shù)據(jù)庫文件。進入該目錄,執(zhí)行“mv aide.db.new.gz aide.db.gz”,進行更名操作,作為原始的數(shù)據(jù)庫文件。
當系統(tǒng)運行一段時間后,管理員希望檢查系統(tǒng)是否存在安全問題的話,可以執(zhí)行“aide”命令,AIDE可以對系統(tǒng)進行掃描,創(chuàng)建新的數(shù)據(jù)庫文件,之后和原始的數(shù)據(jù)庫進行比對,發(fā)現(xiàn)監(jiān)控的系統(tǒng)關(guān)鍵點以及用戶自定義監(jiān)控點的變化情況。
如果發(fā)生變動,AIDE都會完整地顯示出來,例如,新增的文件、內(nèi)容變動的文件、刪除的文件等。在報告信息中的“Detailed information about changes” 列 表 中,會針對每一個變化的文件,列出詳細的變化信息,例如文件尺寸、創(chuàng)建時間、修改時間、哈希值(包括MD5,RMD160,SHA256)等。
對于已經(jīng)被入侵的系統(tǒng),不要直接在該環(huán)境中進行安全檢查,要進入一個干凈的環(huán)境(例如救援模式,將本機硬盤掛載到正常的系統(tǒng)中等),即使進行救援模式等環(huán)境,一定不要運行其中的任何文件。之后,利用AIDE的原始數(shù)據(jù)庫,就可以進行安全檢查了。檢查出問題后,最好的解決方法是重裝系統(tǒng),而不要嘗試進行修復(fù)。