Amazon Network Firewall 策略 - Amazon WAF、Amazon Firewall Manager 和 Amazon Shield Advanced
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Network Firewall 策略

您可以使用Amazon Firewall Manager NetworkAmazon Network Firewall Firewall 策略来管理组织内的 Amazon Virtual Pri vate Cloud VPC 的防火墙Amazon Organizations。您可以将集中控制的防火墙应用于整个组织或部分账户和 VPC。

Network Firewall 为您的 VPC 中的公共子网提供网络流量过滤保护。Firewall Manager 根据您的策略定义的防火墙管理类型创建和管理您的防火墙。Firewall Manager 提供以下防火墙管理模型:

  • 分布式-对于策略范围内的每个账户和 VPC,Firewall Manager 会创建Network Firewall 并将防火墙终端节点部署到 VPC 子网,以过滤网络流量。

  • 集中式-Firewall Manager 在单个 Amazon VPC 中创建单个Network Firewall 防火墙。

  • 导入现有防火墙-Firewall Manager 在单个Firewall Manager 策略中导入现有防火墙进行管理。您可以对由您的策略管理的导入的防火墙应用其他规则,以确保您的防火墙符合您的安全标准。

注意

Firewall Manager Network Firewall 策略是Firewall Manager 策略,用于管理组织内的 VPC 的Network Firewall 保护。

Network Firewall 保护是在Network Firewall 服务中的资源中指定的,这些资源称为防火墙策略。

有关使用 Network Firewall 的信息,请参阅Amazon Network Firewall开发人员指南

以下各节涵盖了使用Firewall Manager Network Firewall 策略的要求,并描述了这些策略的工作原理。有关创建策略的过程,请参阅为 Amazon Network Firewall 创建Amazon Firewall Manager策略

必须启用资源共享

Network Firewall 策略在组织中的账户之间共享Network Firewall 规则组。要使此功能起作用,您必须启用资源共享Amazon Organizations。有关如何启用资源共享的信息,请参阅Network Firewall 和 DNS 防火墙策略的资源共享

您必须定义Network Firewall 规则组

指定新的Network Firewall 策略时,定义防火墙策略的方法与Amazon Network Firewall直接使用时相同。您可以指定要添加的无状态规则组、默认的无状态操作和有状态的规则组。您的规则组必须已经存在于 Firewall Manager 管理员帐户中,您才能将其包含在策略中。有关创建Network Firewall 规则组的信息,请参阅Amazon Network Firewall规则组

Firewall Manager 如何创建防火墙端点

您的策略中的防火墙管理类型决定了Firewall Manager 如何创建防火墙。您的策略可以创建分布式防火墙、集中式防火墙,也可以导入现有的防火墙

  • 分布式-使用分布式部署模型,Firewall Manager 为策略范围内的每个 VPC 创建终端节点。您可以通过指定要在哪些可用区域中创建防火墙端点来自定义终端节点位置,或者Firewall Manager 可以在具有公共子网的可用区域中自动创建终端节点。如果您手动选择可用区,则可以选择限制每个可用区允许的 CIDR 集。如果您决定让 Firewall Manager 自动创建终端节点,则还必须指定该服务是在您的 VPC 中创建单个端点还是多个防火墙端点。

    • 对于多个防火墙端点,Firewall Manager 会在每个可用区域部署防火墙终端节点,在该可用区中,您的子网中有 Internet 网关或Firewall Manager 创建的防火墙端点路由。这是网络Firewall 策略的默认选项。

    • 对于单个防火墙端点,Firewall Manager 在任何具有 Internet 网关路由的子网的单个可用区中部署防火墙端点。使用此选项,其他区域的流量需要跨越区域边界才能被防火墙过滤。

      注意

      对于这两个选项,都必须有一个与包含 IPv4/PrefixList 路由的路由表关联的子网。Firewall Manager 不检查任何其他资源。

  • 集中化-使用集中部署模式,Firewall Manager 在检查 VPC 内创建一个或多个防火墙端点。检查 VPC 是中央 VPC,Firewall Manager 在其中启动您的终端节点。使用集中式部署模型时,还可以指定要在哪些可用区域中创建防火墙端点。创建策略后,您无法更改检查 VPC。要使用不同的检查 VPC,您必须创建新的策略。

  • 导入现有防火墙-导入现有防火墙时,您可以通过向策略中添加一个或多个资源集来选择要在策略中管理的防火墙。资源集是资源的集合,在本例中为 Network Firewall 中的现有防火墙,由组织中的帐户管理。在策略中使用资源集之前,必须首先创建资源集。有关Firewall Manager 资源集的信息,请参见在Firewall Manager 中使用资源集

    使用导入的防火墙时以下事项,使用导入的防火墙时以下事项

    • 如果导入的防火墙变得不合规,Firewall Manager 将尝试自动解决违规问题,以下情况除外:

      • 如果防火墙管理器和Network Firewall 策略的有状态或无状态默认操作不匹配。

      • 如果导入的防火墙的防火墙策略中的规则组与Firewall Manager 策略中的规则组具有相同的优先级。

      • 如果导入的防火墙使用的防火墙策略与不属于策略资源集的防火墙相关联。之所以会发生这种情况,是因为防火墙只能有一个防火墙策略,但是单个防火墙策略可以与多个防火墙相关联。

      • 如果属于导入的防火墙的防火墙策略的预先存在的规则组也在 Firewall Manager 策略中指定,则被赋予不同的优先级。

    • 如果您在策略中启用资源清理,Firewall Manager 会从资源集范围内的防火墙中删除 FMS 导入策略中的规则组。

    • 由Firewall Manager 管理的防火墙导入现有的防火墙一次只能由一个策略管理。如果将相同的资源集添加到多个导入网络防火墙策略中,则资源集中的防火墙将由该资源集添加到的第一个策略管理,第二个策略将忽略该资源集中的防火墙。

如果您使用分布式或集中式防火墙管理更改策略的可用区域列表,Firewall Manager 将尝试清理过去创建但目前不在策略范围内的任何端点。只有在没有引用范围外端点的路由表路由时,Firewall Manager 才会删除终端节点。如果 Firewall Manager 发现无法删除这些端点,它会将防火墙子网标记为不合规,并将继续尝试删除该端点,直到可以安全删除为止。

Firewall Manager 如何管理您的防火墙子网

防火墙子网是Firewall Manager 为过滤网络流量的防火墙终端节点创建的 VPC 子网。每个Firewall 端点都必须部署在专用 VPC 子网中。Firewall Manager 在策略范围内的每个 VPC 中创建至少一个防火墙子网。

对于使用具有自动端点配置的分布式部署模型的策略,Firewall Manager 仅在具有带有 Internet 网关路由的子网的可用区域中创建防火墙子网,或者子网具有指向 Firewall Manager 为其策略创建的防火墙端点的路由。有关更多信息,请参阅 Amazon VPC 用户指南中的 VPC 和子网

对于使用分布式或集中式模型的策略,您可以指定Firewall Manager 在哪些可用区域中创建防火墙端点,Firewall Manager 会在这些特定的可用区域中创建终端节点,无论可用区中是否有其他资源。

首次定义Network Firewall 策略时,需要指定Firewall Manager 如何管理范围内的每个 VPC 中的防火墙子网。以后您不能更改此选项。

对于使用具有自动端点配置的分布式部署模型的策略,可以在以下选项中进行选择:

  • 为每个具有公共子网的可用区部署防火墙子网。这是默认行为。这为您的流量过滤保护提供了高可用性。

  • 在一个可用区中部署单个防火墙子网。通过此选择,Firewall Manager 可识别 VPC 中公有子网最多的区域,并在那里创建防火墙子网。单一防火墙端点过滤 VPC 的所有网络流量。这可以降低防火墙成本,但它的可用性不高,并且需要来自其他区域的流量跨越区域边界才能进行过滤。

对于使用具有自定义端点配置的分布式部署模型或集中部署模型的策略,Firewall Manager 会在策略范围内的指定可用区域中创建子网。

您可以提供 VPC CIDR 块供Firewall Manager 用于防火墙子网,也可以将防火墙终端地址的选择留给Firewall Manager 来决定。

  • 如果您不提供 CIDR 块,Firewall Manager 会查询您的 VPC 以获取可用的 IP 地址。

  • 如果您提供 CIDR 块列表,Firewall Manager 将仅在您提供的 CIDR 块中搜索新的子网。必须使用 /28 CIDR 块。对于 Firewall Manager 创建的每个防火墙子网,它会遍历您的 CIDR 阻止列表,并使用它找到的第一个适用于可用区域和 VPC 且具有可用地址的防火墙子网。如果 Firewall Manager 无法在 VPC 中找到开放空间(有或没有限制),则该服务不会在 VPC 中创建防火墙。

如果 Firewall Manager 无法在可用区创建所需的防火墙子网,则会将该子网标记为不符合策略。当区域处于这种状态时,该区域的流量必须跨越区域边界才能被另一个区域中的终端节点过滤。这与单一防火墙子网场景类似。

Firewall Manager 如何管理您的Network Firewall 资源

在Firewall Manager 中定义策略时,您需要提供标准Amazon Network Firewall防火墙策略的网络流量过滤行为。您可以添加无状态和有状态的Network Firewall 规则组,并为不匹配任何无状态规则的数据包指定默认操作。有关使用中的防火墙策略的信息Amazon Network Firewall,请参阅Amazon Network Firewall防火墙策略

对于分布式和集中式策略,当您保存Network Firewall 策略时,Firewall Manager 会在策略范围内的每个 VPC 中创建防火墙和防火墙策略。Firewall Manager 通过连接以下值来命名这些Network Firewall 资源:

  • 固定字符串,可以是FMManagedNetworkFirewallFMManagedNetworkFirewallPolicy,具体取决于资源类型。

  • Firewall Manager 策略名称。这是您在创建策略时分配的名称。

  • Firework Manager 策略 这是Firewall Manager 策略的Amazon资源 ID。

  • Amazon VPC ID。这是Firewall Manager 创建防火墙和防火墙策略的 VPC 的Amazon资源 ID。

以下显示了由Firewall Manager 管理的防火墙的示例名称:

FMManagedNetworkFirewallEXAMPLENameEXAMPLEFirewallManagerPolicyIdEXAMPLEVPCId

下面是一个示例 Firewall 策略名称:

FMManagedNetworkFirewallPolicyEXAMPLENameEXAMPLEFirewallManagerPolicyIdEXAMPLEVPCId

创建策略后,VPC 中的成员账户无法覆盖您的防火墙策略设置或规则组,但他们可以将规则组添加到Firewall Manager 创建的防火墙策略中。

Firewall Manager 如何管理和监视您的策略的 VPC 路由表

注意

使用集中部署模型的策略目前不支持路由表管理。

当Firewall Manager 创建您的防火墙终端节点时,它还会为它们创建 VPC 路由表。但是,Firewall Manager 不管理您的 VPC 路由表。您必须配置 VPC 路由表以将网络流量定向到Firewall Manager 创建的防火墙终端节点。使用 Amazon VPC 入口路由增强功能,更改您的路由表,通过新的防火墙终端节点路由流量。您的更改必须在要保护的子网和外部位置之间插入防火墙端点。您需要执行的确切路由取决于您的架构及其组件。

目前,Firewall Manager 允许监视您的 VPC 路由表路由,以查看任何发往互联网网关的流量,即绕过防火墙的流量。Firewall Manager 不支持其他目标网关,例如 NAT 网关。

有关管理 VPC 的路由表的信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的 “管理 VPC 的路由表”。有关管理Network Firewall 路由表的信息,请参阅Amazon Network Firewall开发者指南Amazon Network Firewall中的路由表配置

当您启用策略监控时,Firewall Manager 会持续监控 VPC 路由配置,并提醒您绕过该 VPC 的防火墙检查的流量。如果子网有防火墙端点路由,Firewall Manager 会查找以下路由:

  • 向网络Firewall 端点发送流量的路由。

  • 将流量从Network Firewall 端点转发到互联网网关的路由。

  • 从互联网网关到Network Firewall 端点的入站路由。

  • 来自防火墙子网的路由。

如果子网有Network Firewall 路由,但Network Firewall 和您的互联网网关路由表中有非对称路由,Firewall Manager 会将该子网报告为不合规。Firewall Manager 还会在Firewall Manager 创建的防火墙路由表以及子网的路由表中检测到指向 Internet 网关的路由,并将其报告为不合规。Network Firewall 子网路由表和您的互联网网关路由表中的其他路由也被报告为不合规。根据违规类型,Firewall Manager 会建议采取补救措施以使路由配置合规。Firewall Manager 并非在所有情况下都提供建议。例如,如果您的客户子网的防火墙端点是在Firewall Manager 之外创建的,Firewall Manager 不会建议采取补救措施。

默认情况下,Firewall Manager 会将任何跨越可用区边界的流量标记为不合规以供检查。但是,如果您选择在 VPC 中自动创建单个终端节点,Firewall Manager 不会将跨越可用区边界的流量标记为不合规。

对于使用具有自定义终端节点配置的分布式部署模型的策略,您可以选择将从没有防火墙终端节点的可用区跨越可用区边界的流量标记为合规还是不合规。

注意
  • Firewall Manager 不建议对非 IPv4 路由(例如 IPv6 和前缀列表路由)采取补救措施。

  • 使用DisassociateRouteTable API 调用发出的调用最长可能需要在 12 小时后才会被检测到。

  • Firewall Manager 为包含防火墙端点的子网创建Network Firewall 路由表。Firewall Manager 假设此路由表仅包含有效的互联网网关和 VPC 默认路由。此路由表中任何额外或无效的路由都被视为不合规。

配置Firewall Manager 策略时,如果选择监控模式,Firewall Manager 会提供有关您的资源的资源违规和补救详细信息。您可以使用这些建议的补救措施来修复路由表中的路由问题。如果您选择关闭模式,Firewall Manager 不会为您监视路由表内容。使用此选项,您可以自己管理 VPC 路由表。有关这些资源违规的更多信息,请参阅查看Amazon Firewall Manager策略的合规性信息

警告

如果您在创建策略时在Amazon Network Firewall路由配置下选择监控,则无法为该策略将其关闭。但是,如果您选择 Off,则可以稍后将其启用。

为Amazon Network Firewall策略配置日志

您可以启用Network Firewall 策略的集中日志记录,以获取有关组织内流量的详细信息。您可以选择流量记录来捕获网络流量,也可以选择警报日志来报告与规则操作设置为DROP或的规则相匹配的流量ALERT。有关Amazon Network Firewall日志记录的更多信息,请参阅《Amazon Network Firewall开发者指南》Amazon Network Firewall中的记录网络流量

您将日志从策略的Network Firewall 发送到 Amazon S3 存储桶。启用日志记录后,通过更新防火墙设置,将日志Amazon Network Firewall传输到带有预留Amazon Firewall Manager前缀的选定 Amazon S3 存储桶,从而为每个配置的Network Firewall 提供日志<policy-name>-<policy-id>

注意

Firewall Manager 使用此前缀来确定日志配置是由Firewall Manager 添加的,还是由账户所有者添加的。如果账户所有者尝试使用保留的前缀进行自己的自定义日志记录,则该前缀将被Firewall Manager 策略中的日志配置所覆盖。

有关如何创建 Amazon S3 存储桶和查看存储日志的更多信息,请参阅什么是 Amazon S3?Amazon Simple 存储服务用户指南中。

要启用日志记录,您必须满足以下要求:

  • 您在Firewall Manager 策略中指定的 Amazon S3 必须是存在的。

  • 您必须拥有以下权限:

    • logs:CreateLogDelivery

    • s3:GetBucketPolicy

    • s3:PutBucketPolicy

  • 如果作为您的日志记录目标的 Amazon S3 存储桶使用服务器端加密以及存储在中的Amazon Key Management Service密钥,则必须将以下策略添加到Amazon KMS客户管理的密钥中,以允许Firewall Manager 登录到您的 CloudWatch 日志日志组:

    { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "*" }

请注意,只有 Firewall Manager 管理员帐户中的存储段可用于Amazon Network Firewall集中日志。

在Network Firewall 策略上启用集中登录时,Firewall Manager 会对您的帐户执行以下操作:

  • Firewall Manager 更新选定 S3 存储桶的权限以允许日志传输。

  • Firewall Manager 在 S3 存储桶中为策略范围内的每个成员账户创建目录。每个账户的日志都可以在以下网址找到<bucket-name>/<policy-name>-<policy-id>/AWSLogs/<account-id>

启用Network Firewall 策略的日志记录
  1. 使用您的Firewall Manager 管理员账户创建 Amazon S3 存储桶。有关更多信息,请参阅《《Amazon Si mple Storage Service Service Ser vice

  2. Amazon Web Services Management Console使用您的Firewall Manager 管理员帐户登录,然后在上打开Firewall Manager 控制台https://console.amazonaws.cn/wafv2/fmsv2

    注意

    有关设置 Firewall Manager 管理员账户的信息,请参阅Amazon Firewall Manager先决条件

  3. 在导航窗格中,选择 Security P olicies

  4. 选择要为其启用日志记录的网络Firewall 策略。有关Amazon Network Firewall日志记录的更多信息,请参阅《Amazon Network Firewall开发者指南》Amazon Network Firewall中的记录网络流量

  5. 策略详细信息选项卡的策略规则部分中,选择编辑

  6. 要启用和聚合日志,请在日志配置下选择一个或多个选项:

    • 启用和聚合流日志

    • 启用和汇总警报日志

  7. 选择要将日志传输到其中的 Amazon S3 存储桶。您必须为启用的每种日志类型选择一个存储桶。您可针对两种日志类型使用同一存储桶。

  8. (可选)如果您希望将自定义成员帐户创建的日志记录替换为策略的日志配置,请选择覆盖现有的日志配置

  9. 选择下一步

  10. 查看您的设置,然后选择 “保存” 以保存对策略所做的更改。

禁用Network Firewall 策略的日志记录
  1. Amazon Web Services Management Console使用您的Firewall Manager 管理员帐户登录,然后在上打开Firewall Manager 控制台https://console.amazonaws.cn/wafv2/fmsv2

    注意

    有关设置 Firewall Manager 管理员账户的信息,请参阅Amazon Firewall Manager先决条件

  2. 在导航窗格中,选择 Security P olicies

  3. 选择要为其禁用日志记录的网络Firewall 策略。

  4. 策略详细信息选项卡的策略规则部分中,选择编辑

  5. 在 “记录配置状态” 下,取消选择 “启用和聚合流日志” 以及 “启用和聚合警报日志”(如果已选择)。

  6. 选择下一步

  7. 查看您的设置,然后选择 “保存” 以保存对策略所做的更改。