アイデンティティ攻撃への対策

レート制限 れーとせいげん

ブルートフォース攻撃アカウントロックDoS攻撃スロットリングAPI保護不正ログイン対策
レート制限について教えて

簡単に言うとこんな感じ!

「一定時間に何回までしかできないよ」ってルールを設けることだよ!たとえばログインを1分間に5回以上失敗したらブロック、みたいな感じ。パスワードを総当たりで試すハッカーを「多すぎ!」って弾く仕組みなんだ!


レート制限とは

レート制限(Rate Limiting)とは、ある操作を「一定時間内に実行できる回数」に上限を設ける仕組みのことです。たとえば「ログイン試行は1分間に5回まで」「APIへのリクエストは1時間に100回まで」といったルールを設定し、それを超えた場合はエラーを返したり、一定時間アクセスをブロックしたりします。

セキュリティの文脈では特に、パスワードを大量に試して突破しようとする「ブルートフォース攻撃」や「パスワードスプレー攻撃」への対策として重要です。攻撃者がプログラムを使って1秒間に何千回もパスワードを試しても、数回でブロックされれば攻撃が成立しなくなります。またAPIサービスでは、特定ユーザーによるサーバー過負荷(DoS的な使い方)を防ぐ目的でも広く使われています。

レート制限は「完璧な防御」ではなく、攻撃者が試行できる回数を現実的に無意味になるまで絞り込む「速度を落とさせる防御」です。他のセキュリティ対策(多要素認証CAPTCHAなど)と組み合わせることで、はじめて強力な防御になります。


レート制限の主な種類と設定パターン

種類対象具体例
ログイン試行制限認証エンドポイント5回失敗で15分ロック
IPアドレスベース同一IPからのアクセス1分間に10リクエストまで
アカウントベース同一ユーザーID1時間に50回のAPI呼び出しまで
グローバル制限サービス全体全体で毎秒1万リクエストまで
エンドポイント別特定のURL・操作パスワードリセットは1日3回まで

覚え方:「速度を下げて、攻撃を防げ」

レート(Rate)=速度・頻度。「速度に制限をかける」というイメージで覚えましょう。自動車のスピードリミッターと同じで、「それ以上出るのを物理的に止める」装置だと考えると直感的です。

ブロック戦略の比較

戦略内容長所短所
ハードブロック上限超過で即アクセス拒否シンプルで強力正規ユーザーも誤ってブロックされることがある
スロットリング超過後はレスポンスを遅くするユーザー体験を保ちやすい攻撃者も低速で試行を続けられる
CAPTCHAへ誘導超過後は人間確認を要求正規ユーザーへの影響が少ない実装コストがかかる
段階的ロック失敗回数に応じてロック時間を延長バランスが良い設定が複雑になる

歴史と背景

  • 1990年代後半〜2000年代初頭:ブルートフォース攻撃によるパスワード解読が問題になりはじめる。初期のWebシステムはログイン試行回数に制限がなく、自動化ツールで簡単に突破されるケースが増加。
  • 2000年代中盤:多くのWebアプリケーションフレームワークが「アカウントロック」機能を標準搭載しはじめる。ただし「ロックアウト攻撃(意図的に他人のアカウントをロックさせる)」という悪用が問題化。
  • 2010年代:APIエコノミーの拡大に伴い、APIゲートウェイでのレート制限が標準的な設計要件に。AWSやGCPなどのクラウドサービスがスロットリング機能を組み込み提供。
  • 2012年頃〜:パスワードスプレー攻撃(少ない試行回数で大量アカウントを狙う)の台頭により、IPベース・アカウントベースを組み合わせた多層的なレート制限が求められるようになる。
  • 2020年代:クラウドWAF(Web Application Firewall)CDNCloudflare等)がレート制限機能を標準提供。設定なしでも一定の保護が受けられる環境が整う。

レート制限と関連する防御技術の全体像

レート制限は、不正アクセスへの対策として使われる複数の仕組みの一つです。それぞれの役割を整理すると:

不正ログイン対策の多層防御 レート制限 (今回のテーマ) 試行回数の上限設定 (IPまたはアカウント) 超過後のブロック ・スロットリング 段階的ロックアウト (時間延長) 「速度を下げる」 アカウント保護 多要素認証 (MFA/2FA) 強力なパスワード ポリシー パスワードレス 認証(パスキー) 「突破されにくくする」 ボット検出 CAPTCHA (人間確認) デバイスフィンガー プリント 行動分析 (異常検知) 「ボットを見分ける」 監視・通知 ログ分析 ・SIEM連携 アラート・ 通知設定 インシデント 対応フロー 「気づいて対処する」 💡 レート制限だけでは完全に防げない。多層防御の組み合わせが重要!

レート制限 vs アカウントロック:何が違う?

よく混同されますが、アカウントロックとは少し違います。

比較軸レート制限アカウントロック
対象IPアドレスやAPIキーユーザーアカウント
ロック解除時間経過で自動解除が基本管理者操作や時間経過
悪用リスク比較的低い意図的ロックアウト攻撃に使われることがある
正規ユーザーへの影響IPが変わると継続利用可能アカウントごとブロックされる

関連する規格・RFC

規格・RFC番号内容
RFC 6585HTTPステータスコード 429 Too Many Requests の定義。レート制限超過時に返すべきレスポンスコードを規定
RFC 6749OAuth 2.0の仕様。APIアクセストークンに対するレート制限の実装基盤となる
RFC 8446TLS 1.3。レート制限と組み合わせて通信保護を行う際の基盤プロトコル

関連用語