推出 的新主控台體驗 AWS WAF
您現在可以使用更新後的體驗,在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊,請參閱使用更新的主控台體驗。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS WAF 規則
本節說明什麼是 AWS WAF 規則及其運作方式。
AWS WAF 規則定義如何檢查 HTTP(S) Web 請求,以及在符合檢查條件時對請求採取的動作。您只能在規則群組或保護套件或 Web ACL 的內容中定義規則。
規則本身不存在於 中 AWS WAF 。它們不是 AWS 資源,也沒有 Amazon Resource Name (ARNs)。您可以在定義規則群組或保護套件或 Web ACL 中依名稱存取規則。您可以使用規則群組的 JSON 檢視或包含規則的保護套件或 Web ACLs,來管理規則並將其複製到其他保護套件或 Web ACL。您也可以透過 AWS WAF 主控台規則建置器來管理它們,該建置器可用於保護套件或 Web ACLs 和規則群組。
規則名稱
每個規則都需要一個名稱。避免開頭為 的名稱,AWS
以及用於其他 服務為您管理的規則群組或規則的名稱。請參閱 辨識其他服務提供的規則群組。
注意
如果您變更規則的名稱,且希望規則的指標名稱反映變更,則也必須更新指標名稱。 AWS WAF 當您變更規則名稱時, 不會自動更新規則的指標名稱。您可以使用規則 JSON 編輯器,在主控台中編輯規則時變更指標名稱。您也可以透過 APIs 和您用來定義保護套件或 Web ACL 或規則群組的任何 JSON 清單中變更這兩個名稱。
規則陳述式
每個規則還需要規則陳述式,以定義規則如何檢查 Web 請求。規則陳述式可能包含任何深度的其他巢狀陳述式,取決於規則和陳述式類型。有些規則陳述式採用一組條件。例如,您可以為 IP 集比對規則指定最多 10,000 個 IP 地址或 IP 地址範圍。
您可以定義規則來檢查條件,如下所示:
-
指令碼可能為惡意。攻擊者可以利用 web 應用程式的漏洞內嵌指令碼。這稱為跨網站指令碼 (XSS)。
-
發出請求的 IP 地址或地址範圍。
-
發出請求的國家/地區或地理位置。
-
請求指定部分的長度,例如查詢字串。
-
SQL 程式碼可能為惡意。攻擊者會藉由內嵌惡意 SQL 程式碼於 web 請求中,嘗試從您的資料庫碼擷取資料。此稱為 SQL Injection。
-
字串會出現在請求,例如出現在
User-Agent
標頭的值或出現在查詢字串的文字字串。您也可以使用規則運算式 (regex) 指定這些字串。 -
保護套件或 Web ACL 中先前規則已新增至請求的標籤。
除了具有 Web 請求檢查條件的陳述式之外, 也 AWS WAF 支援 AND
、 OR
和 的邏輯陳述式NOT
,您可用來在規則中結合陳述式。
例如,根據您最近從攻擊者看到的請求,您可以使用結合下列巢狀陳述式的邏輯AND
陳述式來建立規則:
-
來自 192.0.2.44 的請求。
-
在
User-Agent
標頭中包含BadBot
值。 -
它們好像有包含類似 SQL 程式碼的查詢字串。
在此情況下,Web 請求需要符合所有陳述式,才能產生最上層 的相符項目AND
。