Cloudflare WAF のZone Lockdown を利用して送信元IPアドレスのアクセス制限を実施する

2022.06.15

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、yagiです。

今回はCloudflare WAFの機能である Zone Lockdown を利用して、Cloudflareを経由している特定のWebサイトについて、送信元IPアドレスによるアクセス制限を実施する(特定の送信元IPアドレス以外のアクセス制限を実施する) 方法について紹介したいと思います。

Understanding Cloudflare Zone Lockdown 

Cloudflare WAF とは

Cloudflare WAFは、マネージドルールとカスタムルールの両方によって、柔軟性のあるWebサイトの保護を提供します。

Cloudflare Web Application Firewall 

Cloudflareが提供するWAFマネージドルールセットは以下となります。

  • Cloudflare OWASP Core Ruleset (Cloudflareセキュリティチームによって作成されたルールセット)
  • Cloudflare Managed Ruleset (Cloudflareによって実装されたOpenWebApplication Security Project、またはOWASPModSecurityコアルールセット)
  • Cloudflare Exposed Credentials Check (エンドユーザーの認証エンドポイントの自動クレデンシャルチェック)
  • Cloudflare Free Managed Ruleset (フロープラン含むすべてのCloudflareプランで利用可能な、影響が大きく広範囲にわたる脆弱性を軽減できるルールセット)

その他、カスタムルールにより個別に柔軟性のある保護も可能となっています。

今回はこのWAFのツール機能の一つであるZone Lockdown を利用して、特定のWebサイトのみに、「特定の送信元IPアドレス以外は通信を許可しない」アクセス制限を設定します。

設定

左ペインの Security > WAF を選択し、ページ上部の Tools を選択します。

ページをスクロールし、Zone Lockdown の Create lockdown rule を押下します。

Create a Zone Lockdowa Rule ページが開きます。Name にルール名を入力し、 URLsに対象とするサイトのURLを入力します。 なお、あるURL配下の全てのパスを対象にしたい場合は、 /* を入力することで可能となります。 ここで指定した以外のサイトについては、アクセス制限の対象外となりますので安心です。 IP Range にはアクセスを許可するIPアドレスを入力します。(こちらに登録したIPアドレス以外の送信元IPアドレスからのアクセスは拒否されます)

全て入力したら、 Save and Deploy Lockdown rule を押下します。

作成したルールが追加されたことを確認します。 (Action が右側、緑色になっていると有効を示します。無効にしたい場合は左にスライドさせるとグレーに変わり、無効化できます)

このルールによってアクセスの拒否をされた場合は、以下の画面が表示され、サイトの設定によりIPアドレスのアクセス制限がされていることが表示されます。

左ペインの Security > Overview から、WAF の Zone lockdown でブロックされたことを確認できます。

その他、 Activity log より詳細情報も確認できます。

結論

CloudflareのWAFのツール機能の一つであるZone Lockdown を利用して、特定のWebサイトのみに、「特定の送信元IPアドレス以外は通信を許可しない」アクセス制限を設定しました。 開発サイトなど特定の送信元IPアドレスのみ、サイトにアクセスできるようにしたい場合などに便利にご利用いただける機能と思います。 注意点として、同じく Security > Tools 配下の IP Access Rules に設定されたルールがある場合、 Zone Lockdown より優先されるため注意が必要です。

ファイヤーウォールルールの適用順序と優先順位については、以下のドキュメントをご参照ください。

Order and priority