BBQ:Block Bad Queries WordPress 插件評論
已發表: 2014-01-30BBQ: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 響應進行響應。
阻止錯誤查詢插件 – WordPress 的 Web 應用程序防火牆
你有它! 如果您一直在為您的 WordPress 博客和網站尋找高度可定制且強大的 Web 應用程序防火牆,請安裝 BBQ:Block Bad Queries 插件並忘記它。 您可以從 WordPress 插件庫下載 BBQ:Block Bad Queries 或從這裡購買他們的 PRO 版本。
另一方面,如果您更喜歡不需要任何配置並且還進行惡意軟件掃描的東西,我會推薦 Malcare 惡意軟件掃描程序。