機能概要 #
RateLimit(レートリミット)機能は、指定したURIに対して、単位時間あたりに許可するリクエスト数を制限するアクセス制御機能です。
同一の送信元(通常はIPアドレス)からのリクエストが設定した上限を超えた場合、本サービスが超過分のリクエストをブロック(例: 特定のエラーステータスコードを返す)します。これにより、特定のURIへのアクセス集中によるオリジンサーバーの負荷上昇の抑制、ブルートフォース攻撃の緩和、Webスクレイピング行為の制限などに役立ちます。
【ベータ機能に関する注意】 本機能は現在ベータ版 (β機能) として提供されています。そのため、詳細な仕様(設定可能な値、バーストモードの挙動など)は今後変更される可能性がありますので、あらかじめご了承ください。
設定方法 #
RateLimitの設定は、管理画面のWAF設定で行います。
設定可能な項目:
設定項目 | 内容 | 補足 |
---|---|---|
対象URI | レートリミットを適用したいURIパスを指定 | (ルール設定機能の条件として指定) |
時間枠(秒間) | リクエスト数をカウントする期間 | 60秒程度 |
リクエスト上限 | 上記の時間枠内に同一送信元から許可する最大リクエスト数 | お客様が上限値を指定します。 |
バーストモード | 短期間に上限を超えるリクエストを一時的に許可する仕組み | 現在仕様調整中であり、詳細は未定または変更予定です。 |
設定手順:
- 管理画面のルール設定で、レートリミットをかけたいURIを指定します。
- 「RateLimitの有効化」のトグルスイッチをオンにします。
- 「
[ ] 秒間あたり [ ] リクエストまでに制限する
」の入力フィールドに、それぞれ時間枠(秒数)とリクエスト上限数を入力します。(例:60
秒間あたり100
リクエスト) - 「バースト設定」のドロップダウンメニューから、適切なモード(大, 小, なし, カスタム)を選択します。
- 設定内容を保存します。
【重要】 ベータ機能のため、設定画面やパラメータは変更されることがあります。最新の情報は別途ドキュメントや弊社からの案内をご確認ください。
主なユースケース #
- ログイン認証画面への攻撃緩和:
/login
へのリクエストを、1IPアドレスあたり60秒間に10回までに制限し、パスワードリスト攻撃やブルートフォース試行の効率を下げる。
- APIエンドポイントの保護:
- 特定の重い処理を行うAPI(例:
/api/heavy-process
)へのアクセスを、1IPアドレスあたり60秒間に5回までに制限し、サーバーリソースを保護する。
- 特定の重い処理を行うAPI(例:
- 検索機能の乱用防止:
- サイト内検索機能 (
/search
) へのリクエスト頻度を制限し、特定のユーザーやボットによる過度な負荷を防ぐ。
- サイト内検索機能 (
- 問い合わせフォーム等の連続投稿防止:
- フォーム送信を行うURIに対し、短時間に何度も送信できないようにレートリミットを設定する。
- スクレイピング対策:
- 大量のページを高速にクロールしようとするボットの動作を抑制するために、主要なコンテンツページに対して緩めのレートリミットを設定する。