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

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

安全组策略

您可以使用 Amazon Firewall Manager 安全组策略来管理您的组织的 Amazon Virtual Private Cloud 安全组 Amazon Organizations。您可以将集中控制的安全组策略应用于整个组织或部分账户和资源。您还可以通过审核和使用安全组策略来监控和管理组织中正在使用的安全组策略。

Firewall Manager 会持续维护您的策略,并且当这些策略在整个组织中添加或更新时将它们应用于账户和资源。有关的信息 Amazon Organizations,请参阅《Amazon Organizations 用户指南》。有关 Amazon 虚拟私有云安全组的信息,请参阅 Amazon VPC 用户指南中的 VPC 安全组

您可以使用 Firewall Manager 安全组策略在整个 Amazon 组织中执行以下操作:

  • 将通用安全组应用到指定的账户和资源。

  • 审核安全组规则,以查找和修复不合规的规则。

  • 审核安全组的使用情况,以清理未使用和冗余的安全组。

本节介绍了 Firewall Manager 安全组策略的工作原理,并提供了使用这些策略的指南。有关创建安全组策略的过程,请参阅 创建 Amazon Firewall Manager 策略

通用安全组策略

Firewall Manager 通过通用安全组策略,提供集中控制的安全组与组织中的账户和资源的关联。您可以指定在企业中应用策略的位置和方式。

您可以将通用安全组策略应用于以下资源类型:

  • Amazon Elastic Compute Cloud(Amazon EC2)实例

  • 弹性网络接口

  • 应用程序负载均衡器

  • Classic 负载均衡器

有关使用控制台创建通用安全组策略的指导,请参阅 创建通用安全组策略

共享 VPC

在通用安全组策略的策略范围设置中,可以选择包括共享 VPC。此选项包括由另一个账户拥有并与范围内账户共享的 VPC。始终包括范围内账户拥有的 VPC。有关共享 VPC 的信息,请参阅 Amazon VPC 用户指南中的使用共享 VPC

在包括共享 VPC 时,注意以下警告。除此之外,安全组策略限制 上还提供了有关安全组策略的一般注意事项。

  • Firewall Manager 将主要安全组复制到每个范围内账户的 VPC 中。对于共享 VPC,Firewall Manager 会为与之共享 VPC 的每个范围内账户复制一次主要安全组。这可能会导致单个共享 VPC 中存在多个副本。

  • 创建新的共享 VPC 后,只有当您在 VPC 中至少创建了一个属于策略范围内的资源之后,您才会在 Firewall Manager 安全组策略详细信息中看到该共享 VPC。

  • 在启用共享 VPC 的策略中禁用了共享 VPC 后,在共享 VPC 中,Firewall Manager 将删除与任何资源不关联的副本安全组。Firewall Manager 会保留剩余的副本安全组,但会停止对其进行管理。删除这些其余的安全组时,需要在每个共享 VPC 实例中执行手动管理。

主要安全组

对于每项常用安全组策略,您都需要 Amazon Firewall Manager 提供一个或多个主安全组:

  • 主要安全组必须由 Firewall Manager 管理员账户创建,并且可以驻留在账户中的任何 Amazon VPC 实例中。

  • 您可以通过 Amazon Virtual Private Cloud (Amazon VPC) 或 Amazon Elastic Compute Cloud (Amazon EC2) 管理主要安全组。有关信息,请参阅 Amazon VPC 用户指南中的使用安全组

  • 您可以将一个或多个安全组指定作为 Firewall Manager 安全组策略的主安全组。默认情况下,一个策略中的安全组数量限制为一,但您可以提交请求来增加安全组的数量。有关信息,请参阅 Amazon Firewall Manager 配额

策略规则设置

您可以为通用安全组策略的安全组和资源选择以下一种或多种更改控制行为:

  • 识别并报告本地用户对副本安全组所做的任何更改。

  • 取消任何其他安全组与策略范围内的 Amazon 资源的关联。

  • 将标签从主要安全组分配到副本安全组。

    重要

    Firewall Manager 不会将 Amazon 服务添加的系统标签分发到副本安全组中。系统标签以 aws: 为前缀。此外,如果现有安全组的标签与组织的标签策略存在冲突,Firewall Manager 将不会更新现有安全组的标签或创建新的安全组。有关标签策略的信息,请参阅《 Amazon Organizations 用户指南》中的标签策略

  • 将安全组引用从主要安全组分发到副本安全组。

    这样您能够轻松地在所有范围内资源中为与指定安全组的 VPC 关联的实例建立通用的安全组引用规则。启用此选项后,只有当安全组引用 Amazon Virtual Private Cloud 中的对等安全组时,Firewall Manager 才会传播安全组引用。如果副本安全组未正确引用对等安全组,Firewall Manager 会将这些复制的安全组标记为不合规。有关如何在 Amazon VPC 中引用对等安全组的信息,请参阅 Amazon VPC 对等互连指南中的更新您的安全组以引用对等安全组。

    如果您不启用此选项,Firewall Manager 不会将安全组引用传播到副本安全组。有关亚马逊 VPC 中的 VPC 对等互连的信息,请参阅亚马逊 VPC 对等互连指南。

策略的制定和管理

当您创建通用安全组策略时,Firewall Manager 会将主要安全组复制到策略范围内的每个 Amazon VPC 实例,并将复制的安全组关联到策略范围内的账户和资源。修改主要安全组时,Firewall Manager 会将更改传播到副本。

当您删除通用安全组策略时,您可以选择是否清理该策略创建的资源。对于 Firewall Manager 常见安全组,这些资源是副本安全组。除非您想在删除策略后手动管理每个副本,否则请选择清理选项。在大多数情况下,选择清理选项是最简单的方法。

如何管理副本

Amazon VPC 实例中的副本安全组的管理方式与其他 Amazon VPC 安全组相同。有关信息,请参阅 Amazon VPC 用户指南 中的您的 VPC 的安全组

内容审核安全组策略

使用 Amazon Firewall Manager 内容审计安全组策略来审计您的组织安全组中正在使用的规则,并将其应用于这些规则。根据您在策略中定义的范围,内容审计安全组策略适用于您的 Amazon 组织中使用的所有客户创建的安全组。

有关使用控制台创建内容审核安全组策略的指导,请参阅 创建内容审核安全组策略

策略范围资源类型

您可以将内容审核安全组策略应用于以下资源类型:

  • Amazon Elastic Compute Cloud(Amazon EC2)实例

  • 弹性网络接口

  • Amazon VPC 安全组

如果安全组明确位于范围内,或者与范围内的资源相关联,则将其视为策略范围。

策略规则选项

您可以为每个内容审核策略使用托管策略规则或自定义策略规则,但不能同时使用这两者。

  • 托管策略规则 – 在包含托管规则的策略中,您可以使用应用程序和协议列表来控制 Firewall Manager 审核哪些规则,并将哪些规则标记为合规或不合规。您可以使用 Firewall Manager 管理的列表。您也可以创建和使用自己的应用程序和协议列表。有关这些类型的列表以及自定义列表管理选项的信息,请参阅 托管列表

  • 自定义策略规则 – 在包含自定义策略规则的策略中,您可以将现有安全组指定为策略的审核安全组。您可以将审核安全组规则用作模板,用于定义 Firewall Manager 审核的规则,并将其标记为合规或不合规。

审核安全组

必须先使用 Firewall Manager 管理员账户创建审核安全组,然后才能在策略中使用它们。您可以通过 Amazon Virtual Private Cloud (Amazon VPC) 或 Amazon Elastic Compute Cloud (Amazon EC2) 管理安全组。有关信息,请参阅 Amazon VPC 用户指南中的使用安全组

您用于内容审核安全组策略的安全组仅被 Firewall Manager 用作策略范围内安全组的比较参考。Firewall Manager 不会将其与组织中的任何资源相关联。

您在审核安全组中定义规则的方式取决于您在策略规则设置中的选择:

  • 托管策略规则 – 对于托管策略规则设置,您可以使用情况审核安全组覆盖策略中的其他设置,以明确允许或拒绝否则可能产生其他合规性结果的规则。

    • 如果您选择始终允许在审核安全组中定义的规则,则无论其他策略设置如何,任何与审核安全组中定义的规则相匹配的规则都被视为符合该策略。

    • 如果您选择始终拒绝在审核安全组中定义的规则,则无论其他策略设置如何,任何与审核安全组中定义的规则相匹配的规则都将被视为不符合该策略。

  • 自定义策略规则 – 对于自定义策略规则设置,审核安全组提供了范围内的安全组规则中可接受或不可接受的示例:

    • 如果您选择允许使用这些规则,则所有范围内安全组必须只拥有在策略的审核安全组规则允许范围内的规则。在这种情况下,策略的安全组规则提供了可以接受的操作示例。

    • 如果您选择拒绝使用这些规则,则所有范围内安全组必须只拥有在策略的审核安全组规则允许范围外的规则。在这种情况下,策略的安全组规则提供了不可接受的操作示例。

策略的制定和管理

创建审核安全组策略时,必须禁用自动修正。建议的做法是在启用自动修正之前先检查策略创建的影响。查看预期效果后,您可以编辑策略并启用自动修正。启用自动修正后,Firewall Manager 会更新或删除范围内安全组中不合规的规则。

受审核安全组策略影响的安全组

您的组织中由客户创建的所有安全组都有资格加入审核安全组策略的范围。

副本安全组不是客户创建的,因此没有资格直接纳入审核安全组策略的范围。但是,由于策略的自动修正活动,它们可能会进行更新。通用安全组策略的主要安全组由客户创建,可以属于审核安全组策略的范围。如果审核安全组策略对主要安全组进行了更改,则 Firewall Manager 会自动将这些更改传播到副本。

使用情况审核安全组策略

使用 Amazon Firewall Manager 使用情况审计安全组策略来监控您的组织中是否存在未使用和冗余的安全组,并可以选择执行清理。如果为此策略启用了自动修正,Firewall Manager 会执行以下操作:

  1. 合并冗余安全组(如果选择了该选项)。

  2. 删除未使用的安全组(如果选择了该选项)。

您可以将使用情况审核安全组策略应用于以下资源类型:

  • Amazon VPC 安全组

有关使用控制台创建使用情况审核安全组策略的指导,请参阅 创建使用情况审核安全组策略

Firewall Manager 如何检测和修复冗余安全组

要将安全组视为冗余,它们必须设置完全相同的规则,并且位于同一 Amazon VPC 实例中。

要修复冗余安全组集,Firewall Manager 会选择保留该安全组集中的一个安全组,然后将其关联到与该安全组集中的其他安全组关联的所有资源。然后,Firewall Manager 将其他安全组与它们所关联的资源断开关联,使它们处于未使用状态。

注意

如果您还选择删除未使用的安全组,Firewall Manager 将执行接下来的操作。这可能导致删除冗余组中的安全组。

Firewall Manager 如何检测和修复未使用的安全组

如果满足以下两个条件,Firewall Manager 会将安全组视为未使用:

  • 任何亚马逊 EC2 实例或 Amazon EC2 弹性网络接口均未使用该安全组。

  • 在策略规则时间段中指定的分钟数内,Firewall Manager 尚未收到其配置项目。

策略规则时间段的默认设置为零分钟,但您可以将时间延长到 365 天(525,600 分钟),以便有时间将新的安全组与资源关联起来。

重要

如果您指定的分钟数不是默认值 0,则必须在中启用间接关系 Amazon Config。否则,您的使用情况审核安全组策略将无法按预期运行。有关间接关系的信息 Amazon Config,请参阅《Amazon Config 开发者指南》 Amazon Config中的间接关系

如果可能,Firewall Manager 会根据您的规则设置将其从您的帐户中删除,从而修复未使用的安全组。如果 Firewall Manager 无法删除安全组,则会将其标记为不符合策略。Firewall Manager 无法删除其他安全组引用的安全组。

根据您使用的是默认时间段设置还是自定义设置,修复的时间会有所不同:

  • 时间段设置为零,默认 — 使用此设置,一旦 Amazon EC2 实例或 elastic network interface 未使用安全组,该安全组即被视为未使用。

    对于此零时间段设置,Firewall Manager 会立即修复安全组。

  • 时间段大于零 — 使用此设置,当 Amazon EC2 实例或弹性网络接口未使用安全组且 Firewall Manager 在指定的分钟数内未收到该安全组的配置项目时,该安全组被视为未使用。

    对于非零时间段设置,Firewall Manager 会在安全组保持未使用状态 24 小时后对其进行修复。

默认账户规范

通过控制台创建使用情况审核安全组策略时,Firewall Manager 会自动选择排除指定账户并包括所有其他账户。然后,该服务会将 Firewall Manager 管理员账户放入要排除的列表中。这是推荐的方法,它允许您手动管理属于 Firewall Manager 管理员账户的安全组。

安全组策略的最佳实践

此部分列出了针对使用 Amazon Firewall Manager管理安全组的建议。

排除 Firewall Manager 管理员账户

在您设置策略范围时,请排除 Firewall Manager 管理员账户。当您通过控制台创建使用情况审核安全组策略时,这是默认选项。

首先禁用自动修正

对于内容或使用情况审核安全组策略,请先禁用自动修正。查看策略详细信息以确定自动修正可能产生哪些影响。在您确定进行了所需的更改时,请编辑策略以启用自动修正。

如果您还使用外部来源来管理安全组,请避免冲突

如果您使用 Firewall Manager 以外的工具或服务来管理安全组,请注意避免 Firewall Manager 中的设置与外部来源中的设置发生冲突。如果您使用自动修正,并且您的设置存在冲突,则可能会造成一个冲突修正循环,从而消耗双方的资源。

例如,假设您配置了另一个服务来维护一组 Amazon 资源的安全组,然后配置了一个 Firewall Manager 策略来为部分或全部相同的资源维护不同的安全组。如果您将任何一方配置为不允许任何其他安全组与范围内的资源相关联,则该方将删除由另一方维护的安全组关联。如果双方都以这种方式配置,则最终可能会出现一个相互冲突的取消关联和关联的循环。

此外,假设您创建了 Firewall Manager 审核策略来强制执行与来自其他服务的安全组配置相冲突的安全组配置。Firewall Manager 审核策略应用的修正措施可以更新或删除该安全组,从而使其不符合其他服务的要求。如果将其他服务配置为监控并自动修复发现的任何问题,它将重新创建或更新安全组,使其再次不符合 Firewall Manager 审核策略。如果 Firewall Manager 审核策略配置了自动修正,它将再次更新或删除外部安全组,依此类推。

为避免此类冲突,请在 Firewall Manager 和任何外部来源之间创建互斥的配置。

您可以使用标记将外部安全组排除在 Firewall Manager 策略的自动修正范围之外。为此,请向由外部来源管理的安全组或其他资源添加一个或多个标签。然后,当您在资源规范中定义 Firewall Manager 策略范围时,将带有您添加的一个或多个标签的资源排除在外。

同样,在您的外部工具或服务中,将 Firewall Manager 管理的安全组排除在任何管理或审核活动之外。要么不要导入 Firewall Manager 资源,要么使用 Firewall Manager 特定的标记将其排除在外部管理之外。

使用情况审计安全组策略的最佳实践

使用使用情况审计安全组策略时,请遵循以下准则。

  • 避免在短时间内(例如在 15 分钟内)对安全组的关联状态进行多次更改。这样做可能会导致 Firewall Manager 错过部分或全部相应的事件。例如,不要快速将安全组与 elastic network interface 关联和取消关联。

  • 不要将 Amazon Config 配置记录器用于使用情况审核安全组策略。它不是必需的,使用它会产生额外 Amazon Config 费用。

安全组策略限制

本节列出了使用 Amazon Firewall Manager 安全组策略的限制:

  • 对于适用于使用 Fargate 服务类型创建的 Amazon EC2 弹性网络接口的安全组,不支持更新。但是,您可以使用 Amazon EC2 服务类型更新 Amazon ECS 弹性网络接口的安全组。

  • Firewall Manager 不支持由 Amazon Relational Database Service 创建的 Amazon EC2 弹性网络接口的安全组。

  • Amazon ECS 弹性网络接口仅适用于使用滚动更新 (Amazon ECS) 部署控制器的 Amazon ECS 服务。对于其他 Amazon ECS 部署控制器,例如 CODE_DEPLOY 或外部控制器,Firewall Manager 目前无法更新弹性网络接口。

  • 使用适用于 Amazon EC2 弹性网络接口的安全组,Firewall Manager 不会立即看到对安全组所做的更改。Firewall Manager 通常会在几个小时内检测到更改,但检测可能会延迟长达六个小时。

  • Firewall Manager 不支持针对网络负载均衡器更新弹性网络接口中的安全组。

  • 在常见的安全组策略中,如果共享的 VPC 后来被取消与账户共享,Firewall Manager 将不会删除该账户中的副本安全组。

  • 对于使用情况审计安全组策略,如果您创建了多个具有自定义延迟时间设置的策略,并且所有策略的范围都相同,则第一个包含合规性发现的策略将是报告发现结果的策略。

安全组策略使用案例

您可以使用 Amazon Firewall Manager 常用安全组策略自动配置主机防火墙,以便在 Amazon VPC 实例之间进行通信。本节列出了标准的 Amazon VPC 架构,并介绍了如何使用 Firewall Manager 的常见安全组策略来保护每种架构。这些安全组策略可以帮助您应用一组统一的规则来选择不同账户中的资源,避免在 Amazon Elastic Compute Cloud 和 Amazon VPC 中按账户进行配置。

使用 Firewall Manager 通用安全组策略,您可以仅标记与其他 Amazon VPC 中的实例通信所需的 EC2 弹性网络接口。这样,同一 Amazon VPC 中的其他实例就会更加安全,且隔离性更强。

用例:监视和控制对应用程序负载均衡器和经典负载均衡器的请求

您可以使用 Firewall Manager 通用安全组策略来定义范围内的负载均衡器应处理哪些请求。您可以通过 Firewall Manager 控制台进行配置。只有符合安全组入站规则的请求才能到达您的负载均衡器,而负载均衡器只会分发符合出站规则的请求。

用例:可访问互联网的公用 Amazon VPC

您可以使用 Firewall Manager 通用安全组策略来保护公有 Amazon VPC,例如,仅允许入站端口 443。这就如同针对公有 VPC 仅允许入站 HTTPS 流量。您可以标记 VPC 内的公共资源(例如,作为“PublicVPC”),然后将 Firewall Manager 策略范围设置为仅限具有该标签的资源。Firewall Manager 会自动将策略应用于这些资源。

用例:公有和私有 Amazon VPC 实例

对于可访问互联网的公有 Amazon VPC 实例,您可以对公共资源使用相同的通用安全组策略,正如之前用例中的建议。您可以使用第二项通用安全组策略来限制公共资源和私有资源之间的通信。使用类似 “PublicPrivate” 的内容标记公有和私有 Amazon VPC 实例中的资源,以对其应用第二项策略。您可以使用第三项策略来定义允许私有资源与其他公司或私有 Amazon VPC 实例之间进行的通信。对于此策略,您可以在私有资源上使用另一个标识标签。

用例:中心和分支 Amazon VPC 实例

您可以使用通用安全组策略来定义中心 Amazon VPC 实例和分支 Amazon VPC 实例之间的通信。您可以使用第二项策略来定义从每个分支 Amazon VPC 实例到中心 Amazon VPC 实例的通信。

用例:Amazon EC2 实例的默认网络接口

您可以将通用安全组策略用于仅允许标准通信,例如内部 SSH 和补丁/操作系统更新服务,并禁止其他不安全的通信。

用例:识别具有开放权限的资源

您可以使用情况审核安全组策略来识别组织内有权与公有 IP 地址通信或拥有属于第三方供应商的 IP 地址的所有资源。