跳至內容

如何使用彙總鍵在 AWS WAF 中設定速率限制規則?

4 分的閱讀內容
0

我想使用彙總鍵功能,在 AWS WAF 中設定一條規則,用來追蹤並限制客戶請求的速率。

解決方法

使用 cookie 設定速率限制

對於具有單一名稱且值為動態的 Cookie,請完成以下步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和防護套件)。
  4. 選取您的防護套件
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Create new rule (建立新規則)。
  9. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  10. Rule Type (規則類型),選擇 Rate based rule (速率型規則),然後選取 Next (下一步)。
  11. Rules (規則) 下,選擇 Add Rules (新增規則)。
  12. 選擇 Add my own rules and rule groups (新增我自己的規則和規則群組)。
  13. 輸入以下值來設定您的規則:
    Rule type (規則類型) 中,選擇 Rule Builder (規則建置器)。
    Name (名稱) 中,輸入可識別此規則的名稱。
    Type (類型) 中,選擇 Rate-based rule (速率型規則)。
    Rate limit (速率限制) 中,輸入一個介於 100 到 20,000,000 之間的數字。
    Evaluation window (評估視窗) 中,選取 1、2、5 或 10 分鐘。
    Request aggregation (請求彙總) 中,選擇 Custom keys (自訂金鑰)。
    (選用) 選擇 Text transformation (文字轉換),或選擇 None (無)。
    If a Request (如果請求),請選擇 Consider all requests (考慮所有請求)。
    Action (動作) 中,選擇 Block (封鎖)。
    Cookie Name (Cookie 名稱),輸入您的 Cookie 名稱。
  14. 選擇 Add Rule (新增規則)。
  15. 選擇 Save (儲存)。

使用受管標籤命名空間設定速率限制

對於包含標籤 CategoryHTTPLibrary 的請求,請完成以下步驟。

將指定的受管規則群組設定為計數模式

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和防護套件)。
  4. 選取您的防護套件
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. Rules (規則) 下,選擇 Add Rules (新增規則)。
  8. 選擇 Add managed rule groups (新增受管規則群組)。
  9. 選擇 AWS managed rule groups (AWS 受管規則群組)。
  10. Paid rule groups (付費規則群組) 下的 Bot Control rule set (機器人控制規則集),切換開啟 Add to web ACL (新增至 Web ACL)。
  11. 選擇 Edit (編輯)。
  12. Inspection level (檢查層級),選取 Common (一般)。
  13. 在規則清單中的 HTTP library (HTTP 庫),選取 Count (計數)。
  14. 選擇 Add Rule (新增規則)。
  15. Set Rule Priority (設定規則優先順序) 選取您的規則,並將其更新為比機器人控制功能規則集更低的優先順序。
  16. 選擇 Save (儲存)。

將自訂規則新增至 Web ACL

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和防護套件)。
  4. 選取您的防護套件
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Create new rule (建立新規則)。
  9. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  10. Rule Type (規則類型),選擇 Rate based rule (速率型規則),然後選取 Next (下一步)。
  11. Rules (規則) 下,選擇 Add Rules (新增規則)。
  12. 選擇 Add my own rules and rule groups (新增我自己的規則和規則群組)。
  13. 若要設定規則,請設定以下值:
    Rule type (規則類型) 中,選擇 Rule Builder (規則建置器)。
    Name (名稱) 中,輸入可識別此規則的名稱。
    Type (類型) 中,選擇 Rate-based rule (速率型規則)。
    Rate limit (速率限制) 中,輸入一個介於 100 到 20,000,000 之間的數字。
    Evaluation window (評估視窗) 中,選取 1、2、5 或 10 分鐘。
    Request aggregation (請求彙總) 中,選擇 Custom keys (自訂金鑰)。
    Label namespace (標籤命名空間),輸入 awswaf:managed:aws:bot-control:bot:category:
    Scope of inspection and rate limiting (檢查範圍和速率限制),選擇 Consider all requests (考慮所有請求)。
    Action (動作) 中,選擇 Block (封鎖)。
  14. 選擇 Add Rule (新增規則)。
  15. Set Rule Priority (設定規則優先順序) 中,將您自訂規則的優先順序更新為低於您受管規則的優先順序。如需詳細資訊,請參閱設定規則優先順序
  16. 選擇 Save (儲存)。

使用 IP 設定速率限制

**注意:**您只能在流量包含特定主機標頭的情況下,使用 IP 來設定速率限制。如果流量沒有標頭,AWS WAF 就不會套用速率限制。

對於包含特定主機標頭 (例如 example.com) 的請求,請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在導覽窗格中,選擇 AWS WAF
  3. 選擇 Resources & protection packs (資源和防護套件)。
  4. 選取您的防護套件
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Create new rule (建立新規則)。
  9. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  10. Rule Type (規則類型),選擇 Rate based rule (速率型規則),然後選取 Next (下一步)。
  11. 若要設定規則,請設定以下值:
    Rule type (規則類型) 中,選擇 Rule Builder (規則建置器)。
    Name (名稱) 中,輸入可識別此規則的名稱。
    Type (類型) 中,選擇 Rate-based rule (速率型規則)。
    Rate limit (速率限制) 中,輸入一個介於 100 到 20,000,000 之間的數字。
    Evaluation window (評估視窗) 中,選取 1、2、5 或 10 分鐘。
    Request aggregation (請求彙總) 中,選擇 Source IP Address (來源 IP 位址)。
    Scope of inspection and rate limiting (檢查範圍和速率限制) 中,選擇 Only consider requests that match the criteria in a rule statement (僅考慮符合規則陳述式條件的請求)。
    If a request (如果請求) 中,選擇 Matches the statement (比對陳述式)。
    針對檢查,選擇單一標頭
    Header field name (標頭欄位名稱),輸入 Host (主機)。
    Match type (比對類型),選擇 Exactly matching String (完全相符字串)。
    String to match (要比對的字串),輸入 example.com。**注意:**將 example.com 替換為您的網址。
    (選用) 選擇 Text transformation (文字轉換),或選擇 None (無)。
    Action (動作) 中,選擇 Block (封鎖)。
  12. 選擇 Add rule (新增規則)。
  13. 選擇 Save (儲存)。
AWS 官方已更新 3 個月前