測試 Web ACLs - AWS WAFAWS Firewall Manager、 和 AWS Shield Advanced

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

測試 Web ACLs

警告

AWS WAF 傳統支援將於 2025 年 9 月 30 日結束。

注意

這是 AWS WAF Classic 文件。只有在您在 2019 年 11 月 AWS WAF 之前建立 AWS WAF 規則和 Web 等資源ACLs,且尚未將其遷移至最新版本時,才應該使用此版本。若要遷移您的 Web ACLs,請參閱 將您的 AWS WAF Classic 資源遷移至 AWS WAF

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

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

計算符合 Web 中規則的 Web 請求 ACL

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

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

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

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

設定 Web 中的所有規則ACL以計算請求,並將 Web ACL與 Amazon API Gateway API、 CloudFront 分佈或 Application Load Balancer 建立關聯後,您可以在 Amazon CloudWatch 圖表中檢視產生的計數。針對 Web 中的每個規則,ACL以及 API Gateway CloudFront 或 Application Load Balancer 轉送至 Web 的 AWS WAF Classic 的所有請求ACL,會 CloudWatch 讓您:

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

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

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

注意

AWS WAF 使用 的 Classic CloudFront 是全域服務,且指標只有在您在 中選擇美國東部 (維吉尼亞北部) 區域時才能使用 AWS Management Console。如果您選擇其他區域, CloudWatch 則主控台中不會顯示 AWS WAF Classic 指標。

檢視 Web 中規則的資料 ACL
  1. 登入 AWS Management Console 並在 開啟 CloudWatch 主控台https://console.aws.amazon.com/cloudwatch/

  2. 在導覽窗格中的指標 下,選擇 WAF

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

  4. 變更適用的設定:

    統計數字

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

    時間範圍

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

    期間

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

    規則

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

    注意下列事項:

    • 如果您剛將 Web ACL與 API Gateway API、 CloudFront distribution 或 Application Load Balancer 建立關聯,您可能需要等待幾分鐘,才能讓資料出現在圖形中,以及ACL讓 Web 的指標出現在可用指標清單中。

    • 如果您將多個API閘道 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 Classic 之個別請求的詳細資訊。如需詳細資訊,請參閱檢視 API Gateway CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 的 Web 請求範例

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

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

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

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

請求樣本最多含有 100 個請求符合所有條件中的每個規則中,以及另外 100 個預設動作的請求,這些請求適用於不符合所有條件中的任何規則。範例中的請求來自過去 15 分鐘內收到內容請求的所有 API Gateway APIs、 CloudFront edge 位置或 Application Load Balancer。

檢視 API Gateway; CloudFront 或 Application Load Balancer 已轉送至 AWS WAF Classic 的 Web 請求範例
  1. 登入 AWS Management Console 並在 開啟 AWS WAF 主控台https://console.aws.amazon.com/wafv2/

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

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

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

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

    來源 IP

    如果檢視器使用HTTP代理或 Application Load Balancer 傳送請求,則為請求源自的 IP 地址,或者如果檢視器使用代理或 Application Load Balancer 傳送請求,則為代理或 Application Load Balancer 的 IP 地址。

    URI

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

    比對規則

    識別 Web 中 Web ACL 請求符合所有條件的第一個規則。如果 Web 請求不符合 Web 中任何規則的所有條件ACL,相符規則的值為預設值

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

    動作

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

    時間

    AWS WAF Classic 從 API Gateway CloudFront 或 Application Load Balancer 收到請求的時間。

  4. 若要顯示請求的其他資訊,請選擇該請求 IP 地址左側的箭頭。 AWS WAF Classic 會顯示下列資訊:

    來源 IP

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

    Country

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

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

    方法

    HTTP 請求的請求方法:GETHEADOPTIONSPUTPATCHPOSTDELETE

    URI

    URI 與資料表中資料URI欄的值相同。

    請求標頭

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

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