Rate Limitingとは?アクセス制限の仕組み

《 Cloudflare完全ガイド 目次へ 》

ここまでに学んだ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のリクエストに適用したものです。

Rate Limitingの仕組み
図1:Rate Limitingの仕組み

何を防げるのか

  • ブルートフォース攻撃(総当たり攻撃):パスワードを片っ端から試すログイン試行。回数制限がもっとも直接的な対策です
  • クレデンシャルスタッフィング:前ページで学んだ、漏えいパスワードのリストを試す攻撃。これも本質は「大量のログイン試行」です
  • APIの乱用:想定を超える頻度でAPIを叩くプログラムによる、サーバー負荷や従量課金の増大
  • スクレイピングの抑制:全ページを機械的に巡回するボットは、人間にはあり得ない頻度でアクセスします
  • 小規模なL7 DDoSの緩和:DDoSのページで学んだHTTPフラッドのうち、送信元が限られる小規模なものには回数制限が有効です

逆に言うと、Rate Limitingは「1回でも通れば成立する攻撃」(SQLインジェクションなど)には効きません。そちらはWAFの担当です。各機能の守備範囲が違うからこそ、重ねて使う意味があります。

ルールを構成する3要素

CloudflareのRate Limitingルールは、WAFと同じ画面(Security配下)で作成し、次の3要素で構成されます。

  1. 条件(どのリクエストを数えるか):対象のURLやHTTPメソッドなど。例:「/login へのPOSTリクエスト」
  2. しきい値と期間(何回まで許すか):計測期間内の上限回数。例:「同じIPアドレスから1分間に5回まで」
  3. アクションと継続時間(超えたらどうするか):ブロック・チャレンジなどの対応と、それを続ける時間。例:「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月時点のものです。

タイトルとURLをコピーしました