記錄目的地 - AWS WAFAWS Firewall Manager、 和 AWS Shield Advanced

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

記錄目的地

本節說明您可以選擇傳送 AWS WAF 政策日誌的記錄目的地。每節都會提供為目的地類型設定記錄的指引,以及目的地類型專屬行為的相關資訊。設定記錄目的地之後,您可以將其規格提供給 Firewall Manager AWS WAF 政策,以開始記錄。

您可以為您的 AWS WAF 政策啟用集中記錄,以取得組織內 Web 分析流量的詳細資訊ACL。日誌中的資訊包括從您的 AWS 資源 AWS WAF 收到請求的時間、請求的詳細資訊,以及每個請求從所有範圍內帳戶比對的規則的動作。您可以將日誌傳送至 Amazon Data Firehose 資料串流或 Amazon Simple Storage Service (S3) 儲存貯體。如需有關記錄的資訊 AWS WAF ,請參閱 開發人員指南 日誌 AWS WAF 網路ACL流量 中的 。 AWS WAF

注意

AWS Firewall Manager 支援此選項適用於 AWS WAFV2,不支援 AWS WAF Classic。

建立記錄組態後,防火牆管理員無法查看日誌失敗。您有責任確認日誌交付是否如預期般運作。

注意

Firewall Manager 不會修改組織成員帳戶中的任何現有記錄組態。

Amazon Data Firehose 資料串流

本主題提供將 Web ACL流量日誌傳送至 Amazon Data Firehose 資料串流的資訊。

當您啟用 Amazon Data Firehose 日誌記錄時,Firrent Manager 會將日誌從政策的 Web ACLs 傳送至您已設定儲存目的地的 Amazon Data Firehose。啟用記錄後, ACL會透過 Kinesis Data Firehose HTTPS端點,將每個已設定 Web 的日誌 AWS WAF 傳遞至已設定的儲存目的地。使用之前,請先測試您的交付串流,以確保其具有足夠的輸送量來容納組織的日誌。如需如何建立 Amazon Kinesis Data Firehose 和檢閱儲存日誌的詳細資訊,請參閱什麼是 Amazon Data Firehose?

您必須具有下列許可,才能成功使用 Kinesis 啟用記錄:

  • iam:CreateServiceLinkedRole

  • firehose:ListDeliveryStreams

  • wafv2:PutLoggingConfiguration

當您在 AWS WAF 政策上設定 Amazon Data Firehose 日誌記錄目的地時,Firester Manager ACL 會在 Firewall Manager 管理員帳戶中為政策建立 Web,如下所示:

  • Firewall Manager 在 ACL Firewall Manager 管理員帳戶中建立 Web,無論帳戶是否在政策範圍內。

  • Web ACL已啟用日誌記錄,其中日誌名稱為 FMManagedWebACLV2-Loggingpolicy name-timestamp,時間戳記是為 Web 啟用日誌UTC的時間ACL,以毫秒為單位。例如:FMManagedWebACLV2-LoggingMyWAFPolicyName-1621880565180。Web ACL沒有規則群組,也沒有相關聯的資源。

  • 根據 AWS WAF 定價指南,您需要支付 Web ACL 的費用。如需詳細資訊,請參閱 AWS WAF 定價

  • Firewall Manager 會在您刪除政策ACL時刪除 Web。

如需有關服務連結角色和iam:CreateServiceLinkedRole許可的資訊,請參閱 使用服務連結角色 AWS WAF

如需建立交付串流的詳細資訊,請參閱建立 Amazon Data Firehose 交付串流。

Amazon Simple Storage Service 儲存貯體

本主題提供將 Web ACL流量日誌傳送至 Amazon S3 儲存貯體的資訊。

您選擇作為記錄目的地的儲存貯體必須由 Firewall Manager 管理員帳戶擁有。如需建立 Amazon S3 儲存貯體以進行記錄和儲存貯體命名需求的相關資訊,請參閱 AWS WAF 開發人員指南 中的 Amazon Simple Storage Service

最終一致性

當您變更使用 Amazon S3 記錄目的地設定 AWS WAF 的政策時,Firrate Manager 會更新儲存貯體政策,以新增記錄所需的許可。執行這項操作時,Firrate Manager 會遵循 Amazon Simple Storage Service 遵循的 last-writer-wins語意和資料一致性模型。如果您同時在 Firewall Manager 主控台或透過 對 Amazon S3 PutPolicy 目的地進行多個政策更新API,可能不會儲存某些許可。如需 Amazon S3 資料一致性模型的詳細資訊,請參閱 Amazon Simple Storage Service 使用者指南 中的 Amazon Amazon S3 資料一致性模型

將日誌發佈至 Amazon S3 儲存貯體的許可

為 AWS WAF 政策中的 Amazon S3 儲存貯體設定 Web ACL流量記錄需要下列許可設定。當您將 Amazon S3 設定為您的記錄目的地,以授予服務將日誌發佈至儲存貯體的許可時,Firriton Manager 會自動將這些許可連接到您的 Amazon S3 儲存貯體。如果您想要管理對日誌記錄和 Firewall Manager 資源的精細存取,您可以自行設定這些許可。如需有關管理許可的資訊,請參閱 IAM 使用者指南 中的存取資源管理 AWS。如需 AWS WAF 受管政策的相關資訊,請參閱 AWS 受管理的政策 AWS WAF

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryForFirewallManager", "Statement": [ { "Sid": "AWSLogDeliveryAclCheckFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::aws-waf-amzn-s3-demo-bucket" }, { "Sid": "AWSLogDeliveryWriteFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/policy-id/AWSLogs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }

為了防止跨服務混淆代理問題,您可以將 aws:SourceArnaws:SourceAccount全域條件內容索引鍵新增至儲存貯體的政策。若要新增這些金鑰,您可以在設定記錄目的地時修改 Firewall Manager 為您建立的政策,或者如果您想要精細控制,您可以建立自己的政策。如果您將這些條件新增至記錄目的地政策,Firster Manager 將不會驗證或監控混淆的代理保護。如需混淆代理問題的一般資訊,請參閱混淆代理問題
 使用者指南 中的 IAM

當您新增sourceAccountsourceArn屬性時,它會增加儲存貯體政策大小。如果您要新增較長的sourceAccount新增sourceArn屬性清單,請小心不要超過 Amazon S3 儲存貯體政策大小配額。

下列範例顯示如何使用儲存貯體政策中的 aws:SourceArnaws:SourceAccount全域條件內容索引鍵來避免混淆的代理問題。Replace (取代) member-account-id 組織中成員IDs的帳戶。

{ "Version":"2012-10-17", "Id":"AWSLogDeliveryForFirewallManager", "Statement":[ { "Sid":"AWSLogDeliveryAclCheckFMS", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:GetBucketAcl", "Resource":"arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket", "Condition":{ "StringEquals":{ "aws:SourceAccount":[ "member-account-id", "member-account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:*:member-account-id:*", "arn:aws:logs:*:member-account-id:*" ] } } }, { "Sid":"AWSLogDeliveryWriteFMS", "Effect":"Allow", "Principal":{ "Service":"delivery.logs.amazonaws.com" }, "Action":"s3:PutObject", "Resource":"arn:aws:s3:::aws-waf-logs-amzn-s3-demo-bucket/policy-id/AWSLogs/*", "Condition":{ "StringEquals":{ "s3:x-amz-acl":"bucket-owner-full-control", "aws:SourceAccount":[ "member-account-id", "member-account-id" ] }, "ArnLike":{ "aws:SourceArn":[ "arn:aws:logs:*:member-account-id-1:*", "arn:aws:logs:*:member-account-id-2:*" ] } } } ] }

Amazon S3 儲存貯體的伺服器端加密

您可以啟用 Amazon S3 伺服器端加密,或在 S3 儲存貯體上使用 AWS Key Management Service 客戶受管金鑰。如果您選擇在 Amazon S3 儲存貯體上使用預設的 Amazon S3 加密作為 AWS WAF 日誌,則不需要採取任何特殊動作。不過,如果您選擇使用客戶提供的加密金鑰來加密靜態 Amazon S3 資料,則必須將下列許可陳述式新增至 AWS Key Management Service 金鑰政策:

{ "Sid": "Allow Logs Delivery to use the key", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }

如需搭配 Amazon S3 使用客戶提供的加密金鑰的資訊,請參閱 Amazon Simple Storage Service 使用者指南 中的使用伺服器端加密搭配客戶提供的金鑰 (SSE-C)