自治系統編號 (ASN) 比對規則陳述式 - AWS WAFAWS Firewall Manager、 AWS Shield Advanced和 AWS Shield 網路安全主管

推出 的新主控台體驗 AWS WAF

您現在可以使用更新後的體驗,在主控台的任何位置存取 AWS WAF 功能。如需詳細資訊,請參閱使用更新的主控台體驗

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

自治系統編號 (ASN) 比對規則陳述式

中的 ASN 比對規則陳述式 AWS WAF 可讓您根據與請求 IP 地址相關聯的自治系統編號 (ASN) 來檢查 Web 流量。ASNs是指派給大型網際網路網路的唯一識別符,由網際網路服務供應商、企業、大學或政府機構等組織管理。透過使用 ASN 比對陳述式,您可以允許或封鎖來自特定網路組織的流量,而無需管理個別 IP 地址。相較於以 IP 為基礎的規則,此方法提供更穩定且更有效率的方法來控制存取,因為 ASNs變更的頻率低於 IP 範圍。

ASN 比對對於封鎖來自已知有問題網路的流量或僅允許來自信任合作夥伴網路的存取等案例特別有用。ASN 比對陳述式可讓您靈活地透過選用的轉送 IP 組態來判斷用戶端 IP 地址,使其與各種網路設定相容,包括使用內容交付網路 (CDNs) 或反向代理的網路設定。

注意

ASN 比對補充,但不取代標準身分驗證和授權控制。我們建議您實作身分驗證和授權機制,例如 IAM,以驗證應用程式中所有請求的身分。

ASN 比對陳述式的運作方式

AWS WAF 根據請求的 IP 地址決定請求的 ASN。根據預設, AWS WAF 會使用 Web 請求原始伺服器的 IP 地址。您可以透過在規則陳述式設定中啟用轉送的 IP 組態X-Forwarded-For, AWS WAF 將 設定為使用來自替代請求標頭的 IP 地址,例如 。

ASN 比對陳述式會將請求的 ASN 與規則中指定的 ASNs 清單進行比較。如果 ASN 符合清單中的一個,則陳述式會評估為 true,並套用相關聯的規則動作。

處理未映射ASNs

如果 AWS WAF 無法判斷有效 IP 地址的 ASN,則會指派 ASN 0。您可以在規則中包含 ASN 0,以明確處理這些案例。

無效的 IP 地址的備用行為

當您將 ASN 比對陳述式設定為使用轉送 IP 地址時,您可以為指定標頭中 IP 地址無效或遺失的請求指定相符不相符的備用行為。

規則陳述式特性

可巢狀 – 您可以巢狀化此陳述式類型。

WCUs – 1 個 WCU

此陳述式使用以下設定:

  • ASN 清單 – 要比較 ASN 比對的 ASN 編號陣列。有效值的範圍從 0 到 4294967295。您可以為每個規則指定最多 100 ASNs。

  • (選用) 轉送 IP 組態 – 預設 AWS WAF 會使用 Web 請求原始伺服器中的 IP 地址來判斷 ASN。或者,您可以改為將規則設定為在 HTTP 標頭中使用轉送的 IPX-Forwarded-For。您可以指定是否使用 標頭中的第一個、最後一個或任何地址。使用此組態,您也可以指定後援行為,以套用至標頭中 IP 地址格式不正確的 Web 請求。備用行為會將請求的相符結果設定為相符或不相符。如需詳細資訊,請參閱使用轉送的 IP 地址

尋找此規則陳述式的位置

  • 主控台上的規則建置器 – 針對請求選項,選擇來自 ASN 的來源

  • APIAsnMatchStatement

範例

此範例會封鎖衍生自 X-Forwarded-For標頭之兩個特定 ASNs 的請求。如果標頭中的 IP 地址格式不正確,則設定的備用行為為 NO_MATCH

{ "Action": { "Block": {} }, "Name": "AsnMatchStatementRule", "Priority": 1, "Statement": { "AsnMatchStatement": { "AsnList": [64496, 64500] }, "ForwardedIPConfig": { "FallbackBehavior": "NO_MATCH", "HeaderName": "X-Forwarded-For" } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "AsnMatchRuleMetrics", "SampledRequestsEnabled": true } }, "VisibilityConfig": { "CloudWatchMetricsEnabled": true, "MetricName": "WebAclMetrics", "SampledRequestsEnabled": true } }