本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon WAF 策略
在Firewall ManagerAmazon WAF 策略中,您可以指定要在资源中使用的Amazon WAF规则组。当您应用策略时,Firewall Manager 会在策略范围内的每个账户中创建一个由Firewall Manager 管理的 Web ACL。在生成的 Web ACL 中,除了您通过Firewall Manager 定义的规则组外,个人账户管理员还可以添加规则和规则组。
当Firewall Manager 为策略创建 Web ACL 时,它会命名 Web ACLFMManagedWebACLV2-。时间戳为UTC 毫秒。例如,policy
name-timestampFMManagedWebACLV2-MyWAFPolicyName-1621880374078。
Amazon Firewall Manager为其为Amazon WAF策略创建的 Web ACL 和规则组启用采样和 Amazon CloudWatch 指标。
注意
如果配置了高级自动应用层 DDoS 防护的资源进入Amazon WAF策略范围,Firewall Manager 将无法将该Amazon WAF策略创建的 Web ACL 关联到该资源。 >
Amazon WAF策略中的规则组
由Firewall ManagerAmazon WAF 策略管理的 Web ACL 包含三组规则。这些规则集为 Web ACL 中的规则和规则组提供了更高级的优先级划分机制:
第一个规则组,由您在Firewall ManagerAmazon WAF 策略中定义。 Amazon WAF首先评估这些规则组。
由账户经理在 Web ACL 中定义的规则和规则组。Amazon WAF 会在中间评估任何客户托管的规则或规则组。
最后的规则组,由您在Firewall ManagerAmazon WAF 策略中定义。 Amazon WAF最后评估这些规则组。
在其中的每个规则集中,Amazon WAF 会按照规则和规则组在规则集中的优先级设置照常评估规则和规则组。
在策略的“最先运行的规则组”集和“最后运行的规则组”集中,您只能添加规则组。您可以使用托管规则组,由Amazon管理规则和Amazon Web Services Marketplace卖家为您创建和维护。您也可以管理和使用自己的规则组。有关所有这些操作的更多信息,请参阅规则组。
如果您想使用自己的规则组,请在创建Firewall ManagerAmazon WAF 策略之前创建这些规则组。有关操作指南,请参阅 管理您自己的规则组。要使用单个自定义规则,您必须定义自己的规则组,再在其中定义您的规则,然后在策略中使用该规则组。
您通过Firewall Manager 管理的第一个和最后一个Amazon WAF规则组的名称分别以PREFMManaged-或POSTFMManaged-开头,后面是Firewall Manager 策略名称和规则组创建时间戳(以 UTC 毫秒为单位)。例如,PREFMManaged-MyWAFPolicyName-1621880555123。
有关 Amazon WAF 如何评估 Web 请求的信息,请参阅 Web ACL 规则和规则组评估。
有关创建Firewall ManagerAmazon WAF 策略的过程,请参阅为 Amazon WAF 创建Amazon Firewall Manager策略。
Firewall Manager 为您为Amazon WAF策略定义的规则组启用采样和 Amazon CloudWatch 指标。
个人账户所有者可以完全控制他们添加到策略的托管 Web ACL 中的任何规则或规则组的指标和采样配置。
限制
在Amazon WAF策略中使用规则组时,请注意以下限制。
Firewall Manager 支持Amazon WAF机器人控制规则组,但以下情况除外:
不支持机器人控制目标保护级别。
仅支持
COUNT规则操作覆盖。目前不支持其他规则操作替代类型。
有关中的机器人控制的信息Amazon WAF,请参阅Amazon WAF机器人控制。
为Amazon WAF策略配置日志
您可以为Amazon WAF策略启用集中日志记录,以获取有关组织内的 Web ACL 分析的流量的详细信息。日志中的信息包含从Amazon资源Amazon WAF收到请求的时间,有关请求的详细信息,以及每个请求所匹配的规则的操作。您可以将日志发送到 Amazon Kinesis Data Firehose 数据流或Amazon Simple Storage Service (S3) 存储桶。有关Amazon WAF日志的信息,请参阅记录 Web ACL 流量Amazon WAF开发者指南中的。
注意
Amazon Firewall Manager支持此选项Amazon WAFV2,不支持Amazon WAF经典版。
日志记录目的地
本部分将介绍您可以选择发送Amazon WAF策略日志的日志记录目的地。每个部分都提供了有关配置目的地类型日志记录的指导,以及有关特定于目的地类型的任何行为的信息。配置日志记录目的地后,您可以向 Firewall ManagerAmazon WAF 策略提供其规范,以便开始对其进行日志记录。
注意
Firewall Manager 不会修改组织成员账户中的任何现有日志配置。
Amazon Kinesis Data Firehos
本主题提供有关将您的网络 ACL 流量日志发送到 Amazon Kinesis Data Firehose 数据流的信息。
当您启用 Amazon Kinesis Data Firehose 日志记录时,Firewall Manager 会将日志从您的策略的 Web ACL 发送到您在其中配置了存储目的地的 Amazon Kinesis Data Firehose。启用日志记录后,通过 Kinesis Data Firehose 的 HTTPS 端点将每个已配置的 Web ACL 的日志Amazon WAF传送到配置的存储目标。在使用之前,请测试您的交付流,以确保其吞吐量足以容纳您组织的日志。有关如何创建 Amazon Kinesis Data Firehose 和查看存储日志的更多信息,请参阅什么是 Amazon Kinesis Data Firehose?
您必须拥有以下权限才能成功启用 Kinesis 日志功能:
iam:CreateServiceLinkedRolefirehose:ListDeliveryStreamswafv2:PutLoggingConfiguration
当您在Amazon WAF策略上配置 Amazon Kinesis Data Firehose 日志目的地时,Firewall Manager 会在Firewall Manager 管理员账户中为该策略创建 Web ACL,如下所示:
无论该帐户是否在策略范围内,Firewall Manager 都会在Firewall Manager 管理员帐户中创建 Web ACL。
Web ACL 启用了带有日志名称的日志记录
FMManagedWebACLV2-Logging,其中时间戳是为 Web ACL 启用日志的 UTC 时间,以毫秒为单位。例如,policy name-timestampFMManagedWebACLV2-LoggingMyWAFPolicyName-1621880565180。Web ACL 没有规则组,也没有关联的资源。根据Amazon WAF定价指南,您需要为 Web ACL 付费。有关更多信息,请参阅 Amazon WAF 定价
。 当您删除策略时,Firewall Manager 会删除 Web ACL。
有关服务相关角色和iam:CreateServiceLinkedRole权限的信息,请参阅将服务相关角色用于 Amazon WAF。
有关创建传输流的更多信息,请参阅创建 Amazon Kinesis Data Firehose 传输流。
Amazon Simple Storage Service 存储桶
本主题提供将 Web ACL 流量日志发送到 Amazon S3 存储桶的信息。
有关创建 Amazon S3 存储桶以满足日志记录和存储段命名要求的要求的信息,请参阅Amazon WAF开发者指南中的 Amazon Simple Stor age Service。
最终一致性
当您更改配置有 Amazon S3 日志记录目标的Amazon WAF策略时,Firewall Manager 会更新存储段策略以添加日志记录所需的权限。在这样做时,Firewall Manager 遵循亚马逊简单存储服务遵循的 last-writer-wins 语义和数据一致性模型。如果您同时在Firewall Manager 控制台或通过 PutPolicyAPI 对 Amazon S3 目标进行多个策略更新,则某些权限可能无法保存。有关 Amazon S3 数据一致性模型的更多信息,请参阅《A mazon Simp le Storage Service 用户指南》中的 Amazon S3 数据一致性模型。
向 Amazon S3 存储桶发布日志的权限
在Amazon WAF策略中为 Amazon S3 存储桶配置 Web ACL 流量记录需要以下权限设置。当您将 Amazon S3 配置为日志目的地以授予服务向存储桶发布日志的权限时,Firewall Manager 会自动将这些权限附加到您的 Amazon S3 存储桶。如果您想更细致地管理对日志记录和Firewall Manager 资源的访问权限,可以自己设置这些权限。有关管理权限的信息,请参阅 IAM 用户指南中的Amazon资源访问管理。有关Amazon WAF托管策略的信息,请参阅Amazon适用于 Amazon 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-example-bucket" }, { "Sid": "AWSLogDeliveryWriteFMS", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::aws-waf-logs-example-bucket/policy-id/AWSLogs/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] }
为防止出现跨服务混淆的副手问题,您可以将aws:SourceArn和aws:SourceAccount全局条件上下文密钥添加到存储桶的策略中。要添加这些密钥,您可以修改 Firewall Manager 在配置日志目的地时为您创建的策略,或者如果您想要精细控制,则可以创建自己的策略。如果您将这些条件添加到您的日志目的地策略中,Firewall Manager 将不会验证或监控混乱的副手保护。有关混淆代理人问题的一般信息,请参阅混淆代理人问题 在 IAM 用户指南中。
当您添加sourceAccount添加sourceArn属性时,它会增加存储段策略的大小。如果您要添加一长串sourceAccount添加sourceArn属性,请注意不要超过 Amazon S3 存储桶策略大小配额。
以下示例说明了如何通过使用存储段策略中的aws:SourceArn和aws:SourceAccount全局条件上下文键防止混淆代理问题。member-account-id替换为组织中成员的账户 ID。
{ "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-example-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-example-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 服务器端加密或在 S3 存储桶上使用Amazon Key Management Service客户托管密钥。如果您选择在 Amazon S3 存储桶上对Amazon WAF日志使用默认 Amazon S3 加密,则无需采取任何特殊措施。但是,如果您选择使用客户提供的加密密钥来加密您的 Amazon S3 静态数据,则必须在Amazon 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 S imp le Storage Service 用户指南》中的 “使用具有客户提供密钥的服务器端加密(SSE-C)的详细信息。
启用日志记录
以下过程介绍如何在Firewall Manager 控制台中启用Amazon WAF策略日志功能。
启用Amazon WAF策略的日志记录
在启用日志记录之前,必须按以下方式配置日志记录目标资源:
Amazon Kinesis Data St reams-使用您的Firewall Manager 管理员账户创建亚马逊 Kinesis Data Firehose。使用以前缀开头的名称
aws-waf-logs-。例如,aws-waf-logs-firewall-manager-central。使用PUT源和您正在操作的区域创建数据消防管。如果您要为Amazon 捕获日志 CloudFront,请在美国东部(弗吉尼亚州北部)创建 Firehose。在使用之前,请测试您的交付流,以确保其吞吐量足以容纳您组织的日志。有关更多信息,请参阅创建 Amazon Kinesis Data Firehose 传输流。Amazon Simple Storage Service 存储桶-根据Amazon WAF开发者指南中亚马逊简单存储服务主题中的指南创建 Amazon S3 存储桶。您还必须使用中列出的权限配置 Amazon S3 存储桶向 Amazon S3 存储桶发布日志的权限 。
-
Amazon Web Services Management Console使用您的Firewall Manager 管理员帐户登录,然后在上打开Firewall Manager 控制台https://console.amazonaws.cn/wafv2/fmsv2
。 注意
有关设置 Firewall Manager 管理员账户的信息,请参阅Amazon Firewall Manager先决条件。
在导航窗格中,选择 Security P olicies。
选择要为其启用日志记录的Amazon WAF策略。有关 Amazon WAF 日志记录的更多信息,请参阅 记录 Web ACL 流量。
在策略详细信息选项卡的策略规则部分中,选择编辑。
-
对于日志配置,选择启用日志记录以启用日志记录。日志记录提供有关由您的 Web ACL 分析的流量的详细信息。选择日志记录目的地,然后选择您配置的日志记录目标。必须选择名称以开头的日志目的地
aws-waf-logs-。有关配置Amazon WAF日志目的地的信息,请参见为Amazon WAF策略配置日志。 (可选)如果您不希望在日志中包含特定字段及其值,请编辑这些字段。选择要编辑的字段,然后选择 Add (添加)。根据需要重复操作来编辑其他字段。编辑后的字段在日志中显示为
REDACTED。例如,如果您编辑 URI 字段,则日志中的 URI 字段将为REDACTED。-
(可选)如果您不想将所有请求发送到日志,请添加您的筛选条件和行为。在筛选日志下,对于要应用的每个过滤器,选择添加过滤器,然后选择您的筛选条件并指定要保留还是删除符合条件的请求。添加完过滤器后,如果需要,修改默认日志记录行为。有关更多信息,请参阅 Amazon WAF 开发人员指南中的 管理 Web ACL 的日志记录。
选择下一步。
查看您的设置,然后选择 “保存” 以保存对策略所做的更改。
禁用日志记录
以下过程介绍如何在Firewall Manager 控制台中禁用Amazon WAF策略的日志记录。
禁用Amazon WAF策略的日志记录
-
Amazon Web Services Management Console使用您的Firewall Manager 管理员帐户登录,然后在上打开Firewall Manager 控制台https://console.amazonaws.cn/wafv2/fmsv2
。 注意
有关设置 Firewall Manager 管理员账户的信息,请参阅Amazon Firewall Manager先决条件。
在导航窗格中,选择 Security P olicies。
选择要为其禁用日志记录的Amazon WAF策略。
在策略详细信息选项卡的策略规则部分中,选择编辑。
对于 “记录配置状态”,选择 “禁用”。
选择下一步。
查看您的设置,然后选择 “保存” 以保存对策略所做的更改。