測試 Web ACL - AWS WAF、 AWS Firewall Manager、和 AWS Shield Advanced

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

測試 Web ACL

注意

這是AWS WAF 經典文檔。只有在您在 2019 年 11 月 AWS WAF 之前建立了規則和 Web ACL 等 AWS WAF 資源,但尚未將資源移轉至最新版本時,才應使用此版本。若要移轉資源,請參閱 將您的 AWS WAF 傳統資源遷移到 AWS WAF

如需的最新版本 AWS WAF,請參閱AWS WAF

為了確保您不會意外地將 C AWS WAF lassic 設定為封鎖要允許或允許要封鎖要求的 Web 要求,建議您在開始在網站或 Web 應用程式上使用 Web ACL 之前,先徹底測試 Web ACL。

計數在 Web ACL 中符合規則的 web 請求

當您將規則新增至 Web ACL 時,您可以指定是否要讓 C AWS WAF lassic 允許、封鎖或計算符合該規則中所有條件的 Web 要求。建議您以下列組態開始動作:

  • 設定 Web ACL 的所有規則,以計數 Web 請求

  • 設定 Web ACL 的預設動作,以允許請求

在此組態中,C AWS WAF lassic 會根據第一個規則中的條件檢查每個 Web 要求。如果 Web 要求符合該規則中的所有條件,C AWS WAF lassic 會增加該規則的計數器。然後,「 AWS WAF 典型」會根據下一個規則中的條件檢查 Web 要求。如果要求符合該規則中的所有條件,C AWS WAF lassic 會增加規則的計數器。這會持續到 C AWS WAF lassic 根據您所有規則中的條件檢查請求為止。

在 Web ACL 中設定所有規則來計算請求,並將 Web ACL 與 Amazon API Gateway、 CloudFront 分發或 Application Load Balancer 產生關聯後,您可以在 Amazon CloudWatch 圖形中檢視產生的計數。針對 Web ACL 中的每個規則,以及 API Gateway CloudFront 或 Application Load Balancer 針對 Web ACL 轉寄至 AWS WAF 典型的所有要求, CloudWatch 可讓您:

  • 檢視前一小時或前三小時的資料,

  • 變更資料點之間的間隔。

  • 變更對資料 CloudWatch 執行的計算,例如最大值、最小值、平均值或總和

注意

AWS WAF 傳統服務 CloudFront 是全域服務,而量度只有在您選擇美國東部 (維吉尼亞北部) 區域時才可用 AWS Management Console。如果您選擇其他地區, CloudWatch 主控台中將不會顯示任何 AWS WAF 傳統量度。

若要在 Web ACL 查看規則資料
  1. 請登入 AWS Management Console 並開啟 CloudWatch 主控台,網址為 https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中,於 Metrics (指標) 下選擇 WAF

  3. 選取要檢視資料的 Web ACL 的核取方塊。

  4. 變更適用的設定:

    統計數字

    選擇對資料 CloudWatch 執行的計算。

    時間範圍

    選擇您想要檢視前一小時或前三個小時的資料。

    期間

    選擇圖形中資料點之間的間隔。

    規則

    選擇您要檢視資料的規則。

    注意下列事項:

    • 如果您只是將 Web ACL 與 API Gateway API、 CloudFront 分發或 Application Load Balancer 產生關聯,則可能需要等待幾分鐘,資料才會顯示在圖形中,以及 Web ACL 顯示在可用度量清單中的指標。

    • 如果您將多個 API Gateway API、 CloudFront 散發或 Application Load Balancer 與 Web ACL 產生關聯, CloudWatch 資料將包含與 Web ACL 相關聯的所有分發的所有要求。

    • 您可以將滑鼠指標移至資料點以取得更多資訊。

    • 圖形不會自動自我重新整理。若要更新顯示,請選擇重新整理 ( Icon to refresh the Amazon CloudWatch graph ) 圖示。

  5. (選擇性) 檢視 API Gateway CloudFront 或 Application Load Balancer 已轉寄至 AWS WAF 典型之個別要求的詳細資訊。如需詳細資訊,請參閱 檢視 API Gateway CloudFront 或 Application Load Balancer 已轉寄至 AWS WAF 典型的 Web 請求範例

  6. 如果您認為規則正在攔截您不希望攔截的請求,請變更設定。如需詳細資訊,請參閱 建立和設定 Web 存取控制清單 (Web ACL)

    當您對所有規則都能攔截到正確請求感到滿意時,請將每個規則的操作更改為允許封鎖。如需詳細資訊,請參閱 編輯 Web ACL

檢視 API Gateway CloudFront 或 Application Load Balancer 已轉寄至 AWS WAF 典型的 Web 請求範例

在 AWS WAF 典型主控台中,您可以檢視 API Gateway CloudFront 或 Application Load Balancer 已轉寄至 AWS WAF 典型進行檢查的要求範例。對於每個抽樣請求,您可以查看請求的詳細資料,例如源於的 IP 地址和包含在請求中的標頭。您也可以檢視請求符合的規則、規則是否有正確設定以用於允許或封鎖請求。

請求樣本最多含有 100 個請求符合所有條件中的每個規則中,以及另外 100 個預設動作的請求,這些請求適用於不符合所有條件中的任何規則。範例中的要求來自過去 15 分鐘內收到內容要求的所有 API Gateway API、 CloudFront 節點或應用程式負載平衡器。

檢視 API Gateway 的 Web 要求範例; CloudFront 或 Application Load Balancer 已轉寄至 AWS WAF 傳統版
  1. 請登入 AWS Management Console 並開啟 AWS WAF 主控台,網址為 https://console.aws.amazon.com/wafv2/

    如果您在導覽窗格中看到 [切換到 AWS WAF 傳統],請選取它。

  2. 在導覽窗格中,選擇您要檢視的 Web ACL 請求。

  3. 在右窗格中,選擇請求標籤。

    抽樣請求 表為每個請求顯示以下的值:

    來源 IP

    要求來源的 IP 位址,或者 (如果檢視者使用 HTTP Proxy 或 Application Load Balancer 器傳送要求) Proxy 或 Application Load Balancer 器的 IP 位址。

    URI

    請求的 URI 路徑,用於識別資源,例如/images/daily-ad.jpg。這不包括 URI 的查詢字串或片段元件。如需詳細資訊,請參閱統一資源識別元 (URI):一般語法

    比對規則

    識別 web 請求中符合所有 Web ACL 條件的中第一個規則。如果 web 請求不符合和所有 Web ACL 條件的規則,則 Matches rule (比對規則)預設

    請注意,當 Web 要求符合規則中的所有條件,且該規則的動作為「計數」時,C AWS WAF lassic 會繼續根據 Web ACL 中的後續規則檢查 Web 要求。在這種情況下,web 請求可能會在抽樣請求名單上出現兩次:一次因為規則操作 Count (計數) 的動作,並再次在後續規則或預設動作操作。

    動作

    指出動作對應的規則為允許封鎖Count (計數)

    時間

    AWS WAF 典型從 API Gateway CloudFront 或 Application Load Balancer 接收要求的時間。

  4. 若要顯示有關要求的其他資訊,請選擇該要求之 IP 位址左側的箭頭。 AWS WAF 「典型」會顯示下列資訊:

    來源 IP

    相同的 IP 地址做為表格中來源 IP欄的值。

    Country

    請求源自國家的雙字母國家/地區代碼。如果檢視器使用 HTTP Proxy 或 Application Load Balancer 器傳送要求,則這是 HTTP Proxy 或 Application Load Balancer 器所在國家/地區的兩個字母國碼。

    如需雙字母國家/地區代碼對應的國家/地區名稱,請參閱 Wikipedia 項目 ISO 3166-1 alpha-2

    方法

    HTTP 請求方法的請求:GETHEADOPTIONSPUTPOSTPATCHDELETE

    URI

    相同的 URI 做為表格中來源 IP欄的值。

    請求標頭

    請求的標頭和請求的標頭值。

  5. 若要重新整理範例清單,選擇Get new samples (取得新的範例)