任何系統(tǒng)管理員想要在其生產(chǎn)服務(wù)器上最先部署的安全措施之一就是檢測(cè)文件篡改的機(jī)制――不法分子篡改的不僅僅是文件內(nèi)容,還有文件屬性。 AIDE(全稱“高級(jí)入侵檢測(cè)環(huán)境”)是一種基于主機(jī)的開(kāi)源入侵檢測(cè)系統(tǒng)。AIDE通過(guò)檢查許多文件屬性的不一致性來(lái)檢查系統(tǒng)二進(jìn)制文件和基本配置文件的完整性,這些文件屬性包括權(quán)限、文件類型、索引節(jié)點(diǎn)(inode)、鏈接數(shù)量、鏈接名稱、用戶、用戶組、文件大小、塊計(jì)數(shù)、修改時(shí)間、訪問(wèn)時(shí)間、創(chuàng)建時(shí)間、訪問(wèn)控制列表(acl)、SELinux安全上下文、xattrs以及md5/sha校驗(yàn)和。 AIDE通過(guò)掃描一臺(tái)(未被篡改)的Linux服務(wù)器的文件系統(tǒng)來(lái)構(gòu)建文件屬性數(shù)據(jù)庫(kù)。然后,它對(duì)照該數(shù)據(jù)庫(kù),檢查服務(wù)器的文件屬性,然后在服務(wù)器運(yùn)行時(shí),一旦索引文件出現(xiàn)任何更改,就發(fā)出警告。正是由于這個(gè)原因,每當(dāng)由于正當(dāng)原因而更新系統(tǒng)或更改配置文件后,AIDE必須重新為受保護(hù)的文件編制索引。 對(duì)某些客戶而言,他們的安全策略可能要求在服務(wù)器上安裝某種入侵檢測(cè)系統(tǒng)(IDS)。但無(wú)論客戶是不是要求IDS,系統(tǒng)管理員部署IDS都是個(gè)好的做法。 在CentOS或RHEL上安裝AIDE AIDE的初始安裝(以及首次運(yùn)行)最好是在剛安裝操作系統(tǒng)的系統(tǒng)上進(jìn)行,沒(méi)有任何服務(wù)暴露在互聯(lián)網(wǎng)、甚至暴露在局域網(wǎng)面前。在這個(gè)早期階段,我們可以將來(lái)自外部的一切闖入和篡改行為這種風(fēng)險(xiǎn)降到最低限度。事實(shí)上,這也是確保系統(tǒng)在AIDE構(gòu)建其初始數(shù)據(jù)庫(kù)時(shí)很干凈的唯一途徑。 由于這個(gè)原因,我們?cè)谑褂? yum install aide這個(gè)命令安裝AIDE后,需要將我們的機(jī)器從網(wǎng)絡(luò)斷開(kāi),并執(zhí)行一些基本的配置任務(wù),如下所述。 配置AIDE 默認(rèn)配置文件位于/etc/aide.conf。該文件提供了幾個(gè)示例保護(hù)規(guī)則(比如FIPSR、NORMAL、DIR和DATAONLY),每個(gè)規(guī)則后面跟著一個(gè)等號(hào)以及要檢查的文件屬性列表,或者任何預(yù)定義規(guī)則(用+分隔)。你也可以使用這種格式定義任何自定義規(guī)則。 FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256 NORMAL = FIPSR+sha512 比如說(shuō),上述例子意味著,NORMAL規(guī)則將檢查下列屬性方面的不一致性:權(quán)限(p)、索引節(jié)點(diǎn)(i)、鏈接數(shù)量(n)、用戶(u)、用戶組(g)、大小(s)、修改時(shí)間(m)、創(chuàng)建時(shí)間(c)、訪問(wèn)控制列表(acl)、SELinux(selinux)、xattrs(xattr)以及SHA256/SHA512校驗(yàn)和(sha256和sha512)。 定義的規(guī)則可以靈活地用于不同的目錄和文件(用正則表達(dá)式表示)。 條目前面的感嘆號(hào)(!)告訴AIDE忽略子目錄(或目錄里面的文件),可針對(duì)子目錄定義另一個(gè)規(guī)則。 在上面這個(gè)例子中,PERMS是面向/etc及其子目錄和文件的默認(rèn)規(guī)則。然而,沒(méi)有規(guī)則會(huì)應(yīng)用于/etc中的備份文件(即/etc/.*~),也不會(huì)應(yīng)用于/etc/mtab文件。對(duì)于/etc中一些選擇性的子目錄或文件而言,而是應(yīng)用NORMAL規(guī)則,替代默認(rèn)規(guī)則PERMS。 定義合適的規(guī)則,并將其應(yīng)用到系統(tǒng)中的合適位置,這是使用AIDE過(guò)程中最困難的部分,但運(yùn)用良好的判斷力是個(gè)好的開(kāi)端。一個(gè)經(jīng)驗(yàn)法則是,別檢查不必要的屬性。比如說(shuō),檢查/var/log或/var/spool里面的文件的修改時(shí)間肯定會(huì)導(dǎo)致大量誤報(bào),因?yàn)橛性S多應(yīng)用程序和守護(hù)進(jìn)程常常將內(nèi)容寫入到這些位置。此外,檢查多個(gè)校驗(yàn)和可能會(huì)加強(qiáng)安全性,不過(guò)代價(jià)是AIDE運(yùn)行時(shí)間延長(zhǎng)了。 另外,如果你使用MAILTO變量來(lái)指定電子郵件地址,可以將檢查結(jié)果發(fā)送到你的郵箱。將下面這一行放入到/etc/aide.conf中的任何位置。 MAILTO=root@localhost 首次運(yùn)行AIDE 運(yùn)行下列命令對(duì)AIDE數(shù)據(jù)庫(kù)進(jìn)行初始化: # aide --init 根據(jù)/etc/aide.conf生成的/var/lib/aide/aide.db.new.gz文件需要重命名為/var/lib/aide/aide.db.gz,以便讓AIDE能讀取它: # mv /var/lib/aide/aide.db.new.gz /var/lib/aide.db.gz 現(xiàn)在,是時(shí)候?qū)φ諗?shù)據(jù)庫(kù),執(zhí)行我們的第一次系統(tǒng)檢查了。為此,只要運(yùn)行: # aide 沒(méi)有選項(xiàng)調(diào)用時(shí),AIDE假設(shè)使用--check。 如果數(shù)據(jù)庫(kù)創(chuàng)建后沒(méi)有做過(guò)任何變更,AIDE在結(jié)束檢查后會(huì)返回OK信息。 在生產(chǎn)環(huán)境中管理AIDE 構(gòu)建初始AIDE數(shù)據(jù)庫(kù)后,你常常需要由于各種正當(dāng)?shù)脑蚋率鼙Wo(hù)的服務(wù)器,這是日常系統(tǒng)管理活動(dòng)的一部分。每次服務(wù)器經(jīng)過(guò)更新后,你必須重新構(gòu)建AIDE數(shù)據(jù)庫(kù),以便將變更內(nèi)容添加到數(shù)據(jù)庫(kù)。為此,使用這個(gè)命令: # aide --update 為了使用AIDE保護(hù)生產(chǎn)系統(tǒng),可能最好安排一個(gè)計(jì)劃任務(wù),以便定期使用AIDE檢查任何不一致性。比如說(shuō),安排AIDE每天運(yùn)行一次,并將結(jié)果發(fā)送到電子郵件地址: # crontab -e 0 0 * * * /usr/sbin/aide --check | /usr/bin/mail -s "AIDE run for $HOSTNAME" your@email.com 測(cè)試AIDE檢查文件篡改的功能 下列測(cè)試場(chǎng)景將演示AIDE如何檢查文件的完整性。 測(cè)試場(chǎng)景1 我們不妨添加一個(gè)新文件(比如/etc/fake)。 # cat /dev/null > /etc/fake 測(cè)試場(chǎng)景 2 我們不妨變更文件權(quán)限,看看它能否被檢測(cè)到。 # chmod 644 /etc/aide.conf 測(cè)試場(chǎng)景 3 最后,我們不妨更改文件內(nèi)容(比如添加一個(gè)注釋行到/etc/aide.conf)。 echo "#This is a comment" >> /etc/aide.conf 在上面的屏幕截圖中,第一列顯示了文件屬性,第二列顯示了AIDE數(shù)據(jù)庫(kù)中的值,第三列顯示了那些屬性的更新后值。第三列中的空白部分表示該屬性沒(méi)有更改(該例子中的ACL)。 結(jié)束語(yǔ) 要是你果真覺(jué)得自己處于這種情形:有充分的理由認(rèn)為系統(tǒng)已遭到了篡改,可是乍一看又無(wú)法查明什么有可能遭到了更改,像AIDE這樣的基于主機(jī)的入侵檢測(cè)系統(tǒng)就大有幫助,因?yàn)樗梢詭椭惚M快查明什么遭到了更改,而不是胡加猜測(cè)、浪費(fèi)寶貴的時(shí)間。 |
免責(zé)聲明:本站部分文章和圖片均來(lái)自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長(zhǎng)、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長(zhǎng)轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營(yíng)銷服務(wù),與站長(zhǎng)一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長(zhǎng)網(wǎng)微信