在 AWS WAF 中使用 IP 信譽清單或匿名 IP 清單時,如何允許合法的 IP 地址?

3 分的閱讀內容
0

Amazon IP 信譽清單受管規則群組或匿名 IP 清單受管規則群組封鎖我的合法請求。如何在 AWS WAF 中允許我的 IP 地址?

簡短描述

合法請求可能會被下列其中一個 AWS 受管規則群組封鎖:

若要允許特定的 IP 地址,請使用下列其中一種方法來解決此問題:

  • 向下範圍陳述式,以縮小規則評估的要求範圍。選擇此選項可在單一規則群組中定址邏輯。
  • Web 請求上的標籤,以允許符合要求的規則,將比對結果傳達給稍後在相同 Web ALC 中評估的規則。選擇此選項可在多個規則中重複使用相同的邏輯。

解決方案

選項 1:使用縮小範圍陳述式

首先,建立 IP 集。

  1. 開啟 AWS WAF 主控台
  2. 在導覽窗格中,選擇 IP sets (IP 集),然後選擇 Create IP set (建立 IP 集)。
  3. 為 IP 集輸入 IP 集名稱描述 - 選擇性。例如:我信任的 IP
    **備註:**建立 IP 集之後,就無法變更 IP 集名稱。
  4. 區域中,選擇要存放 IP 集的 AWS 區域。若要在網路 ACL 中使用 IP 集保護 Amazon CloudFront 分佈,您必須使用全域 (CloudFront)
  5. 如果是 IP 版本,請選擇您要使用的版本。
  6. 對於 IP 地址,請以 CIDR 標記法輸入您要允許的每行一個 IP 地址或 IP 地址範圍。
    注意:AWS WAF 支援除了 /0 以外的所有 IPv4 和 IPv6 CIDR 範圍。
    範例:
    若要指定 IPv4 地址 192.168.0.26,請輸入
    192.168.0.26/32

    若要指定 IPv6 地址 0:0:0:0:0:ffff:c000:22c,請輸入 0:0:0:0:0:ffff:c000:22c/128
    若要指定從 192.168.20.0 到 192.168.20.255 之間的 IPv4 地址範圍,請輸入 192.168.20.0/24
    若要指定 IPv6 地址的範圍,請輸入 2620:0:2d0:200:0:0:0:0 to 2620:0:2d0:200:ffff:ffff:ffff:ffff, enter 2620:0:2d0:200::/64
  7. 檢閱 IP 集的設定。如果它符合您的規格,請選擇建立 IP 集

然後,將範圍陳述式新增至封鎖請求的特定 AWS 受管規則。

  1. 在導覽窗格的 AWS WAF 下,選擇網頁 ACL
  2. 區域中,選取您在其中建立 Web ACL 的 AWS 區域。
    注意:如果您的網路 ACL 是針對 Amazon CloudFront 所設定,請選取全域
  3. 選取您的 Web ACL。
  4. 在 Web ACL Rules (規則) 索引標籤中,選擇封鎖請求的特定 AWS 受管規則群組,然後選擇 編輯
  5. 對於 Scope-down statement - optional (向下範圍陳述式 - 選擇性),請選擇 Enable scope-down statement (啟用範圍向下陳述式)。
  6. 對於如果請求,選擇與語句 (NOT) 不匹配
  7. 陳述式上,對於檢查,選擇中的來自 IP 地址起源
  8. 對於IP 集,請選擇您先前建立的 IP 集。例如:我信任的 IP
  9. 要使用 IP 地址做為原始地址,請選擇來源 IP 地址
  10. 選擇儲存規則

選項 2:在 Web 請求上使用標籤

首先,建立 IP 集。

  1. 開啟 AWS WAF 主控台
  2. 在導覽窗格中,選擇 IP sets (IP 集),然後選擇 Create IP set (建立 IP 集)。
  3. 為 IP 集輸入 IP 集名稱描述 - 選擇性。例如:我信任的 IP
    **備註:**建立 IP 集之後,就無法變更 IP 集名稱。
  4. 區域中,選擇要存放 IP 集的 AWS 區域。若要在網路 ACL 中使用 IP 集保護 Amazon CloudFront 分佈,您必須使用全域 (CloudFront)
  5. 如果是 IP 版本,請選擇您要使用的版本。
  6. 對於 IP 地址,請以 CIDR 標記法輸入您要允許的每行一個 IP 地址或 IP 地址範圍。
    注意:AWS WAF 支援除了 /0 以外的所有 IPv4 和 IPv6 CIDR 範圍。
    範例:
    若要指定 IPv4 地址 192.168.0.26,請輸入
    192.168.0.26/32

    若要指定 IPv6 地址 0:0:0:0:0:ffff:c000:22c,請輸入 0:0:0:0:0:ffff:c000:22c/128
    若要指定從 192.168.20.0 到 192.168.20.255 之間的 IPv4 地址範圍,請輸入 192.168.20.0/24
    若要指定 IPv6 地址的範圍,請輸入 2620:0:2d0:200:0:0:0:0 to 2620:0:2d0:200:ffff:ffff:ffff:ffff, enter 2620:0:2d0:200::/64
  7. 檢閱 IP 集的設定。如果它符合您的規格,請選擇建立 IP 集

然後,將規則動作變更為規則群組中的計數。

  1. 在 Web ACL 頁面規則索引標籤中,選取攔截請求的 AWS 受管規則群組,然後選擇 編輯
  2. 規則群組的「規則」區段中,執行下列其中一項作業:
    對於 AWSManagedIPReputationList,請開啟計數
    對於 AnonymousIPList 規則,請開啟計數
  3. 選擇儲存規則

最後,建立數字優先順序高於封鎖請求的特定 AWS 受管規則的規則。

  1. 在導覽窗格的 AWS WAF 下,選擇網頁 ACL
  2. 區域中,選擇您在其中建立 Web ACL 的 AWS 區域。 **注意:**如果您的網路 ACL 是針對 Amazon CloudFront 所設定,請選取全域。
  3. 選取您的 Web ACL。
  4. 選擇「規則」。
  5. 選擇「新增規則」,然後選擇「新增我自己的規則和規則群組」。
  6. 名稱中,輸入規則名稱,然後選擇一般規則
  7. 對於「如果要求 」,選擇 符合所有陳述式 (AND)
  8. Statement 1
    對於「檢查」,選擇「有標籤」。
    對於 Match scope (比對範圍) 中,選擇 Label (標籤)。
    對於 Match key (比對金鑰),請選取 awswaf:managed:aws:amazon-ip-list:AWSManagedIPReputationListawswaf:managed:aws:anonymous-ip-list:AnonymousIPList,根據哪個受管規則封鎖您的要求
  9. Statement 2 (陳述式 2) 上:
    對於「否定」陳述式 (NOT) ,請選擇「否定陳述式結果」。
    對於「檢查」,請在中選擇「從 IP 地址起源」。
    對於IP 集,請選擇您先前建立的 IP 集。
    要使用 IP 地址做為原始地址,請選擇來源 IP 地址
  10. 針對「動作」,選擇「封鎖」。
  11. 選擇「新增規則」。
  12. 對於設定規則優先順序 ,請將規則移至封鎖請求的 AWS 受管規則下方。
  13. 選擇 Save (儲存)。

重要事項: 最佳做法是在非生產環境中測試規則,並將「動作」設定為「計數」。使用結合 AWS WAF 取樣請求或 AWS WAF 日誌的 Amazon CloudWatch 指標來評估規則。如果您滿意規則執行您想要的動作,請將「 動作 」變更為「 封鎖 」。


相關資訊

如何偵測由 AWS Managed Rules 引起的誤報並將其新增至安全清單中?

AWS 官方
AWS 官方已更新 2 年前