如何消除 WordPress 文件完整性監控中的誤報
已發表: 2020-01-17文件完整性監控 (FIM) 允許您快速檢測 WordPress 站點上的文件更改。 它是保護 WordPress 網站的重要部分,其工作方式非常簡單:它將基線加密哈希值與受監控文件的當前哈希值進行比較。 當發生變化時,您會收到警報。
然而,簡單的文件完整性監控方法存在一個主要問題:誤報(又名誤報)。 並非 WordPress 網站上的所有文件更改都是有害的,或者是攻擊的跡象。 許多是無害的和預期的維護部分。 所以誤報會導致很多問題:
- 管理員可能會忽略惡意文件更改(哭狼情況),
- 並非所有 WordPress 網站管理員都可以從非法警報中識別出合法警報,從而導致誤報。
在本文中,我們將解釋文件完整性監控的工作原理、WordPress 的文件和目錄結構,以及如何正確配置 WordPress 文件更改監控插件。
文件完整性監控和文件哈希 101
了解文件哈希和校驗和可以幫助您了解 FIM 的工作原理。 簡而言之,加密散列基於特定輸入產生特定輸出。 散列函數是單向不可逆函數。 也就是說,僅知道結果不會使您能夠回溯到輸入。
例如,我們可以使用 MD5 哈希來檢查文本的完整性。 在下面的示例中,我們使用 MD5 校驗和生成器來創建句子 The quick brown fox 的哈希。
我們可以多次輸入相同的文本,得到相同的結果,如下圖所示:
但是,添加或刪除單個字符,我們得到的哈希值會完全改變,儘管它仍然是相同數量的字符長。 在下面的示例中,我們將源文本更改為The quick brown foxes。
那麼,為什麼這對 WordPress 文件更改監控很重要? 簡單:哈希函數的輸出用於確定文件是否已更改。 即使對文件進行了微小的更改,文件哈希也會有所不同。 文件完整性監控插件使這些比較變得簡單。
注意:要詳細了解 FIM,請閱讀 WordPress 網站的文件完整性監控。
為什麼會出現誤報?
但是,僅僅盲目接受我們監控工具的結果是不夠的。 我們必須能夠解釋它們的含義並排除潛在的假陰性和假陽性。 在安全方面,誤報是誤報,我們的工具檢測到的東西最終會成為啞彈。 這類似於在廚房裡烤吐司,觸發火警,喚醒其他人。 假陰性則相反,即存在惡意活動,但我們的工具無法檢測到。 一般來說,由於文件完整性監控的工作原理,誤報是一個更常見的問題。
當插件在沒有上下文的情況下監視文件更改時會發生錯誤警報。 並非所有文件更改都是錯誤的。 例如,如果您更新 WordPress 或插件,一些文件將會更改。 在這種情況下,文件更改是必要的,這不是警報。
了解 WordPress 目錄結構
那麼你怎麼知道你應該關心哪些文件更改呢? 首先要了解 WordPress 目錄結構,並且可能會發生場景更改。 要監控的最重要的文件目錄包括:
- /wp-content/uploads/ – 靜態文件(圖像、視頻、文檔等)的上傳在此目錄中很常見,可以從警報中排除。 可執行文件,如 PHP 文件是您需要在此處注意的內容。
- /wp-content/cache/ - 如果你使用緩存插件,監控這個目錄變得很困難。 這是因為緩存插件可以合法地使用可執行文件。 如果您不使用緩存插件,則監視此目錄的更改更簡單。
- /wp-content/plugins – 此目錄中的更改僅在安裝、更新或卸載插件時發生。 值得注意的是,插件通常應該只更改它們自己的目錄中的文件(或者在緩存插件的情況下,或者在上傳目錄中,以防它存儲一些數據)。
- /wp-content/themes/ - 與上一個目錄相同,此處的更改僅應在安裝、更新、修改或卸載主題時發生。
- WordPress 根目錄 - 因此,此目錄不應有任何更改,除非您有一些自定義解決方案或代碼。
- WordPress 核心文件– WordPress 更新是這些文件應該更改的唯一原因。
有了上面的信息,您現在應該能夠確定文件更改是否是良性的,以及它們何時可能是一個問題。 例如,如果您更新了一個插件,那麼該插件文件夾中的插件文件會發生變化是意料之中的事情。 但是,核心文件更改或另一個插件的文件夾更改不會在預期之內。 同樣,當您沒有啟動任何更新時,您不應該看到插件、核心或其他文件更改。 那些意外的文件更改可能表明存在惡意軟件或網站受損。
使用正確的工具可以在不犧牲安全性的情況下最大限度地減少誤報。 例如,適用於 WordPress 的網站文件更改監視器插件的好處之一是能夠檢測 WordPress、插件和主題更新,以避免誤報和滋擾警報。
WordPress文件更改監控的真實示例
現在您了解了文件完整性監控的工作原理以及預期的文件更改,讓我們看看網站文件更改監控器的實際應用。 首先,該插件會在您激活後自動進行初始基線掃描。

報告由於插件和主題安裝、更新和卸載而導致的文件更改
如果我們安裝新插件,網站文件更改監視器插件會清楚地將文件系統中的更改報告為新插件安裝。 它還報告檢測到新文件的路徑,以及插件的名稱。 這有助於那些不熟悉 WordPress 內部工作的人更好地了解報告的文件更改,從而減少誤報。
您還可以單擊信息圖標以查看在新插件安裝期間添加的文件的完整列表。 該插件還報告與此更新關聯的文件數量。
該插件以相同的方式報告所有其他插件和主題更新。 這意味著該插件清楚地標記了插件或主題的安裝、更新或刪除,使您可以就文件更改是否合法做出明智的決定。
報告由於 WordPress 核心更新導致的文件更改
現在讓我們更新 WordPress 核心。 更新 WordPress 時,我們預計文件會發生變化,尤其是在根目錄中。 運行 WordPress 更新後,我們在“添加的文件”部分看到以下內容:
- 在/wp-content/themes/twentytwenty/文件夾中添加了許多文件。 這意味著更新包含一個新主題。 該插件未將此報告為主題安裝,因為文件已通過更新直接複製到文件系統。
- wp-admin和wp-includes文件夾中的一些新的 WordPress 核心文件(標記為綠色)。 您可以通過單擊信息圖標查看完整的文件列表。
查看更新期間修改的文件,我們只看到核心更新類型文件的更改。 同樣,WordPress 更新的預期行為。
這裡的外賣? 正常行為。 網站文件更改監視器插件清楚地標記了更改,沒有誤報。 另一方面,如果插件報告了一個文件更改列表而沒有任何說明它們發生的原因,用戶會感到震驚。
微調網站文件更改監視器插件
WordPress 用於具有廣泛插件和修改的各種應用程序。 因此,文件完整性監控插件解決方案也應該足夠靈活,以適應自定義更改和需求。 例如,個人博客和大型電子商務網站的掃描頻率偏好可能不同。 此外,您可能需要包含或排除一組特定的自定義文件和文件夾。
一個可配置但易於使用的 WordPress 文件更改插件
一個好的插件可以指導用戶並幫助他們更好地理解結果。 例如,默認情況下,插件應從掃描中排除不可執行的文件。 日誌文件、文本文件和媒體文件等文件並不危險,管理員不需要知道它們是否更改,因為文本文件中的更改永遠不會是惡意的。 因此,插件無需在日誌文件更改時提醒用戶,因為它只會引發問題和誤報。
這就是使網站文件更改監視器插件脫穎而出的原因。 它是為所有級別的用戶開發的。 您無需了解技術細節以及哪些文件更改是惡意的或不會從此插件中受益。 任何人都可以從這個插件中受益並理解結果。 最重要的是,該插件是完全可定制的。 你可以:
- 配置掃描計劃和頻率,
- 選擇插件應該掃描的目錄,
- 排除特定目錄或擴展名中的文件。
有效的文件完整性監控是 WordPress 安全性的一個重要方面
一個有效的 WordPress 安全解決方案是一種不報告誤報的解決方案,它的報告可以被任何級別的用戶輕鬆理解。 這就是網站文件更改監視器插件從所有其他 FIM 插件中脫穎而出的原因; 它易於使用並清楚地突出顯示不同類型的文件更改,以幫助用戶理解報告。 最重要的是,它不會報告誤報。
立即下載網站文件更改監視器插件,以獲取有關 WordPress 網站上文件更改的警報。
文件完整性監控只是安全難題的一部分
與許多其他事情一樣,一個插件本身並不能構成您所有的 WordPress 安全工具包。 文件完整性監控還應補充:
- WordPress活動日誌,
- 針對 WordPress 用戶的強密碼策略,
- WordPress上的兩因素身份驗證,
- WordPress 防火牆(有關不同類型的防火牆等的更多信息,請參閱 WordPress 防火牆指南)
- 最後但同樣重要的是,一個好的 WordPress 備份解決方案。
如果您最終遭到入侵,我們的文件完整性工具可以幫助您找到發生更改的位置。 這反過來又可以實現有效的事件響應、補救和記錄。