BBQ:Block Bad Queries WordPress 插件評論

已發表: 2014-01-30

BBQ:Block Bad Queries 是一個阻止惡意 HTTP 請求的 WordPress Web 應用程序防火牆

有許多 WordPress 安全插件可用,但只有少數真正正確地解決了 WordPress 安全問題並幫助您保護 WordPress 安裝免受惡意黑客攻擊。

其中一個插件是 BBQ: Block Bad Queries。 這個插件就像一個高度可定制、簡單且免維護的 WordPress Web 應用程序防火牆,每個 WordPress 管理員和經理都應該安裝它。

這篇 WordPress 安全帖子解釋說:

  • BBQ:Block Bad Queries 插件的工作原理
  • 如何自定義 BBQ:Block Bad Queries Plugin
    • 修改/添加要阻止的模式
    • 使用特定的用戶代理字符串阻止訪問者
    • 配置 HTTP 請求中允許的最大字符數
  • 如何測試 BBQ:阻止錯誤查詢和您的自定義

BBQ:Block Bad Queries WordPress 插件的工作原理

BBQ:Block Bad Queries 插件會在 WordPress 核心執行之前分析發送到 WordPress 的每個請求。 如果請求是惡意的,插件會通過響應 HTTP 狀態代碼 403,禁止訪問來禁止訪問者訪問此類資源。

惡意模式的默認列表 Block Bad Queries 塊不僅可以保護您的 WordPress 免受有針對性的 WordPress 攻擊,還可以保護您的 WordPress 免受潛在的零日漏洞和其他典型攻擊,例如跨站點腳本、SQL 注入和目錄遍歷。 因此,如果您安裝 BBQ:Block Bad Queries,如果您正在運行易受攻擊的(舊)WordPress 安裝、插件或主題,惡意黑客仍然無法利用已知漏洞。

WP White 安全提示:即使您運行 BBQ:Block Bad Queries,您仍應運行最新且最安全的 WordPress、插件和主題版本。 WordPress BBQ 插件應該用作額外的安全層,而不是關閉現有的安全漏洞。

自定義 BBQ:Block Bad Queries 插件

默認情況下,阻止錯誤查詢不需要任何自定義或配置更改,但規則始終存在例外情況。 如果您需要自定義 BBQ:Block Bad Queries,以下是您可以自定義的說明。 首先,它會掃描發送到 WordPress 安裝的每個請求的三個部分:

Request URI : 用戶請求的 URL,例如 https://www.wpwhitesecurity.com/wordpress-security/

Query String : 包含在 URL 中的查詢字符串,例如 https://www.wpwhitesecurity.com/wordpress-security/?query_string=1

用戶代理字符串:用戶代理字符串是從訪問您的 WordPress 的客戶端軟件自動發送的,以識別自己。 例如 Google Chrome 使用以下用戶代理字符串:

Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1667.0 Safari/537.36

惡意請求中通常使用的所有模式都存儲在插件中的三個數組中,它們的名稱不言自明:

  • $request_uri_array
  • $query_string_array
  • $user_agent_array

BBQ:Block Bad Queries 沒有配置界面。 因此,如果您想按照以下示例中的說明進行任何修改,您必須編輯 php 插件文件中的代碼。

修改 BBQ:Block Bad Queries 插件應該阻止的 HTTP 請求

如果您想阻止特定類型的查詢字符串,請將查詢字符串模式添加到 $query_string_array 數組。 添加新模式後,對其進行測試以確保您沒有阻止合法請求。 語法示例如下:

$query_string_array  = apply_filters( 'query_string_items',  array( 'PATTERN_1', 'PATTERN_2', 'PATTERN_3');

注意:您添加的每個模式都應在單引號 (') 之間聲明,並使用逗號 (,) 符號與其他模式分隔。

使用 WordPress 的特定用戶代理阻止訪問者

要阻止使用特定用戶代理(如自動病毒和惡意軟件機器人)的訪問者,請將其用戶代理字符串添加到 $user_agent_array 中。

為 WordPress 配置最大 URL 長度限制

通過限制可以在 HTTP 請求中使用的字符數,您可以保護您的 WordPress 安裝免受零日攻擊和其他幾種惡意攻擊。 零日攻擊是被惡意黑客利用但軟件供應商還不知道的軟件漏洞,因此還沒有補丁。

大多數惡意 Web 應用程序攻擊使用長 URL 來利用已知漏洞。 因此,如果您限制可在 HTTP 請求中使用的字符數,您將自動保護您的 WordPress 安裝免受此類攻擊。

通過限制 URL 中使用的字符數,您還可以阻止合法請求。 因此,在啟用此安全功能之前,請檢查您在 WordPress 安裝中擁有的最長 URL 的長度(包括在 WordPress 管理頁面 (/wp-admin/) 部分中)。

要啟用和配置最大 URL 長度,請取消註釋(通過刪除“//”)插件中的以下代碼行並指定 HTTP 請求可以包含的最大字符數。 插件中的默認值為255,如下圖。

strlen( $_SERVER['REQUEST_URI'] ) > 255 ||

測試您的 WordPress Web 應用程序防火牆

安裝 BBQ:Block Bad Queries WordPress 插件後,通過請求以下示例 URL 列表運行多個測試以確保其正常工作(將 some_site.com 替換為您的域):

  • http://www.some_site.com/../../../etc/passwd
  • http://www。 some_site.com/path/?q=%00
  • http://www。 some_site.com/path/base64_

如果插件正常工作,服務器應在請求此類 URL 時以 HTTP 狀態代碼 403 Forbidden 進行響應。 上述請求只是應該被 BBQ:Block Bad Requests 插件阻止的 URL 示例。 您可以使用現實生活中黑客攻擊中常用的請求來運行其他幾個測試。

測試 BBQ:Block Bad Queries Plugin with Fiddler

如果您在發送惡意 HTTP 請求時不確定服務器響應是什麼,您可以使用 Fiddler 代理來確認響應。

如以下屏幕截圖中突出顯示的那樣,在此測試中,我們請求了 URL https://www.wpwhitesecurity.com/contact/base64_並且可以確認服務器以 HTTP 403 Forbidden 響應進行響應。

測試 BBQ:使用 Fiddler 阻止錯誤請求 WordPress 插件

阻止錯誤查詢插件 – WordPress 的 Web 應用程序防火牆

你有它! 如果您一直在為您的 WordPress 博客和網站尋找高度可定制且強大的 Web 應用程序防火牆,請安裝 BBQ:Block Bad Queries 插件並忘記它。 您可以從 WordPress 插件庫下載 BBQ:Block Bad Queries 或從這裡購買他們的 PRO 版本。

另一方面,如果您更喜歡不需要任何配置並且還進行惡意軟件掃描的東西,我會推薦 Malcare 惡意軟件掃描程序。