任何系統管理員想要在其生產服務器上最早部署的安全措施之一就是檢測文件篡改的機制――不法分子篡改的不單單是文件內容,還有文件屬性。node
AIDE(全稱「高級入侵檢測環境」)是一種基於主機的開源入侵檢測系統。AIDE經過檢查許多文件屬性的不一致性來檢查系統二進制文件和基本配 置文件的完整性,這些文件屬性包括權限、文件類型、索引節點(inode)、連接數量、連接名稱、用戶、用戶組、文件大小、塊計數、修改時間、訪問時間、 建立時間、訪問控制列表(acl)、SELinux安全上下文、xattrs以及md5/sha校驗和。linux
AIDE經過掃描一臺(未被篡改)的Linux服務器的文件系統來構建文件屬性數據庫。而後,它對照該數據庫,檢查服務器的文件屬性,而後在服務 器運行時,一旦索引文件出現任何更改,就發出警告。正是因爲這個緣由,每當因爲正當緣由而更新系統或更改配置文件後,AIDE必須從新爲受保護的文件編制 索引。web
對某些客戶而言,他們的安全策略可能要求在服務器上安裝某種入侵檢測系統(IDS)。但不管客戶是否是要求IDS,系統管理員部署IDS都是個好的作法。正則表達式
AIDE的初始安裝(以及首次運行)最好是在剛安裝操做系統的系統上進行,沒有任何服務暴露在互聯網、甚至暴露在局域網面前。在這個早期階段,我 們能夠未來自外部的一切闖入和篡改行爲這種風險降到最低限度。事實上,這也是確保系統在AIDE構建其初始數據庫時很乾淨的惟一途徑。數據庫
因爲這個緣由,咱們在使用# yum install aide這個命令安裝AIDE後,須要將咱們的機器從網絡斷開,並執行一些基本的配置任務,以下所述。安全
默認配置文件位於/etc/aide.conf。該文件提供了幾個示例保護規則(好比FIPSR、NORMAL、DIR和DATAONLY),每一個規則後面跟着一個等號以及要檢查的文件屬性列表,或者任何預約義規則(用+分隔)。你也可使用這種格式定義任何自定義規則。服務器
FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256網絡
NORMAL = FIPSR+sha512ide
好比說,上述例子意味着,NORMAL規則將檢查下列屬性方面的不一致性:權限(p)、索引節點(i)、連接數量(n)、用戶(u)、用戶組 (g)、大小(s)、修改時間(m)、建立時間(c)、訪問控制列表(acl)、SELinux(selinux)、xattrs(xattr)以及 SHA256/SHA512校驗和(sha256和sha512)。spa
定義的規則能夠靈活地用於不一樣的目錄和文件(用正則表達式表示)。
條目前面的感嘆號(!)告訴AIDE忽略子目錄(或目錄裏面的文件),可針對子目錄定義另外一個規則。
在上面這個例子中,PERMS是面向/etc及其子目錄和文件的默認規則。然而,沒有規則會應用於/etc中的備份文件(即/etc/.*~), 也不會應用於/etc/mtab文件。對於/etc中一些選擇性的子目錄或文件而言,而是應用NORMAL規則,替代默認規則PERMS。
定義合適的規則,並將其應用到系統中的合適位置,這是使用AIDE過程當中最困難的部分,但運用良好的判斷力是個好的開端。一個經驗法則是,別檢查 沒必要要的屬性。好比說,檢查/var/log或/var/spool裏面的文件的修改時間確定會致使大量誤報,由於有許多應用程序和守護進程經常將內容寫 入到這些位置。此外,檢查多個校驗和可能會增強安全性,不過代價是AIDE運行時間延長了。
另外,若是你使用MAILTO變量來指定電子郵件地址,能夠將檢查結果發送到你的郵箱。將下面這一行放入到/etc/aide.conf中的任何位置。