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