ここまでに学んだWAFは「リクエストの中身」で、ボット対策は「送信元の正体」で攻撃を見分ける仕組みでした。このページで扱うRate Limitingは、第3の視点である「頻度」に注目します。
1回1回のリクエストは完全に正常でも、同じ相手から短時間に何百回も繰り返されたら、それは正常な利用とは言えません。ログインの総当たり、APIの乱用、コンテンツの機械的な収集。こうした「回数の暴力」を防ぐのがRate Limitingです。仕組みは単純ですが、その単純さゆえに、あらゆるWebサービスで使われている基本技術です。
このページで分かること
- Rate Limiting(レートリミット)とは何か、何を防げるのか
- ルールを構成する3要素(条件・しきい値・アクション)
- 具体的な設定例(ログイン保護・API保護)
- Cloudflareのプラン別の違い(ルール数・計測期間・識別方法)
- 初心者が注意するポイント
Rate Limitingとは
「頻度」で異常を見分ける
Rate Limiting(レートリミット:速度制限)とは、一定時間内のリクエスト回数に上限を設け、超過した送信元からのアクセスを一時的に拒否する仕組みです。「同じIPアドレスから、ログインページへ、1分間に5回を超えるアクセスがあったら、その後10分間はブロックする」といったルールを設定します。
銀行のATMを思い浮かべてください。暗証番号を数回間違えるとカードがロックされます。1回の入力ミスは誰にでもありますが、続けて何十回も間違えるのは、番号を知らない人が試している証拠だからです。Rate Limitingは、これと同じ考え方をWebのリクエストに適用したものです。

何を防げるのか
- ブルートフォース攻撃(総当たり攻撃):パスワードを片っ端から試すログイン試行。回数制限がもっとも直接的な対策です
- クレデンシャルスタッフィング:前ページで学んだ、漏えいパスワードのリストを試す攻撃。これも本質は「大量のログイン試行」です
- APIの乱用:想定を超える頻度でAPIを叩くプログラムによる、サーバー負荷や従量課金の増大
- スクレイピングの抑制:全ページを機械的に巡回するボットは、人間にはあり得ない頻度でアクセスします
- 小規模なL7 DDoSの緩和:DDoSのページで学んだHTTPフラッドのうち、送信元が限られる小規模なものには回数制限が有効です
逆に言うと、Rate Limitingは「1回でも通れば成立する攻撃」(SQLインジェクションなど)には効きません。そちらはWAFの担当です。各機能の守備範囲が違うからこそ、重ねて使う意味があります。
ルールを構成する3要素
CloudflareのRate Limitingルールは、WAFと同じ画面(Security配下)で作成し、次の3要素で構成されます。
- 条件(どのリクエストを数えるか):対象のURLやHTTPメソッドなど。例:「/login へのPOSTリクエスト」
- しきい値と期間(何回まで許すか):計測期間内の上限回数。例:「同じIPアドレスから1分間に5回まで」
- アクションと継続時間(超えたらどうするか):ブロック・チャレンジなどの対応と、それを続ける時間。例:「10分間ブロック」
ポイントは、回数を「送信元ごとに」数えることです。サイト全体の合計ではなく、同じIPアドレスからの回数を数えるため、他の正常な訪問者には影響しません。制限は一時的で、継続時間が過ぎれば自動的に解除されます。
設定例:WordPressのログインページを守る
このガイドの読者に多いWordPressサイトを例にすると、次の1本だけでも効果があります。
- 条件:URLパスが
/wp-login.phpへのPOST - しきい値:同一IPから1分間(Freeは10秒間)に数回
- アクション:一定時間ブロック(またはチャレンジ)
WordPressのログインページは、公開した瞬間から世界中のボットに試され続けるのが常です。WAFのカスタムルール(国での制限)と、このRate Limitingを組み合わせると、ログイン試行の大半は入り口で消えます。
プランによる違い
Rate Limitingは、かつては有料オプションでしたが、現在は全プランに標準で含まれています(2026年8月時点)。プランによる主な違いは次のとおりです。
| 項目 | Free | Pro | Business | Enterprise |
|---|---|---|---|---|
| ルール数 | 1個 | 2個 | 5個 | 100個(アドオン契約時) |
| 計測期間 | 10秒 | 最長1分 | 最長10分 | 最長10分(拡張で約18時間) |
| 送信元の識別 | IPアドレス | IPアドレス | IP(NAT考慮あり) | ヘッダー・Cookie・APIキー・国など自由 |
Freeプランは「1ルール・10秒間」とかなり限定的ですが、ログイン保護のような集中攻撃対策には十分機能します。Enterprise(Advanced Rate Limiting)になると、IPアドレス以外の情報(APIキーやセッションなど)で数えられるため、「同じAPIキーからの呼び出しは毎分100回まで」のようなAPI向けの精密な制御が可能になります。
初心者が注意するポイント
- 正規の利用パターンを知ってから設定する:しきい値を厳しくしすぎると、普通の訪問者を巻き込みます。たとえば1ページに画像が50枚あるサイトで「1分50回まで」と設定すると、1ページ開いただけで制限に達しかねません。対象URLを絞る(ログインページだけ等)のが安全です
- 共有IPの存在を忘れない:企業や学校では、多数の人が同じIPアドレスでアクセスしてきます(NAT)。1人の異常が同僚全員のブロックにつながり得るため、アクションをブロックでなくチャレンジにするのも一案です
- IPを変えてくる攻撃には限界がある:多数のIPに分散したボットネットからの攻撃は、IP単位の回数制限をすり抜けます。その場合はボット対策やDDoS Protection(自動対応)の領域です
- Cloudflare自身の別機能との混同に注意:APIの保護を本格的に行うなら、後のページで学ぶAPI Shieldの領域です。Rate Limitingは汎用の回数制限、API Shieldは API専用の防御一式、と役割を分けて捉えてください
関連サービス
- WAFカスタムルール:中身・送信元での制御。Rate Limitingと同じ画面で管理します(前々ページ)
- ボット対策:送信元が自動化かどうかで見分ける機能。IP分散型への対抗はこちら(前ページ)
- Turnstile:ログインフォーム自体に人間確認を仕込む方法。Rate Limitingと補完関係です(次ページ)
まとめ
- Rate Limitingは、一定時間内のリクエスト回数に上限を設け、超過した送信元を一時的に拒否する仕組み
- ルールは「条件・しきい値と期間・アクションと継続時間」の3要素で構成し、送信元ごとに数える
- ブルートフォース・API乱用・スクレイピングなど「回数の暴力」に効く。1回で成立する攻撃はWAFの担当
- 現在は全プラン標準機能。Free 1個/Pro 2個/Business 5個/Enterprise 100個とルール数・柔軟性が広がる
- まずはログインページの保護から。しきい値は正規の利用を巻き込まないよう控えめに始める
次に読む
※本記事の情報は 2026年8月時点のものです。