Contents
Cloudflare アカウント作成とプラン選択
Cloudflare の WAF(Web Application Firewall)を本格的に利用するには、まず公式サイトでアカウントを取得し、保護対象のドメインを Cloudflare に追加します。この手順が完了すれば、Free プランでも基本的な脅威防御機能がすぐに使えるようになります。以下では、登録からプラン選択までの流れと注意点を詳しく解説します。
アカウント登録手順
Cloudflare のアカウント作成はシンプルですが、いくつか確認しておくべきポイントがあります。
- 公式サイトにアクセス
https://www.cloudflare.com/ja-jp/にアクセスし、右上の「サインアップ」ボタンをクリックします。 - メールアドレスとパスワードを入力
必要情報を入力したら送信し、届いた認証メールのリンクをクリックしてメール認証を完了させます。 - ダッシュボードでサイト追加
ログイン後に表示される「サイトを追加」から保護したいドメイン名(例:example.com) を入力し、画面の指示に従って DNS 設定を Cloudflare に移管します。 - DNS 移管完了
移管が成功すると、Cloudflare の管理画面に対象ドメインが表示されます。ここから WAF やファイアウォールの設定を行うことができます。
ポイント:Free プランでも「サイト追加」までできれば、WAF のスイッチだけで基本防御が有効になります。
Free プランでの WAF 利用可否
結論から言えば、Free(無料)プランでも WAF のスイッチをオンにすることは可能です。ただし利用できるルールセットは「Cloudflare Free Managed Ruleset」のみで、編集や削除はできません。以下に Free プランの主な特徴とアップグレード判断基準をまとめます。
- Free プランの特徴
- デフォルトで Cloudflare Free Managed Ruleset が自動有効化(編集不可)
- カスタムルールは最大 5 件 作成可能
-
IP ホワイトリスト/ブラックリスト機能が利用できる
-
プラン切替の目安
- 誤検知が頻繁に発生した場合
- 独自ビジネスロジックに合わせた細かい制御が必要なとき
- カスタムレートリミットや高度な Bot 防御を利用したい場合
これらの条件に当てはまったら、Pro プラン以上へのアップグレードをご検討ください。
WAF の有効化と基本設定
Free プランでも WAF をすぐに有効化できるため、まずは「Security」タブからスイッチを入れるだけで防御が開始します。本節では、有効化手順と Free Managed Ruleset の概要を解説し、実際の画面遷移イメージも併せて紹介します。
Dashboard → Security → WAF での有効化手順
WAF のオンオフは Cloudflare ダッシュボード上部の「Security」タブから行います。以下に具体的な操作手順を示します。
- 左サイドバーの「Security」を選択
表示されたメニューから「WAF」をクリックします。 - WAF スイッチをオンにする
「WAF を有効化」スイッチを右に切り替えると、即座に Free Managed Ruleset が適用されます。画面右上に緑の「有効」と表示されるので確認してください。 - Managed Rulesets の確認
画面下部の「Managed Rulesets」セクションで現在有効なルールセットが一覧表示されます。Free プランでは編集できませんが、適用状況はここで把握できます。
ポイント:WAF をオンにした瞬間から Cloudflare が提供する基本的な脅威防御が開始され、ほとんどの一般的攻撃は自動的にブロックまたはチャレンジされます。
デフォルトの Managed Ruleset(Free)概要
Free プランで自動適用される「Cloudflare Free Managed Ruleset」は、OWASP Top 10 の主要脅威をカバーするルール群です。以下に代表的な防御対象とその特徴をまとめます。
- SQL インジェクション
- 不正な SQL 文がリクエストに含まれると自動でブロックします。
- クロスサイトスクリプティング(XSS)
- スクリプトインジェクションを検知し、チャレンジまたはブロックで対処します。
- リモートファイルインクルード(RFI)
- 外部 URL を経由した不正なファイル読み込みを防止します。
このセットは Cloudflare が常に最新の脅威情報で更新するため、利用者側が手動でパッチを当てる必要はありません。
Free プランで使える機能と制限
Free(無料)プランでも一定レベル以上の防御が可能です。ただしカスタマイズ性や上限にいくつか制約があります。本節では、実際に設定できる項目とその利用上の注意点を具体例とともに解説します。
カスタムルール作成上限(5 件)
Free プランでも独自条件でリクエストをブロックまたはチャレンジさせる「カスタムルール」を最大 5 件まで作成できます。まずは利用目的と優先順位を整理し、重要度の高いパターンから設定しましょう。
導入文:以下に、代表的なカスタムルール例とその構成要素を示します。
- Security > Security Rules に移動
右上の「ルールを作成」ボタンをクリックして新規ルール画面を開きます。 - フィールド・オペレーター・アクションを選択
例としてhttp.request.uri.path(リクエストパス)とcontains、matches regexなどの演算子が利用できます。 - ルール内容を入力し保存
| カスタム例 | フィールド | 条件 | アクション |
|---|---|---|---|
| 管理画面保護 | http.request.uri.path |
/admin/.*(正規表現) |
Managed Challenge |
| 特定ボット除外 | http.user_agent |
Googlebot(完全一致) |
Allow |
| 会員登録スパム対策 | http.request.method + uri.path |
POST かつ uri.path contains /register |
Rate Limit (別途設定) |
ポイント:5 件に収まるよう、まずは「管理画面保護」や「重要エンドポイントのブロック」から優先的に作成すると効果的です。
IP ホワイトリスト/ブラックリストの設定方法
IP アドレス単位でアクセス制御を行う場合は、Firewall > Tools の「IP Access Rules」から CIDR 表記で登録できます。
導入文:以下にホワイトリストとブラックリストそれぞれの設定手順を示します。
- ホワイトリスト例
- 登録 IP:
203.0.113.0/24→ アクション「Allow」 -
設定手順:Firewall > Tools > IP Access Rules → 「IP / CIDR」を入力し「Allow」を選択して保存。
-
ブラックリスト例
- 登録 IP:
198.51.100.45/32→ アクション「Block」 - 設定手順は上記と同様に「Block」を選択すれば完了します。
IP リストは定期的に見直し、特に動的 IP を使用している環境では過剰な許可を避けることが重要です。
有料プランで拡張できる管理・レート制限ルール
Free プランの上限に達したり、より細かい制御が必要になった場合は、有料プラン(Pro、Business、Enterprise)へのアップグレードを検討します。ここでは、有料プランで利用可能になる「Managed Rules」や「Rate Limiting」の概要と設定手順を具体的に紹介します。
管理ルールの概要と作成手順
有料プランでは、標準の Free Managed Ruleset に加えてカスタムマネージドルールセットや Bot Fight Mode の高度設定が利用できます。各プランで提供される機能は次の通りです。
導入文:以下にプラン別の管理ルール機能とその特徴を表形式でまとめます。
| プラン | 追加できる管理ルール数 | 主な機能 |
|---|---|---|
| Pro | 無制限 | カスタムマネージドルールセット、Bot Fight Mode の細分化 |
| Business | 無制限 + カスタムレートリミット | 高度な API 防御、脅威インテリジェンス統合 |
| Enterprise | 無制限 + 専任サポート | カスタム WAF ポリシー、専用ルールエンジン、SLA保証 |
Pro プランでのカスタムルールセット作成例
- Security > Managed Rules を開く
- 「+ ルールセットを追加」→「Custom Rule Set」を選択
- ルール名・説明・対象ドメインを入力し、条件として HTTP ヘッダーやクエリ文字列を組み合わせる
- アクションは Block, Challenge, Log の中から選択
この手順により、たとえば「特定の API キーが無いリクエストはブロックする」など、ビジネス要件に合わせた細かい制御が可能になります。
レート制限ルールの設定例
有料プランでは Rate Limiting が利用でき、過剰なリクエストから重要エンドポイントを保護できます。以下は典型的な設定例です。
導入文:レートリミットは「対象 URL」「閾値」「アクション」の3要素で構成されます。
| 設定項目 | 推奨値(例) |
|---|---|
| 対象 URL | /login、/api/v1/* |
| リクエスト上限 | 10 req / 60 秒 |
| アクション | Block + カスタムレスポンス (429) |
設定手順は Security > Rate Limiting → 「Create a Rate Limit」から行い、対象パスと閾値を入力するだけです。これによりブルートフォース攻撃やスクレイピングによる負荷を大幅に削減できます。
ポイント:有料プランでは「管理ルール」と「レート制限」を組み合わせて多層防御を構築し、ビジネスリスクに応じた最適な保護ポリシーを実現します。
実運用のベストプラクティスとテスト手順
WAF の設定が完了したら、実際に運用で問題なく機能しているか確認することが重要です。本節では、変動 IP 対策、ログのチェック方法、シミュレーション攻撃による検証フローを具体的に示します。
変動 IP 対策:管理画面保護ルール
IP アドレスが頻繁に変わる環境でも安全に管理画面へアクセスさせたい場合は、Managed Challenge を用いたチャレンジ方式が有効です。以下の設定例を参考にしてください。
|
1 2 3 4 5 |
フィールド : http.request.uri.path オペレーター : matches regex 値 : ^/admin/.* アクション : Managed Challenge |
このルールは Cloudflare の UI で数クリックで作成でき、IP が変動しても正規ユーザーにはチャレンジが表示されるだけなので、運用負荷を抑えられます。
ログ確認・シミュレーション攻撃によるテスト
設定後は必ず Security > Events でイベントログを確認し、期待したアクション(Block、Challenge など)が発生しているか検証します。簡易的なテスト手順は次の通りです。
- curl コマンドでブロック対象パスへリクエスト
bash
curl -I https://example.com/admin/secret - イベント画面で該当ログを検索
「Managed Challenge」や「Block」の記録があれば設定は正しく機能しています。 - Enterprise 以上の場合は Simulate 機能を活用
実際にブロックせずに影響範囲だけをシミュレートできるため、誤検知リスクを事前に把握できます。
ポイント:テストは本番トラフィックが少ない時間帯に行うか、ステージング環境で実施し、ルールの微調整を繰り返すことが安全です。
定期的なルール見直しと最小権限設計
WAF は「最小権限」の原則に基づいて運用することがベストプラクティスです。半年に一度は以下の作業を実施してください。
- 使用状況レポートの確認
- カスタムルールのヒット数やブロック率を分析し、効果が薄いものは削除または調整する。
- 脅威情報のアップデート
- Cloudflare が提供する更新ノーティスに合わせて Managed Ruleset の最新化を確認する。
- レートリミット閾値の再評価
- トラフィック統計と照らし合わせ、過剰ブロックや許容しすぎがないかチェックする。
ポイント:継続的なチューニングにより「保護は強いが使い勝手が悪い」状態を防止し、安定したサイト運用とユーザー体験の両立が実現できます。
以上が Cloudflare の Free プランから有料プランへ段階的に導入・拡張していく際の全体像です。まずはアカウント作成と WAF 有効化を完了させ、次にカスタムルールや IP 制御で基本防御を固めましょう。その後、ビジネス要件が高まったら有料プランへ移行し、Managed Rules と Rate Limiting を組み合わせた多層防御を構築してください。継続的なモニタリングと定期見直しを忘れずに実施すれば、変化する脅威にも柔軟に対応できる堅牢な Web セキュリティが手に入ります。