Posted By Gregory —

WP Cerber 用 Cloudflare アドオン


English version: Cloudflare add-on for WP Cerber


WP Cerber 用の Cloudflare アドオンは、選択した WP Cerber の IP アドレスに関する決定を Cloudflare の IP アクセス ルールと同期します。有効にすると、WP Cerber のロックアウトや、許可された IP アクセス リストおよびブロックされた IP アクセス リストのエントリに対して、Cloudflare ルールを作成および削除できます。Cloudflare はリクエストが WordPress サーバーに到達する前にこれらのルールを適用するため、このアドオンを使用すると、WP Cerber が既にブロックを決定したアドレスからのサーバーへのトラフィックを削減できます。

このアドオンは、Cloudflareのカスタムルールではなく、CloudflareのIPアクセスルールに対応しています。

重要:このアドオンは、ユーザーレベルのCloudflare IPアクセスルールを作成します。各ルールは、アドオンがインストールされているWordPressウェブサイトだけでなく、設定した認証情報を持つCloudflareユーザーが所有するすべてのCloudflareゾーンに適用されます。同じCloudflareユーザーが複数のウェブサイトを所有している場合は、この点にご注意ください。

要件

アドオンをインストールする前に、ウェブサイトが以下の要件を満たしていることを確認してください。

  • WP Cerber 9.8.3以降
  • PHP 7.4以降
  • 無料または有料のCloudflareアカウント
  • ウェブサイトのホスト名はCloudflare経由でプロキシされており、DNSのみには設定されていません。
  • WP Cerberのロードセキュリティエンジン設定は標準モードに設定されています
  • WP Cerberの「私のサイトはリバースプロキシの背後にあります」設定は、ウェブサイトがCloudflareプロキシ経由で配信されている場合に有効になります。

CloudflareのIPアクセスルールは、CloudflareがウェブサイトのHTTPおよびHTTPSトラフィックを実際にプロキシしている場合に限り、リクエストがオリジンサーバーに到達する前に処理を実行できます。DNSのみのレコードでは、ウェブトラフィックはCloudflareを経由しません。

WordPress側でも、リバースプロキシの設定は同様に重要です。WP Cerberは、元の訪問者のIPアドレスを正しく検出した場合にのみ、信頼性の高いIPベースのセキュリティ判断を行うことができます。「サイトがリバースプロキシの背後にある」を有効にするのは、ウェブサイトが実際にCloudflareなどの信頼できるリバースプロキシの背後にある場合に限ります。

CloudflareとHTTPS

ウェブサイトがCloudflareを経由してプロキシされている場合、Cloudflareは訪問者とオリジンサーバーの間に位置し、訪問者のTLS接続をCloudflare側で終端します。つまり、ウェブサイトのトラフィックはCloudflareのインフラストラクチャによって処理されることになります。

Cloudflareとオリジンサーバー間の接続は暗号化できます。Cloudflareは暗号化されたオリジン接続をサポートしており、可能な場合はフル(厳格)モードを推奨します。

ウェブサイトにプライバシー、データ処理、またはTLSに関する要件がある場合は、アドオンを有効にする前に、該当するCloudflareの設定を確認してください。

アドオンをインストールする

Cloudflareアドオンは標準的なWordPressプラグインです。これはwordpress.orgのプラグインリポジトリではなく、WP Cerberのウェブサイトを通じて配布されています。

  1. アドオンをダウンロードしてください: https://downloads.wpcerber.com/plugin/wp-cerber-cloudflare-addon.zip
  2. WordPressの管理画面にログインしてください。
  3. プラグイン → 新しいプラグインを追加に移動します。
  4. 「プラグインをアップロード」をクリックしてください。
  5. ダウンロードしたZIPアーカイブを選択してください。
  6. 「今すぐインストール」をクリックしてください。
  7. 「プラグインを有効にする」をクリックしてください。

有効化後、 WP Cerber → アドオン → Cloudflareを開いてください。すべての同期オプションはデフォルトで無効になっています。

Cloudflareの認証情報を設定する

Cloudflareの認証情報セクションで、以下を入力してください。

  • Cloudflareアカウントのメールアドレス
  • そのアカウントのグローバルAPIキー

グローバルAPIキーは、Cloudflareダッシュボードの「マイプロフィール」→「APIトークン」の「APIキー」セクションで確認できます。

バージョン2.5では、アカウントのメールアドレスとグローバルAPIキーを使用して認証を行います。このバージョンのアドオンでは、Cloudflare APIトークンはサポートされていません。グローバルAPIキーは、範囲が限定されたAPIトークンよりも広範なアクセス権限を付与するため、機密性の高い認証情報として扱ってください。

アドオンの設定を保存すると、WP Cerber は一時的な Cloudflare IP アクセスルールを作成および削除することで認証情報を検証します。Cloudflare がリクエストを拒否した場合、アドオンは WordPress 管理画面でその失敗を報告します。

WP Cerberのロックアウトを同期する

アドオンがない場合、WP Cerber は WordPress サーバー上でロックアウトを適用します。サポートされているロックアウトを Cloudflare でも適用するには、 「ロックアウトされた IP アドレスの同期を有効にする」を有効にしてください。

WP Cerberがアドレスをロックアウトし、そのロックアウトが同期の条件を満たす場合、アドオンはCloudflareブロックルールを作成します。これにより、そのアドレスからの以降のリクエストはWordPressサーバーに到達する前にCloudflareでブロックされます。WP Cerberがロックアウトを解除すると、アドオンは対応するルールを削除します。

一部のロックアウトは同期されていません

設計上、このアドオンは発生したすべてのWP Cerberロックアウトをリアルタイムで反映するわけではありません。以下の場合にはCloudflareルールは作成されません。

  • このリクエストはログインしているユーザーのものです
  • ロックアウトは、繰り返しの404リクエストなど、特定のエラーリクエストによって引き起こされます。
  • WP Cerberが最初のロックアウトを異なる方法で処理する場合、ログイン試行回数の制限に初めて達します。
  • このリクエストは、 googlebot.comドメインからのGooglebotによるものと識別されました。
  • Cloudflare は、ロックアウトされたアドレスまたはネットワークを IP アクセスルールのターゲットとして表現できません。

これらの除外設定は、Cloudflare側のロックアウトにのみ適用されます。ロックアウト自体はWP Cerberで引き続き有効です。

サブネットロックアウト

バージョン2.5ではサブネットのロックアウトがサポートされています。WP Cerberで「サブネットをブロック – 侵入者のIPアドレスのクラスCサブネット全体を常にブロックする」が有効になっている場合、アドオンはロックアウトを引き起こした個々のアドレスだけでなく、WP Cerberがロックアウトしたサブネット全体に対してルールを作成します。現在のWP Cerberサブネットモードでは、通常、これにより/24のCloudflareルールが作成されます。

このルールは、Cloudflareがそのネットワークサイズをサポートしている場合にのみ作成されます。サポートしていない場合は、Cloudflareに対応するルールが存在しないまま、WP Cerberでロックアウトが有効になります。

以前のバージョンのアドオンでは、サブネットのロックアウトが同期されず、「サブネットをブロック」オプションを無効にする必要がありました。バージョン2.5では、この制限が解消されています。

IPアクセスリストの同期

WP Cerberの許可IPアクセスリストとブロックIPアクセスリストでサポートされている変更をCloudflareのIPアクセスルールと同期するには、「IPアクセスリストの同期を有効にする」をオンにしてください。

同期はWP CerberからCloudflareへの一方向のみで行われます。CloudflareダッシュボードでIPアクセスルールに直接行った変更は、WP Cerberには送信されません。

ブロックされたIPアクセスリスト

WP CerberのブロックされたIPアクセスリストに追加されたサポート対象のエントリは、Cloudflareのブロックルールになります。たとえば、 192.168.1.0/24リストに追加すると、アドオンは対応するCloudflareルールを作成し、そのネットワークからのリクエストがWordPressサーバーに到達する前にブロックします。

許可されたIPアクセスリスト

WP Cerberの許可IPアクセスリストに追加されたサポート対象エントリはCloudflareの許可ルールとなるため、このリストの使用には注意が必要です。Cloudflareのドキュメントによると、許可アクションを持つIPアクセスルールは、カスタムルール、レート制限ルール、WAF管理ルール、その他のセキュリティ機能など、そのアドレスに対する他のCloudflareセキュリティチェックをバイパスする可能性があります。

そのため、信頼できるアドレスであり、Cloudflareの許可ルールがもたらす影響を理解している場合にのみ、許可されたIPアクセスリストにアドレスを追加してください。

サポートされているIPアドレスとネットワーク

WP Cerberは、CloudflareのIPアクセスルールよりも多くのIPアドレスとネットワーク形式に対応しています。

WP Cerberでは有効なエントリでも、Cloudflareで正しく認識できない場合、アドオンはCloudflare用のルールを作成しません。エントリはIPアクセスリストにそのまま残り、Cloudflareに適合させるために書き換えや削除は一切行われません。

WP Cerber IPアクセスリストへの登録 Cloudflareに同期済み
例えば、 192.168.1.1ような単一のIPv4アドレス。 はい
例えば、 2001:db8::1のような単一の IPv6 アドレス はい
プレフィックス長が/16または/24のIPv4ネットワーク(例: 192.168.1.0/24 はい
プレフィックス長が /32、/48、または /64 の IPv6 ネットワーク。例: 2001:db8::/48 はい
別のプレフィックス長を持つ IPv4 ネットワーク、例えば10.0.0.0/8 いいえ
最初と最後のIPアドレスとして記述された範囲 いいえ

WP Cerberのワイルドカード表記は、Cloudflareが結果として得られるネットワークをサポートしている場合、自動的にCIDR表記に変換されます。

  • 192.168.1.*は192.168.1.0/24になります
  • 192.168.*.*は192.168.0.0/16になります

既存のウェブサイトでIPアクセスリストの同期を有効にする

IPアクセスリストの同期を有効にしても、既にアクセスリストに登録されているエントリの一括同期は実行されません。同期されるのは、有効化後に行われた追加および削除のみであり、それらは発生時に同期されます。

既存のエントリをすぐにミラーリングするには、WP Cerber IPアクセスリストからそのエントリを削除し、再度追加してください。ウェブサイトへの自身のアクセスに影響を与えるエントリについては、慎重に設定してください。

アドオンのバージョン2.5より前のバージョンからアップデートする際に実行される、一度限りの再構築処理は、動作が異なります。この処理では、現在のアクセスリストを読み込み、アップデート時点で既に存在するエントリに対してCloudflareルールを再作成することができます。

その他のアドオン設定

詳細なルール解説

Cloudflareルールの注釈にWP Cerberの追加情報を含めるには、詳細なルール注釈を有効にしてください。IPアクセスリストルールの場合、アドオンはエントリコメントを追加できます。ロックアウトルールの場合、ロックアウト理由を追加できます。

詳細なメモを追加することで、Cloudflare ルールの識別や検索が容易になりますが、その情報は Cloudflare によって保存されます。アクセス リストのコメントやロックアウト理由に、Cloudflare に保存されたくない情報が含まれている場合は、このオプションを無効にしてください。

Cloudflareルールを無効化時に削除する

「無効化時にCloudflareルールを削除する」が有効になっている場合、Cloudflareアドオンを無効化すると、そのアドオンによって記録されたCloudflareルールが削除されます。WP Cerber自体を無効化した場合も、同様のクリーンアップ処理が実行されます。

Cloudflareでの削除が失敗した場合、無効化処理中に再試行されることはありません。そのため、アドオンはそのルールを追跡しなくなるので、Cloudflareで手動で削除してください。無効化処理でルールセットをクリアした後、CloudflareアカウントのIPアクセスルールを確認し、目的のルールが削除されていることを確認してください。

プラグインを再有効化しても、無効化時に削除されたルールは自動的に再作成されません。それ以降の同期はイベント駆動型となります。

診断ログを有効にする

同期の問題を調査する前に、 「診断ログを有効にする」をオンにしてください。このオプションが有効になっている間、アドオンは同期アクティビティと Cloudflare の障害を WP Cerber 診断ログに記録します。このログは、 [WP Cerber] → [ツール] → [診断ログ]から開くことができます。このオプションが無効になっている場合、アドオンはこのログに何も書き込みません。

トラブルシューティング

Cloudflareの認証情報が拒否されました

確認してください:

  • Cloudflareアカウントのメールアドレスを入力しました
  • 入力されたのはグローバルAPIキーであり、APIトークンではありません。
  • 認証情報は、アドオンが影響を与えようとしているゾーンのCloudflareユーザーのものです。

その後、設定を再度保存して、認証情報チェックを再実行してください。

WP Cerber のエントリが Cloudflare に表示されません

以下の手順に従って作業を進めてください。

  1. 関連する同期オプションが有効になっていることを確認してください。
  2. Cloudflareがそのアドレスまたはネットワーク形式をサポートしていることを確認してください。
  3. 同期を有効にする前にエントリが追加された場合、既存のエントリは一括同期されないことに注意してください。
  4. WordPressの管理画面の通知で、Cloudflareのエラーを探してください。
  5. 診断ログを有効にして、 WP Cerber → ツール → 診断ログを確認してください。

古いバージョンからアップデートしても何も起こりません

一度限りの再構築は、プラグインを更新した時点ではなく、次の関連するWP Cerber IPイベントから開始されます。また、CloudflareのメールアドレスとグローバルAPIキーが保存されていることを確認してください。

関連するイベントを自分でトリガーするには、IPアクセスリストのエントリを追加してから削除します。WordPressや他のCloudflareゾーンへのアクセスに影響を与えないアドレスを選択してください。

Cloudflareのルールセットはアップデート後、不完全な状態になっているようです。

大規模な再構築は複数のリクエストにまたがる場合があり、その処理中はCloudflareのルールIDや表示されるルールの数が変化する可能性があります。

診断ログを有効にし、診断ログで拒否されたCloudflare操作やサポートされていないターゲットを確認してください。

偶発的なブロックからの回復

Cloudflareのブロックルールを設定すると、現在のIPアドレスからWordPressへのアクセスを完全に遮断できます。誤って自身をブロックしてしまった場合は、復旧するための実用的な方法が2つあります。

別のインターネット接続を使用してください

Wi-Fiネットワークではなく、モバイルデータ通信を利用した端末など、別のパブリックIPアドレスを持つデバイスまたは接続に切り替えてください。その後、WordPressにログインし、ブロックの原因となっているロックアウトまたはIPアクセスリストのエントリを削除してください。

これは、WordPressへの通常のアクセスをすぐに復元する必要がある場合に最適なオプションです。

Cloudflareルールを手動で削除する

Cloudflareにログインし、 「セキュリティ」→「セキュリティルール」→「IPアクセスルール」を開き、ご自身のIPアドレスに対応するルールを見つけて削除してください。現在のパブリックIPアドレスを確認するには、 「自分のIPアドレスは何ですか?」をご利用ください。

Cloudflare ルールを削除すると、リクエストは再び WordPress サーバーに到達できるようになりますが、対応する WP Cerber のロックアウトや IP アクセス リストのエントリは削除されません。WP Cerber は、その状態が期限切れになるか、WordPress で変更されるまで、独自の状態を維持し続けます。

このアドオンは、ユーザーが手動で削除したルールを検出せず、対応するロックアウトが解除されるか、WordPress の IP アクセス リストのエントリが削除されるまで、そのルールが存在するものとして扱い続けます。その時点で、アドオンはルールの記録をクリアし、同じアドレスが後で再度追加された場合は、通常どおり新しい Cloudflare ルールが作成されます。

アドオンによって作成されたすべての Cloudflare ルールを削除します

アドオンによって現在記録されているルールを削除するには:

  1. WP Cerber → アドオン → Cloudflareを開きます。
  2. 無効化時に Cloudflare ルールを削除する機能を有効にする。
  3. 設定を保存します。
  4. WordPressのプラグインページにアクセスしてください。
  5. Cloudflare for WP Cerber Securityプラグインを無効化してください。
  6. CloudflareのIPアクセスルールを確認し、意図したルールが削除されていることを確認してください。
  7. アドオンを再度有効化するのは、引き続き使用したい場合のみです。

Cloudflareの個々の削除処理は失敗する可能性があるため、無効化してもすべてのリモートルールが削除されるとは限りません。

サポート

同期の問題が発生した場合は、 「診断ログを有効にする」をオンにして問題を再現し、 WP Cerber → ツール → 診断ログを確認してください。

WP Cerber Professionalをご利用のお客様は、 https://my.wpcerber.comのサポートヘルプデスクをご利用いただけます。無料版のサポートは、 https://talk.wpcerber.comのWP Cerberコミュニティを通じてご利用いただけます。

Cloudflare の参照情報

Cloudflareのドキュメントでは、以下のトピックについてより詳細に解説しています。


I'm a team lead in Cerber Tech. I'm a software & database architect, WordPress - PHP - SQL - JavaScript developer. I started coding in 1993 on IBM System/370 (yeah, that was amazing days) and today software engineering at Cerber Tech is how I make my living. I've taught to have high standards for myself as well as using them in developing software solutions.

View Comments
There are currently no comments.