バーベキュー:悪いクエリをブロックするWordPressプラグインレビュー
公開: 2014-01-30BBQ:Block Bad Queriesは、悪意のあるHTTPリクエストをブロックするWordPressWebアプリケーションファイアウォールです。
利用可能なWordPressセキュリティプラグインはたくさんありますが、WordPressのセキュリティに適切に対応し、悪意のあるハッカーの攻撃からWordPressのインストールを保護するのに役立つプラグインはごくわずかです。
これらのプラグインの1つはBBQ:Block BadQueriesです。 このプラグインは、高度にカスタマイズ可能でありながら、シンプルでメンテナンスフリーのWordPress Webアプリケーションファイアウォールのようなもので、すべてのWordPress管理者とマネージャーがインストールする必要があります。
このWordPressのセキュリティ投稿は次のように説明しています。
- BBQ:Block BadQueriesプラグインの仕組み
- バーベキューをカスタマイズする方法:悪いクエリプラグインをブロックする
- ブロックするパターンの変更/追加
- 特定のユーザーエージェント文字列を使用して訪問者をブロックする
- HTTPリクエストで許可される最大文字数の設定
- バーベキューをテストする方法:悪いクエリとカスタマイズをブロックする
BBQ:不正なクエリのブロックWordPressプラグインの仕組み
BBQ:Block Bad Queriesプラグインは、WordPressコアによって実行される前に、WordPressに送信されたすべてのリクエストを分析します。 リクエストが悪意のあるものである場合、プラグインは、HTTPステータスコード403で応答することにより、訪問者がそのようなリソースにアクセスすることを禁止します。アクセスは禁止されています。
悪意のあるパターンのデフォルトリストBlockBad Queriesブロックは、ターゲットのWordPress攻撃からWordPressを保護するだけでなく、潜在的なゼロデイ脆弱性やクロスサイトスクリプティング、SQLインジェクション、ディレクトリトラバーサルなどの他の一般的な攻撃からWordPressを保護します。 したがって、BBQ:Block Bad Queriesをインストールした場合でも、脆弱な(古い)WordPressインストール、プラグイン、またはテーマを実行していると、悪意のあるハッカーは既知の脆弱性を悪用できません。
WP Whiteセキュリティのヒント:BBQ:Block Bad Queriesを実行している場合でも、WordPress、プラグイン、テーマの最新かつ最も安全なバージョンを実行する必要があります。 WordPress BBQプラグインは、既存のセキュリティホールを塞ぐのではなく、セキュリティの追加レイヤーとして使用する必要があります。
BBQのカスタマイズ:不正なクエリのブロックプラグイン
デフォルトでは、Block Bad Queriesはカスタマイズや構成の変更を必要としませんが、ルールには常に例外があります。 BBQ:Block Bad Queriesをカスタマイズする必要がある場合は、ここにカスタマイズできるものの説明があります。 まず、WordPressインストールに送信される各リクエストの3つの部分をスキャンします。
リクエストURI :ユーザーがリクエストしたURL。例:https://www.wpwhitesecurity.com/wordpress-security/
クエリ文字列:URLに含まれるクエリ文字列(例:https://www.wpwhitesecurity.com/wordpress-security/?query_string = 1)
ユーザーエージェント文字列:ユーザーエージェント文字列は、WordPressにアクセスして自身を識別するクライアントソフトウェアから自動的に送信されます。 たとえば、GoogleChromeは次のユーザーエージェント文字列を使用します。
Mozilla / 5.0(Windows NT 6.2; Win64; x64)AppleWebKit / 537.36(KHTML、Geckoなど)Chrome / 32.0.1667.0 Safari / 537.36
悪意のあるリクエストで通常使用されるすべてのパターンは、プラグインの3つの配列に格納され、その名前は一目瞭然です。
- $ request_uri_array
- $ query_string_array
- $ user_agent_array
BBQ:Block BadQueriesには構成インターフェースがありません。 したがって、以下の例で説明されているように変更を加えたい場合は、phpプラグインファイルからコードを編集する必要があります。
BBQ:Block BadQueriesプラグインがブロックする必要がある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インストール(WordPress管理ページ(/ wp-admin /)セクションを含む)にある最長のURLの長さを確認してください。
最大URL長を有効にして構成するには、プラグインの以下のコード行のコメントを解除し( '//'を削除して)、HTTPリクエストに含めることができる最大文字数を指定します。 以下に示すように、プラグインのデフォルト値は255です。
strlen( $_SERVER['REQUEST_URI'] ) > 255 ||
WordPressWebアプリケーションファイアウォールのテスト
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ステータスコード403Forbiddenで応答する必要があります。 上記のリクエストは、BBQ:Block BadRequestsプラグインでブロックする必要のあるURLの例にすぎません。 実際のハッキング攻撃で通常使用されるリクエストを使用して、他のいくつかのテストを実行できます。
BBQのテスト:Fiddlerで不正なクエリプラグインをブロックする
悪意のあるHTTPリクエストを送信するときのサーバーの応答がわからない場合は、Fiddlerプロキシを使用して応答を確認できます。
以下のスクリーンショットで強調表示されているように、このテストではURL https://www.wpwhitesecurity.com/contact/base64_をリクエストし、サーバーがHTTP 403Forbidden応答で応答することを確認できます。
不正なクエリのブロックプラグイン–WordPress用のWebアプリケーションファイアウォール
あります! WordPressのブログやWebサイト用に高度にカスタマイズ可能で強力なWebアプリケーションファイアウォールを探している場合は、BBQ:Block BadQueriesプラグインをインストールして忘れてください。 WordPressプラグインリポジトリからBBQ:Block Bad Queriesをダウンロードするか、ここからPROバージョンを購入できます。
一方、構成を必要とせず、マルウェアスキャンも実行するものが必要な場合は、Malcareマルウェアスキャナーをお勧めします。