跳至內容

如何使用 AWS WAF 來緩解 DDoS 攻擊?

5 分的閱讀內容
0

我想使用 AWS WAF 防護套件來減緩應用程式層的分散式阻斷服務 (DDoS) 攻擊。

簡短描述

若要使用 AWS WAF 作為針對應用程式層 DDoS 攻擊的主要緩解措施,請執行下列動作:

  • 使用速率型規則
  • 查詢 AWS WAF 日誌以收集未經授權活動的具體資訊。
  • 建立地理匹配規則,以封鎖來自您業務非預期國家/地區的惡意請求。
  • 建立 IP 集匹配規則來封鎖不良請求。
  • 建立字串匹配規則來封鎖不良請求。
  • 建立規則表達式匹配規則來封鎖不良請求。
  • 開啟機器人控制功能並使用目標保護層級。
  • 使用 Amazon IP 信譽清單受管規則群組。

對於基礎結構層攻擊,使用 Amazon CloudFront 和 Elastic Load Balancing (ELB) 等 AWS 服務提供自動 DDoS 保護。如需詳細資訊,請參閱 AWS DDoS 彈性最佳做法。您也可以使用 AWS Shield Advanced 自動執行應用程式層 來緩解複雜的攻擊,例如第 3 至第 7 層的攻擊。若要了解詳細資訊,請參閱使用 Shield Advanced 自動執行應用程式層 DDoS 緩解

解決方法

使用速率型規則

建立統一速率型規則

使用統一速率型規則來設定 IP 位址可對您的 Web 應用程式發出的請求次數上限。

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  9. 選擇 Rate based rule (速率型規則),然後選取 Next (下一步)。
  10. 若要設定規則,請設定以下值:
    Action (動作) 中,選取 Block (封鎖)。
    Name (名稱) 中,輸入規則名稱。
    Rate limit (速率限制) 中,輸入一個介於 10 到 2,000,000,000 之間的數字。
    **注意:**如果您不確定要設定什麼速率限制,請使用規則動作來計算和監控您的請求模式。然後,根據您的基準設定速率限制。
    Evaluation window (評估視窗) 中,輸入 1、2、5 或 10 分鐘。
    Rule configuration block (規則組態區塊) 下拉式清單中:
    IP address to use for rate limiting (用於速率限制的 IP 位址) 中,選取 Source IP address (來源 IP 位址) 或 IP address in header (標頭中的 IP 位址)。
    **注意:**提交請求速率變更後,您可能會遇到延遲,因為 AWS WAF 會套用或移除規則動作。
    Scope of inspection (檢查範圍),選取 Consider all requests (考慮所有請求)。
  11. 選取 Create rule (建立規則)。

建立自訂金鑰 (URI 路徑) 速率型規則

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  9. 選擇 Rate based rule (速率型規則),然後選取 Next (下一步)。
  10. 若要設定規則,請設定以下值:
    在「動作」中,選取 Block (封鎖)。
    Name (名稱) 中,輸入規則名稱。
    Rate limit (速率限制) 中,輸入一個介於 10 到 2,000,000,000 之間的數字。
    **注意:**如果您不確定要設定什麼速率限制,請使用規則動作來計算和監控您的請求模式。然後,根據您的基準設定速率限制。
    Evaluation window (評估視窗) 中,輸入 1、2、5 或 10 分鐘。
    Rule configuration block (規則組態區塊) 下拉式清單中:
    在「規則組態」下選取 Custom Keys (自訂金鑰)。
  11. Request aggregation keys (請求彙總金鑰) 中,選取 URI 路徑
  12. Text transformations (文字轉換),選擇 None (無)。
    **注意:**提交請求速率變更後,您可能會遇到延遲,因為 AWS WAF 會套用或移除規則動作。
    Scope of inspection (檢查範圍),選取 Consider all requests (考慮所有請求)。
  13. 選取 Create rule (建立規則)。

如需詳細資訊,請參閱三個最重要的 AWS WAF 速率型規則

查詢 AWS WAF 日誌以收集未經授權活動的具體資訊

開啟 AWS WAF 記錄。然後,查詢 AWS WAF 日誌以調查 DDoS 情境。

您可以使用下列 AWS 服務查詢 AWS WAF 日誌:

使用 Amazon Athena 日誌剖析器或 AWS Lambda 日誌剖析器

AWS WAF 對於速率型規則有最低可接受速率限制。如果您因為流量較少而無法使用速率型規則,或者您需要可自訂的封鎖期間,請使用 Athena 或 Lambda 中的日誌剖析器。這兩項服務均可在 AWS WAF 安全自動化中使用。

建立地理匹配規則陳述式,以封鎖來自您業務非預期國家/地區的惡意請求

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選取 Geo-based rule (地理型規則)。
  9. 若要設定規則,請設定以下值:
    Rule Action (規則動作) 中,選擇 Block (封鎖)。
    Name (名稱) 中,輸入規則名稱。
    在陳述式下,選擇您想要封鎖的國家代碼。
  10. 選取 Create rule (建立規則)。

如需詳細資訊,請參閱地理匹配規則陳述式

建立 IP 集匹配規則以封鎖來自特定 IP 位址的惡意請求

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 IP based rule (IP 型規則),然後選取 Next (下一步)。
  9. 若要設定規則,請設定以下值:
    Rule Action (規則動作) 中,選擇 Block (封鎖)。
    Name (名稱) 中,輸入規則名稱。
    在陳述式下,啟用 Use existing IP set (使用現有 IP 集合),並選擇該 IP 集合。
  10. 選取 Create rule (建立規則)。

如需詳細資訊,請參閱 IP 集匹配規則陳述式

建立字串匹配規則陳述式來封鎖惡意請求

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  9. 再次選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  10. Rule Action (規則動作) 中,選擇 Block (封鎖)。
  11. 若要設定規則,請設定以下值:
    Name (名稱) 中,輸入規則名稱。
    If a request (如果請求) 中,選取 matches the statement (符合陳述式)。
    針對 Inspect (檢查),選擇 Header (標頭)。
    Header field name (標頭欄位名稱) 中,輸入您要封鎖機器人的名稱,該名稱應會出現在您的 AWS WAF 日誌中。
    Match Type (匹配類型) 中,選取 Exactly matches string (完全相符字串)。
    String to Match (要匹配的字串) 中,輸入您要封鎖機器人的,該值應出現在您的 AWS WAF 日誌中。
  12. 選取 Create rule (建立規則)。

如需詳細資訊,請參閱字串匹配規則陳述式

建立規則表達式匹配規則陳述式來封鎖不良請求

請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  9. 再次選擇 Custom rule (自訂規則),然後選取 Next (下一步)。
  10. 若要設定規則,請設定以下值:
    Rule action (規則動作) 中,選擇 Block (封鎖)。
    Name (名稱) 中輸入規則名稱。
    在 If a request (如果請求) 中,選取 matches the statement (符合陳述式) 在 Inspect (檢查) 中,選擇 URI Path (URI 路徑)。
    Match type (匹配類型) 中,選取 Matches regular expression (匹配規則表達式)。
    String to match (要匹配的字串) 中,輸入要封鎖的規則表達式。
    Rule Action (規則動作) 中,選擇 Block (封鎖)。
  11. 選取 Create rule (建立規則)。

如需詳細資訊,請參閱規則表達式匹配規則陳述式

開啟機器人控制功能並使用目標保護層級

AWS WAF 機器人控制功能的目標保護層級使用速率限制和 CAPTCHA 及質詢動作組合來減少機器人活動。如需目標機器人控制功能定價的資訊,請參閱 AWS WAF 定價頁面上的案例 F

若要開啟機器人控制功能和目標保護層級,請完成以下步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 AWS-managed rule group (AWS 受管規則群組),然後選取 Next (下一步)。
  9. Paid (付費) 下,選取 Bot Control rule group (機器人控制規則群組)。
  10. Inspection level (檢查層級) 下,選取 Targeted (目標)。
  11. 選取 Create rule (建立規則)。

使用 Amazon IP 信譽清單受管規則群組

AWSManagedIPReputationList 受管規則群組使用 Amazon 內部威脅智慧來識別主動參與 DDoS 活動的 IP 位址。

若要啟用 Amazon IP 信譽清單受管規則群組,請完成下列步驟:

  1. 開啟 AWS WAF console (AWS WAF 主控台)。
  2. 在「區域」中,選擇您在其中建立防護套件的 AWS 區域。
  3. 在導覽窗格中,選擇 Resources & protection packs (資源和防護套件)。
  4. 在防護套件的右側,選擇區域名稱旁的圖示以選擇防護套件。
  5. 在您選取的防護套件中,選取 Rules (規則)。
  6. 選取規則旁邊的 View and edit (檢視和編輯),檢視或修改與您的防護套件相關的規則。
  7. 在管理規則的右側窗格中,選擇 Add rules (新增規則)。
  8. 選擇 AWS-managed rule group (AWS 受管規則群組),然後選取 Next (下一步)。
  9. Free rules (免費規則) 下,選取 AmazonIpReputationList
  10. 選取 Create rule (建立規則)。
AWS 官方已更新 8 個月前