使用容量限制條件 - AWS WAF、AWS Firewall Manager 與 AWS Shield Advanced

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

使用容量限制條件

注意

這是AWS WAF傳統文件中)。如果您在 2019 年 11 月 AWS WAF 之前建立 AWS WAF 資源 (例如規則和 Web ACL),而且並未將其移轉至最新版本,則應該只使用此版本。若要移轉資源,請參閱 遷移您的AWS WAF傳統資源AWS WAF

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

如果您想根據指定部分請求的長度,允許或封鎖 web 請求,請建立容量限制條件。大小約束條件會識別您想要的 Web 請求部分。AWS WAF經典的看,你想要的字節數AWS WAFClassic (要查找的傳統) 和運算子,例如大於 (>) 或小於 (<)。例如,您可以使用容量限制條件,以尋找超過 100 位元組的查詢字串。稍後,當您建立 Web ACL,您需要指定是否要根據這些設定允許或封鎖請求。

請注意,如果您將AWS WAFClassic) 檢查請求內文,例如,通過在主體內搜尋指定字串,AWS WAF傳統文件只會檢查第一個 8192 位元組 (8 KB)。如果您的 Web 請求的請求主體永遠不會超過 8192 個位元組,您可以建立容量限制條件,封鎖大於 8192 位元組的請求。

建立容量限制條件

當您建立大小限制條件,您需要指定篩選條件,以識別您要為其中的 Web 請求部分AWS WAF經典評估長度。您可以將多個篩選條件增至容量限制條件,或您可以為每個篩選條件建立獨立的條件。以下是每個組態如何影響AWS WAF傳統行為:

  • 每個大小限制條件的篩選條件— 當您將個別的大小限制條件新增至規則,並將該規則新增至 Web ACL,Web 請求必須符合所有條件AWS WAFClassic(根據條件允許或封鎖任何請求)。

    例如,假設您建立兩個條件。一個符合 web 請求查詢字串大於 100 位元組。另一個符合 web 請求內文大於 1024 位元組。將這兩個條件新增至相同的規則中,並將此規則新增至 Web ACL,AWS WAFClassic 僅在兩個條件均為真時允許或阻止請求。

  • 每個大小限制條件的多個篩選條件— 當您將含有多個篩選條件的大小限制條件新增至規則,並將該規則新增至 Web ACL,Web 請求只需要符合大小限制條件中的一個篩選條件AWS WAFClassic,根據該條件允許或阻止請求。

    假設您建立一個條件而不是兩個,此唯一的條件含有兩個一樣的篩選條件,如前述範例。AWS WAF如果查詢字串是否超過 100 位元組或請求內文是否超過 1024 位元組,則會允許或封鎖請求。

注意

將大小限制條件新增至規則時,您也可以設定AWS WAF經典,允許或阻止不要匹配條件中的值。

建立容量限制條件

  1. 登入AWS Management Console開啟AWS WAF主控台https://console.aws.amazon.com/wafv2/

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

  2. 在導覽窗格中,選擇容量限制

  3. 選擇 Create condition (建立條件)

  4. 指定適用的篩選條件設定。如需詳細資訊,請參閱 在您建立或編輯容量限制條件時所指定的值

  5. 選擇 Add another filter (新增其他篩選條件)

  6. 如果您希望新增另一個篩選,重複步驟四和五。

  7. 當您完成新增篩選條件後,請選擇建立容量限制條件

在您建立或編輯容量限制條件時所指定的值

在建立或更新容量限制條件時,請指定以下的值:

名稱

輸入容量限制條件的名稱。

名稱僅能含有英數字元 (A-Z、a-z、0-9) 或以下特殊字元:_-!」 #`+*}, ./. 條件的名稱在建立後無法變更。

要篩選的請求部分是

選擇您想要使用的 Web 請求部分AWS WAF經典評估長度:

標頭

指定的請求標頭,例如,User-AgentReferer 標頭。如果您選擇標頭,請在標頭欄位裡指定標頭的名稱。

HTTP 方法

HTTP 方法,指出請求要求要求來源執行的操作類型。CloudFront 支援下列方法:DELETEGETHEADOPTIONSPATCHPOSTPUT

查詢字串

出現在 ? 字元後的 URL 部分 (如果有)。

URI

請求的 URI 路徑,用於標識資源,例如/images/daily-ad.jpg。這不包括 URI 的查詢字符串或片段組件。如需相關資訊,請參閱「」。統一資源識別符 (URI):通用語法

除非指定 Transformation (轉換),URI 沒有標準化和受檢,就像 AWS 從用戶端收到部分的請求。Transformation (轉換) 將如指定重新格式化 URI。

Body

部分的請求內容含有您想傳送至您的 web 伺服器做為 HTTP 請求內文的額外資料,您要傳送到您的 Web 伺服器的 HTTP 請求的內文,例如資料表單。

單一查詢參數 (僅數值)

任何您已定義做為部分查詢字串的參數。例如,如果 URL 為「www.xyz.com?UserName=abc&SalesRegion=seattle」,則您可以新增篩選條件至 UserNameSalesRegion 參數。

如果您選擇單一查詢參數 (僅數值),您也可以指定查詢參數名稱。這是您將在查詢字串參數中檢查的項目,例如 UserName查詢參數名稱的長度上限為 30 個字元。查詢參數名稱 不區分大小寫。例如,您指定 UserName查詢參數名稱,此會比對所有 UserName 的異體,如 usernameUsERName

所有的查詢參數 (僅數值)

類似於單一查詢參數 (僅數值),而不是檢查單個參數的值,AWS WAFClassic 會檢查大小約束的查詢字串內所有參數值。例如,如果 URL 是「www.xyz. 用户名 = ABC 和銷售區域 = 西雅圖」,並且您選擇所有的查詢參數 (僅數值)、AWS WAF經典將觸發匹配的值,如果UserName或者SalesRegion超過指定的大小。

標頭 (只有當「部分請求的篩選條件」為「標頭」時)

如果您選擇標頭為了要篩選的請求部分是,請從常見標頭清單中選擇一個標頭,或輸入您想要的標頭名稱。AWS WAF經典評估長度。

比較運算子

選擇您想要的方式AWS WAFClassic:評估 Web 請求中查詢字串的長度,根據您為大小

例如,如果您選擇大於為了比較運算子和類型100為了大小、AWS WAFClassic 評估長度超過 100 個字節的查詢字符串的 Web 請求。

大小

輸入您想要的長度(以字節為單位)AWS WAF在查詢字串中觀看的經典字串。

注意

如果您選擇 URI部分請求的值來篩選,則會視 URI 的 / 為一個字元。例如,URI 路徑/logo.jpg為 9 個字元。

轉換

轉換可重新格式化 Web 請求AWS WAFClassic 會評估請求部分指定請求部分的長度。此可避免攻擊者在 Web 請求中使用試圖略過的某些異常格式AWS WAFClassic (傳統)。

注意

如果選擇Body (本文)為了要篩選的請求部分是,則無法配置AWS WAFClassic (傳統) 來執行轉換,因為只會轉發前 8192 個字元進行檢查。但是,您仍然可以根據 HTTP 請求內文的大小篩選流量,並指定。(AWS WAFClassic 從請求頭獲取主體的長度。)

您只能指定一種文字轉換類型。

轉換可執行下列操作:

None (無)

AWS WAF在檢查 Web 請求的長度前,Classic 不執行任何文字轉換。

轉換成小寫

AWS WAFClassic 會將大寫字母 (A-Z) 轉換成小寫 (a-z)。

HTML 解碼

AWS WAFClassic 會使用未編碼字元取代 HTML 編碼字元:

  • &quot; 換成 &

  • 以非中斷空格取代 &nbsp;

  • &lt; 換成 <

  • &gt; 換成 >

  • 將表示為十六進位格式的字元 &#xhhhh; 以對應字元取代

  • 將表示為十進位格式的字元 &#nnnn; 以對應字元取代

標準化空格

AWS WAFClassic 會以空格字元 (小數 32) 替換以下字元:

  • \f、跳頁、小數 12

  • \t、標籤、小數 9

  • \n、換行,小數 10

  • \r、換行、小數 13

  • \v、垂直標籤,小數 11

  • 非中斷空格,小數 160

此外,此選項將數個空格取代為一個空格。

簡化命令列

對於包含作業系統命令列命令的請求,請使用此選項以執行以下轉換:

  • 刪除以下字元:\ " ' ^

  • 刪除以下字元前的空格:/ (

  • 將以下字元取代為空格:, ;

  • 將數個空格取代為一個空格

  • 將所有大寫字母 (A-Z) 轉換成小寫 (a-z)

URL 解碼

解碼 URL 編碼請求。

新增和刪除容量限制條件的篩選條件

您可以新增和刪除容量限制條件的篩選條件。若要變更篩選條件、新增新的篩選條件、和刪除舊的篩選條件。

新增和刪除容量限制條件的篩選條件

  1. 登入AWS Management Console開啟AWS WAF主控台https://console.aws.amazon.com/wafv2/

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

  2. 在導覽窗格中,選擇容量限制

  3. 選擇您想要在條件裡新增或刪除的篩選條件。

  4. 若要新增篩選條件,請執行以下步驟:

    1. 選擇新增篩選條件

    2. 指定適用的篩選條件設定。如需詳細資訊,請參閱 在您建立或編輯容量限制條件時所指定的值

    3. 選擇 Add (新增)

  5. 若要刪除篩選條件,請執行以下步驟:

    1. 選取您要刪除的篩選條件。

    2. 選擇刪除篩選條件

刪除容量限制條件

如果您想要刪除容量限制條件,您需要先刪除該條件內的所有篩選條件,以及從所有使用它的規則中移除,請參閱下列程序。

刪除容量限制條件

  1. 登入AWS Management Console開啟AWS WAF主控台https://console.aws.amazon.com/wafv2/

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

  2. 在導覽窗格中,選擇容量限制

  3. 容量限制條件窗格中,選擇您要刪除的容量限制條件。

  4. 在右窗格中,選擇 Associated rules (關聯的規則) 標籤。

    如果使用此容量限制條件規則的名單為空白,請移至步驟六。如果清單有包含任何規則,請記下該規則並繼續步驟五。

  5. 若要從使用該容量限制條件的規則中移除該條件,請執行以下步驟:

    1. 在導覽窗格中,選擇 Rules (規則)。

    2. 選擇要刪除使用該容量限制條件的規則名稱。

    3. 在右窗格中,選擇要刪除使用該容量限制條件的規則,然後選擇移除選取的條件

    4. 對所有剩下要刪除使用該容量限制條件的規則,重複步驟 b 和 c。

    5. 在導覽窗格中,選擇容量限制

    6. 容量限制條件窗格中,選擇您要刪除的容量限制條件。

  6. 選擇刪除以刪除選取的條件。