本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
管理 AWS WAF ACLs
使用 AWS Network Security Manager,您可以集中設定和部署組織中帳戶和資源的 AWS WAF Web 存取控制清單 (Web ACLs)。您可以定義 AWS WAF 的 AWS Network Security Manager 規則,將其分組為保護範本,並透過 AWS Network Security Manager 政策和部署大規模強制執行這些規則。
AWS WAF 概念
下列概念專屬於搭配 AWS WAF 使用 AWS Network Security Manager。如需 AWS Network Security Manager 運作方式的詳細資訊,請參閱 AWS Network Security Manager 的運作方式。
AWS WAF 規則類型
對於 AWS WAF,規則是兩種類型之一:
-
INSPECTION – 包含使用
PreProcessFirewallManagerRuleGroups(在客戶定義規則之前執行的規則) 或PostProcessFirewallManagerRuleGroups(在之後執行的規則) 的規則群組定義。 -
CONFIGURATION – 包含單一 Web ACL 組態設定。組態 JSON 必須僅包含符合支援設定的頂層金鑰 (例如
Description、、DefaultAction、VisibilityConfig、LoggingConfigurationCaptchaConfig、ChallengeConfig、CustomResponseBodies、DataProtectionConfig、AssociationConfig、OnSourceDDoSProtectionConfig、TokenDomains或MonetizationConfig)。
大多數 Web ACL 組態設定對應至 AWS WAF CreateWebACL操作的參數。如需這些設定及其定義的詳細資訊,請參閱 AWS WAF API 參考中的 CreateWebACL。
例外是 LoggingConfiguration,您可以分別設定。如需詳細資訊,請參閱記錄 Web ACL 流量。
AWS WAF 政策合併
對於 AWS WAF,每個組態設定使用下列其中一個合併策略:
- SingleValue
-
只能有一個值的設定。最高優先順序政策獲勝。優先順序值是唯一的,因此兩個政策無法以相同的優先順序定義不同的值。如需 AWS Network Security Manager 如何解決優先順序的詳細資訊,請參閱 優先順序型政策合併。下列設定使用 SingleValue:
DefaultAction、VisibilityConfig、CaptchaConfig、ChallengeConfig、OnSourceDDoSProtectionConfig、LoggingConfiguration、MonetizationConfig和Description。 - 附加 (和 AppendAndSort)
-
所有政策的項目會依優先順序附加至清單。
TokenDomains和DataProtectionConfig.DataProtections使用附加。PreProcessFirewallManagerRuleGroups和PostProcessFirewallManagerRuleGroups使用 AppendAndSort,這會附加所有政策的規則群組,並依優先順序排序。排序很重要,因為 AWS WAF 會循序評估規則群組。 - Merge
-
無論優先順序為何,所有政策的項目都會合併為單一集合。
CustomResponseBodies和AssociationConfig.RequestBody使用合併。
附加、AppendAndSort和合併策略會移除重複的項目。當兩個政策提供相同的組態時, AWS Network Security Manager 會保留較高優先順序政策中的項目。因此,有效組態包含該項目的一個副本,而不是每個貢獻政策一個副本。
現有的 Web ACL 解析度
使用 AWS WAF 政策上的 existingCustomerWebACLResolution設定,指定 AWS Network Security Manager 如何處理已有客戶受管 Web ACL 的資源:
-
RETROFIT– 更新現有的 Web ACL,以符合有效的組態。 -
OVERRIDE_ASSOCIATION– 改為將 AWS Network Security Manager 管理的 Web ACL 與 資源建立關聯。 -
NO_REMEDIATION– 如果您的 Web ACL 存在,請勿修復 。
記錄 Web ACL 流量
您可以使用政策上的 LoggingConfiguration設定來控制 Web ACL 記錄。 AWS Network Security Manager 會使用 AWS WAF PutLoggingConfiguration操作套用此設定。您可以為每個 Web ACL 定義一個記錄目的地。如需詳細資訊,請參閱 AWS WAF API 參考中的 PutLoggingConfiguration。
政策管理的每個範圍內 Web ACL 都會將其日誌傳送至政策指定的目的地。這可讓您集中記錄組織中的各個帳戶。使用它來取得 Web ACLs 分析整個組織之流量的詳細資訊。
若要跨多個帳戶集中記錄,您可以將日誌傳送至 Amazon S3 儲存貯體或 Amazon Data Firehose 交付串流。每個目的地類型都需要額外的組態,您必須先完成這些組態, AWS Network Security Manager 才能管理跨範圍內資源和帳戶的 AWS WAF 記錄。目的地名稱必須以 開頭aws-waf-logs-。
- Amazon Data Firehose
-
建立具有下列特性的交付串流:
-
使用您的 AWS Network Security Manager 管理員帳戶建立
-
以 開頭的名稱
aws-waf-logs-,例如aws-waf-logs-network-security-manager-central -
PUT來源 -
在您操作的 區域中建立,或者如果您擷取 Amazon CloudFront 的日誌,則在美國東部 (維吉尼亞北部) 區域中建立
使用交付串流之前,請先進行測試,確認它有足夠的輸送量可供組織日誌使用。如需詳細資訊,請參閱《Amazon Data Firehose 開發人員指南》中的建立 Amazon Data Firehose 交付串流。
-
- Amazon S3
-
遵循 AWS WAF 開發人員指南中的 Amazon S3 指引建立儲存貯體。您也必須使用允許日誌交付寫入的許可來設定儲存貯體。下列儲存貯體政策會授予這些許可。
{ "Version":"2012-10-17", "Id": "AWSLogDeliveryForNetworkSecurityManager", "Statement": [ { "Sid": "AWSLogDeliveryAclCheckNetworkSecurityManager", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-logs-bucket-suffix" }, { "Sid": "AWSLogDeliveryWriteNetworkSecurityManager", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-bucket-suffix/policy-id/AWSLogs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }將儲存
貯體尾碼取代為您自己的儲存貯體名稱尾碼,並將policy-id取代為政策的 ID。
CloudWatch Logs 僅支援單一帳戶使用
如果您跨多個帳戶使用 AWS Network Security Manager,則無法使用 Amazon CloudWatch Logs 日誌群組做為記錄目的地。日誌群組必須位於與 Web ACL 相同的 AWS 帳戶和相同區域。對於多帳戶部署,請改用 Amazon S3 儲存貯體或 Amazon Data Firehose 交付串流。