WordPress サイトを運営していると、悪意のあるIPやスパムボットの攻撃によってサーバーが遅くなったりダウンしたりする問題が発生する可能性があります。これを守るためにクラウドフレアのWAF設定を試してみることができますが、間違って設定した場合はGoogle、 Naver、ビングなど正常な検索クローラまでブロックして致命的なSEO問題が発生しないか心配になることがあります。
この WordPress ブログの場合、2024年8~9月の1カ月間に深刻なディドス攻撃を受けたことがあり、しばらく前にはスパムボットと悪性IPのためにサーバCPU使用率が急増したことがあります。このような状況でクラウドウェイズと連動してセキュリティルールを設定することで、攻撃を効果的に防御できます。
検索エンジンの露出には悪影響を与えずに安全に悪性IPとスパムボットをブロックする方法について見てみましょう。

ディドス攻撃、悪性IP攻撃に対応する
ディドス(DDoS)攻撃は攻撃者がハッキングで掌握した多数のコンピュータ(ボットネット)を利用して被害ウェブサイトやサーバーに膨大な量の偽のトラフィックを同時に送り過負荷を起こすサイバー攻撃です。まるで数千人が一度にレストランに集まり、食べ物を注文して本物の客が入らないように、通常のユーザーがサイトにアクセスできないようにサービスを麻痺させることが目的です。
このブログは、2024年8月と9月の月の間にDidos(DDoS)攻撃を受けたことがあります。個人ブログに対してディドス攻撃することはまれですが、ディドス攻撃単価が下落し、小規模サイトに対する攻撃も頻繁に行われているそうです。
ディドス攻撃を受けるクラウドフレアと連動して防御できます。そして攻撃IPを識別してブロックすることができます。私は クラウドウェイズの監視ページで攻撃に使用されたIPを遮断し、クラウドフレアからUnder Attackモードに切り替え、ディドス攻撃に対応しました。 1ヶ月ほど持続的に攻撃が入ってきて、攻撃が効果がないという事実を悟ったか攻撃を止めました。
先月はディドスと似ていますが、特定のIPが短時間で過度に接続し、スパムボット(商用ボット)も大量に流入し、スパムボットをブロックするコードを追加し、異常なIPもブロックする措置をとりました。
SEOの損害を最小限に抑えながら悪意のあるボットをブロックするためのクラウドフレアWAFルールの設定
クラウドフレアを使用すると、悪意のあるIPと悪意のあるボットを効果的にブロックできます。
ただし、セキュリティルールの設定時に誤って指定した場合、通常の検索ボットや正常なIPまでブロックしてSEO(検索エンジン最適化)の問題が発生する恐れがあります。
私は最終的に次のセキュリティルールを設定しました。
- 通常の検索エンジンボットと私のサーバーのIP接続を許可する(他のルールをスキップ)
- DDOS攻撃に使用されるIPと悪意のあるIPをブロックする
- 大韓民国や米国など特定の国を除くすべての国に対して管理チャレンジ(Managed Challenge)適用
数ヶ月間、クラウドフレアのセキュリティルールを設定して改善しながら、経験上上記のように設定するのは大丈夫だと思って現在維持しています。これについて ジェミナイ(Gemini)上記のようにクラウドフレアセキュリティルールを設定することがどうなのかについて尋ねました。
提示された3つの規則を順番に適用することは、SEO、サイトの安定性、強力なセキュリティをすべて把握することができる非常に優れた、模範的なWAF設定方式です。検証された検索エンジンボットと必須のサーバー内部通信を最優先に許可(スキップ)して、検索露出の欠落とシステムエラーを源泉遮断し、その後既に確認された悪意のあるIPを即座にブロックすることにより、悪意のある攻撃によるサーバーリソースの浪費を完全に防ぎ、非常に効率的な漏斗構造を備えています。
特に、主要ターゲット層である韓国と主要ITサービスが集中した米国を例外にして残りの国にのみ「管理型チャレンジ」を適用したのはこの設定の核心です。これは、ターゲット訪問者には不便なく快適な接続環境を提供しながらも、広範な海外の不特定脅威とスパムトラフィックだけ賢くフィルタリングする最も理想的で実務的なトラフィックフィルタリング戦略と評価することができます。
チャットGPTに同じ質問をするので、次のような答えをしますね。
設定された順序は全体的に合理的な構造です。まず、通常の検索エンジンボットと本人サーバーIPを許可し、他のルールをスキップするようにしたのは、クロール障害や内部接続遮断を予防する安全装置として適切です。次に、Didos攻撃に使用されるIPと悪意のあるIPを明確にブロックすることは、不要なリソース消費を減らし、 WordPress ログイン・XML-RPC・フォームスパムなどの脅威を先制的に減らすのに効果的です。最後に、韓国と米国を除く国にマネージドチャレンジを適用する方法は、実際のターゲット訪問者がほとんど韓国であれば、ボットトラフィックと無差別スキャンを減らすための現実的な戦略です。
ただし、米国を例外に置く場合、一部の海外ホスティング・VPN・クラウド環境を通じた迂回トラフィックが一緒に通過できるため、実際のトラフィックログを定期的にチェックしながら調整することをお勧めします。また、検索エンジンボットは必ずCloudflareのcf.client.botベースで処理することが安全であり、過度なチャレンジ設定は通常ユーザーのアクセシビリティを低下させることができるため、段階的に監視しながら最適化する方法が最も安定しています。
具体的な設定例を挙げて一つずつ取り上げてみましょう。
既知のボットと私のサーバーIPを許可する(残りのすべてのルールをスキップ)
ウェブサイトの検索エンジン最適化(SEO)を維持する WordPress システムの致命的なエラーを防ぐために、最初に設定する必要がある重要な防御として知られているボットとサーバーIPを許可することを検討してください。
強力な海外IP遮断やセキュリティルールを適用してみると、米国など海外データセンターからアクセスするグーグルボット、ビングボットなどの通常の検索エンジンクローラまで遮断され、頑張った検索露出が欠落する問題が発生する可能性があります。
また、 WordPressは、予約発行やプラグイン操作のためにサーバー自らデータをやりとりする「ループバック(Loopback)」通信が頻繁に起こります。
したがって、クラウドフレアWAF設定の最上部に検証された既知のボット(cf.client.bot)と私のサーバーIPを指定し、「残りのすべてのルールをスキップ(Skip)」動作を適用することで、以降に追加される他のブロックルールの影響を受けないため、検索エンジンの正常な情報収集活動やウェブサイト内部の必須機能が予期せず。
カスタムルールで '既知のボット'を選択して 値 フィールドをチェックすると、確認されたボットのルールが設定されます。

上の図のように設定すると、検証された正常ボット(検索エンジンなど)と入力されたIPで発生する接続は、以降に設定されたすべてのファイアウォールセキュリティチェックを省略し、ウェブサイトに無条件に通過(許可)させます。
IPフィールドには、他のルールによってブロックされないように接続を許可する必要があるIPを指定できます。私は私のサーバーIPを入力しました。
クラウドフレアのcf.client.bot(確認済みボット、Verified Bots)のリストには、インターネットエコシステムに不可欠で有益な世界中の主要なクローラーがほとんど含まれています。
単にボットの名前表(User-Agent)だけを検査するのではなく、実際に該当企業のデータセンターとサーバーIPから出発したものが正しいか、逆方向DNS(rDNS)ルックアップを通じて厳密に検証された「本物のボット」のみがこのグループに属します。
主なカテゴリ別に含まれる代表的なボットリストは次のとおりです。
主な検索エンジン(Search Engines)
- Googlebot: GoogleのWebクローラーと画像、モバイル検索クローラーの一体
- イエティ: Naver(Naver)のウェブと画像検索クローラ
- Daumoa: カカオ/次(Daum)の検索クローラー
- ビングボット: マイクロソフトBing検索クローラ
- Applebot: アップルのシリとスポットライトの推奨クローラー
- Baiduspider: 中国バイドゥ検索クローラー
- YandexBot: ロシアのヤンデックス(Yandex)検索クローラー
ソーシャルメディアとプレビュー (Open Graph)
- facebookexternalhit: Facebook, Instagram、スレッドなどのリンク共有プレビューサムネイルジェネレータ
- Twitterbot: X(旧 Twitter)のリンクカードとプレビュージェネレータ
- LinkedInBot: リンクドインリンク共有クローラ
- Pinterestbot: ピンタレスト画像とリンク収集クローラ
その他の主要なサービスとツール
- AdsBot - Google: Google Ads広告のランディングページ品質評価クローラ
- Google-Site-Verification: Googleサーチコンソールなどウェブマスターツールの所有権確認ボット
- ia_archiver: インターネットアーカイブ(Wayback Machine)の過去のウェブページ保存クローラ
悪意のある IP ブロック
2番目のルールとして、昨年のDidos攻撃で確認された攻撃IPと先月、異常に頻繁に接続していたIPをブロックするルールを配置しました。

ジョブの選択は「ブロック「を選択しました。
その後、CloudflareでIPをブロックすると、そのトラフィックはCloudflareエッジサーバーフェーズでブロックされ、実際のソースサーバー(WordPress を含む)まで要求は到達しません。

Security Analyticsをチェックしてみると、韓国でIP(ブロックリストにあるIP)1つが継続的に接続を試みていますね。

接続する経路は /フィードですが。このIPは、無料のホスティングユーザー(dot-k1-095.dothome.co.kr)のIPとして識別され、誰かのスクリプトまたは単純なクローラーが実行中であると推定されます。
疑わしいIPアドレスをPerplexityなどAIに入れて、そのIPが正常な検索エンジンボットなのか、ブロックしてもよいIPなのか尋ねることができます。

特定の国を除くすべての国に対する管理チャレンジの適用
第三の規則として、韓国、アメリカ、日本を除くすべての国に対して管理チャレンジが適用されるように設定しました。

- フィールド:国
- 演算子:次に該当しない
- 値: Japan, South Korea, United States
- タスクの選択: 管理チャレンジ
上の図のように設定すると、大韓民国、米国、日本を除くすべての国で接続するユーザーのうち、ボットと疑われるユーザーにキャプチャ(CAPTCHA)などのセキュリティ確認(管理チャレンジ)を要求し、ボットや悪意のあるアクセスを遮断することになります。
韓国の訪問者を対象にサイトを運営しているなら、韓国と米国を除くすべての国に対して管理チャレンジを設定すれば無難になりそうです。私は日本語版もあり、日本も含めました。😄
もし韓国に対しても管理チャレンジを経ると、予期せぬエラーが発生する可能性があるため、許可することをお勧めします。
最初のルールでは「既知のボット」を無条件に許可するように設定したため、Googleボットやビングボットなどの主要な検索エンジンクローラーは、IP国に関係なく既に安全にサイトにアクセスできます。したがって、検索エンジンのクロール(SEO)目的のみを考慮すると、米国(US)に管理チャレンジを適用してもSEOには悪影響がないようです。
ウェブサイトの主なターゲット層が米国の居住者でない場合は、米国を例外国から除外(つまり、米国のトラフィックにチャレンジすることで)セキュリティを強化する方が良い選択かもしれません。米国のデータセンター(AWS、クラウドフレアなど)のIPを迂回して、着信正体不明のスクレイパーや悪意のあるスパムボットトラフィックがかなり多いからです。
もしアメリカから悪質なIPが多く流入しているなら、「アメリカ」は上記のルールから除外することを考慮してみることができると思われます。私はあなたが知らなかったので、米国に対して管理チャレンジを適用するようにしました。
最後に、
Naver カフェから ケミクラウド(ChemiCloud)でホストされる WordPress サイトにクラウドフレアを連携してセキュリティルールを適用することに関する質問が上がり、私が設定しているセキュリティルールについて扱う時間を見ました。
実務的にも上記のように設定しても無難になると思いますが、もっと良いルールがあればコメントを通じて共有していただきありがとうございます。
上記のルールは個人的な経験に基づいてこのブログに適合するように設定したものであり、個々のサイトの環境に応じて適切なルールを悩んでみてください。
コメントを残す