AWS 网络防火墙的 IPv6 部署模型 网络与内容交付

在 AWS 网络防火墙中部署 IPv6 的模型

关键要点

在本文中,我们将讨论在 AWS 网络防火墙中实现 IPv6 的两种主要部署模型:双栈模型和仅 IPv6 模型。AWS 网络防火墙支持这两种模型,使得用户能够灵活地选择合适的网络架构。同时,还会探讨实施这些模型时要考虑的因素及其优缺点。

AWS 网络防火墙是一种管理状态的网络防火墙和入侵防护服务,允许用户对网络流量实施精细的防火墙规则。如果您是 AWS 网络防火墙的新用户,并想了解其功能和使用案例,建议您查看这篇博客文章 AWS 网络防火墙 VPC 中的新管理防火墙服务。

在这篇文章中,我们将展示如何在双栈和仅 IPv6 的环境中使用 AWS 网络防火墙。我们将详细讲解不同的部署模型、与 IPv6 环境相关的考虑因素和权衡。如果您对仅 IPv4 网络的部署模型感兴趣,可以参考文章 AWS 网络防火墙的部署模型。

AWS 网络防火墙的 IPv6 部署模型 网络与内容交付

AWS 网络防火墙在 2023 年 1 月增加了 对 IPv6 双栈支持,并在 2023 年 4 月加入了 仅 IPv6 支持。您可以在 rePost 文章 在 AWS 上开始使用 IPv6 中找到有关 IPv6 最佳实践、参考架构和文档的更多资源。

AWS 上的 IPv6 部署模型

在 AWSAmazon Web Services上部署 IPv6 环境时,主要有两种部署选项:双栈与仅 IPv6。在双栈模型中,您的环境支持 IPv4 和 IPv6,而仅 IPv6 意味着工作负载只配置了 IPv6 地址。

双栈部署模型

双栈部署模型的环境支持 IPv4 和 IPv6 流量。您的资源可以同时具有 IPv4 和 IPv6 地址。部署双栈环境的一个好处是能够与不支持 IPv6 的资源保持向后兼容。例如,您可能有仅支持 IPv4 的客户端,因此可以通过原生 IPv4 连接到双栈终端。

仅 IPv6 部署模型

在仅 IPv6 环境中,您的资源只配置了 IPv6 地址,能够发送和接收 IPv6 流量。在确保客户端、AWS 服务和第三方资源支持 IPv6 或配置了向后兼容层之后,可以选择仅 IPv6 模型。例如,您可以在虚拟专用云VPC中为某项服务部署仅 IPv6 的 Amazon Elastic Compute Cloud (Amazon EC2) 实例,并使用双栈负载均衡器以允许 IPv4 和 IPv6 客户端访问该服务。

接下来,我们将回顾 AWS 网络防火墙在启用 IPv6 环境中的常见架构模式。

互联网入口流量检测架构模式

在本节中,我们将探索如何使用 AWS 网络防火墙检查 IPv6 的互联网入口流量。AWS 网络防火墙可以在分布式或集中式模型中使用。

IPv6 分布式互联网入口流量检测

在第一个场景中,我们重点关注连接到 AWS 上托管的使用 IPv6 的应用程序的外部客户端,如下图所示图 1。

互联网入口流量检测流程:

双栈应用负载均衡器在 Amazon Route 53 中维护了 AIPv4和 AAAAIPv6完全限定域名FQDN记录,以允许 IPv4 和 IPv6 客户端访问您的应用程序。您可以创建一个 Route 53 公共托管区域,用于您的自定义 DNS 名称,创建 A 和 AAAA 别名记录,并将它们指向应用负载均衡器的 FQDN。

您的 IPv4 和 IPv6 客户端将根据其功能,接收 A 或 AAAA 记录。

互联网入口流量通过在双栈子网中的 AWS 网络防火墙进行检查。

入口路由功能使用 网关路由表,允许 AWS 网络防火墙插入在互联网网关与应用程序之间的流量路径中。

流量目的地是您的弹性负载均衡器ELB,防火墙充当插入式检查资源,对客户端和应用程序透明。

检查后,流量将被转发到负载均衡器而不更改 IP 地址IPv4 或 IPv6。

然后,ELB 根据其支持的协议版本将流量发送到后端 EC2 实例,可以是 IPv4 或 IPv6。双栈负载均衡器支持 IPv4 目标组和 IPv6 目标组。

该模型支持应用程序负载均衡器和网络负载均衡器,而 AWS 网络防火墙能够过滤 IPv4 和 IPv6 流量。

AWS 网络防火墙配置

以下示例显示了标准状态规则,允许将 HTTP 端口 443 访问 ELB 子网,同时阻止 HTTP 端口 80 流量。客户还可以使用 Suricata 兼容规则。

一个允许 IPv6 无类别间域路由CIDR入口流量的 Suricata 规则示例如下:

免费加速器试用7天

pass tcp any any gt [26001f14f25df00/56] 443(flowestablishedtoserver msg允许 TCP 443 流量 sid 1000005 rev1)

IPv6 集中式互联网入口流量检测

IPv6 的集中式互联网入口模式仅限于双栈应用程序和具有 IPv4 目标的网络负载均衡器。目前,您不能配置 IP 类型的目标组,其中包含位于其他 VPC 或本地网络中工作负载的 IPv6 地址,即使您通过 VPC 对等连接、AWS Transit Gateway、AWS Cloud WAN 或 AWS Direct Connect 配置了私有连接。

然而,如果您希望拥有 IPv6 目标和 IPv6 服务,您可以通过使用双栈弹性负载均衡器和 IPv6 目标,在集中的入口 VPC 中使用 IPv6 IP 类型目标作为双栈 AWS PrivateLink 终端节点。PrivateLink 终端节点允许您的前端应用或网络负载均衡器以 IPv6 连接到其他 VPC 中的服务或本地网络。

AWS 网络防火墙配置

当您为防火墙策略配置网络防火墙政策变量时,可以添加一个或多个 CIDR 表示法的 IPv4 或 IPv6 地址,以覆盖 Suricata HOMENET 的默认值。如果您的防火墙使用集中式部署模型,您可能希望通过以下图例图 4将 HOMENET 覆盖为您检查 VPC 的 CIDR。

互联网出口流量检测架构模式

当您在 AWS 中部署工作负载时,许多资源需要访问互联网。这类流量通常需要进行检查。接下来,我们将探索两种检查您 AWS 资源向互联网出口流量的选项。

IPv6 分布式互联网出口流量检测

在双栈或仅 IPv6 子网中部署的工作负载,可以使用 IPv4 或 IPv6 连接到互联网端点,并且该流量可以通过 AWS 网络防火墙进行检查,如下图图 5所示。我们在双栈子网中部署 AWS 网络防火墙终端节点,以允许对 IPv4 和 IPv6 协议的流量进行检查。

使用 AWS 网络防火墙过滤 IPv6 出口流量目前仅适用于公共子网。私有 IPv6 子网配置了一个默认路由指向出口仅互联网网关,它不支持入口路由功能,以允许通过防火墙端点对返回流量进行对称检查。

使用互联网网关进行出口意味着在 IPv6 中,子网是公共的。因此,应该在 AWS 网络防火墙上施加适当的限制,以阻止来源于互联网的入口流量到达工作负载子网。

使用 NAT64 和 DNS64 与仅 IPv4 服务进行通信

如果您有具有仅 IPv6 工作负载的子网需要和互联网的 IPv4 服务进行通信,可以使用 AWS 托管的 DNS64 结合 NAT64。如果 DNS 记录中未与目的地关联 IPv6 地址,Route 53 解析器将通过在 IPv4 地址前添加预定义的 64ff9b/96 前缀在 RFC6052 中定义合成一个 IPv6 地址。您的 IPv6only 服务将数据包发送到合成的 IPv6 地址。然后,您需要通过 NAT 网关路由此流量,该 NAT 服务执行必要的 NAT64 转换,以使子网中的 IPv6 服务访问该子网外的 IPv4 服务。

您可以使用 AWS CLI 的 aws ec2 modifysubnetattribute 命令 或通过 VPC 控制台编辑子网设置来启用或禁用子网上的 DNS64。NAT64 当前在您现有的 NAT 网关或您创建的任何新 NAT 网关上自动可用。有关更多信息,请参阅 DNS64 和 NAT64 文档。

如图 5 所示,防火墙终端节点子网路由到 64ff9b/96 指向 NAT 网关,这是 NAT64 工作所必需的。

AWS 网络防火墙配置

以下是一个示例 Suricata 规则,用于阻止对 IPv6 CIDR 的入口流量:

drop ip any any gt [26001f14f25df00/56] any (flowestablishedtoserver msg拒绝 IPv6 流量 sid 1000006 rev1)

请注意,您可以组合这两种模型:集中的 IPv4 出口和分布式的 IPv6 出口。

IPv6 集中式互联网出口流量检测

为了实现集中式的 IPv6 互联网出口模式,您必须使用支持 NAT66 或 IPv6 到 IPv6 网络前缀转换NPTv6的防火墙或代理,以及以两臂模式部署的网关负载均衡器。网关负载均衡器的双臂部署模型在博客文章 部署网关负载均衡器的最佳实践 中进行了说明。我们建议在可能的情况下实现前面讨论的分布式出口模式,以提高可扩展性和优化数据处理成本。

VPC 到 VPC 流量检测部署模式

接下来,我们将探索如何使用 AWS 网络防火墙检查不同环境或安全区域之间的 IPv6 流量。AWS 网络防火墙可以在集中式或分布式模型中使用这种模式。您可以检查 VPC 内的 IPv6 流量,例如,从私有子网到公共子网,或在 VPC 间进行流量检查。

使用 Transit Gateway 和 AWS Cloud WAN 的集中式 VPC 到 VPC 检查模式

您可以使用一个集中式 VPC 来部署 AWS 网络防火墙,并通过 AWS Transit Gateway 或 AWS Cloud WAN 将流量路由到集中式防火墙部署。此模型在 AWS 网络防火墙的部署模型 的集中部署部分中进行了说明,适用于 Transit Gateway,以及 使用 AWS Cloud WAN 检查 Amazon VPC 之间的网络流量。要在双栈环境中使用此架构,您需要 Transit Gateway 或 AWS Cloud WAN 的双栈 VPC 附加子网,并且必须更新路由表以包含适当的 IPv6 路由。下图图 6显示了 AWS Transit Gateway 部署的示例:

下图图 7展示了在两个 AWS 区域中 AWS Cloud WAN 部署的示例。通过连接状态检查,我们配置路由以确保源和目标区域之间的流量都经过防火墙。

考虑事项

启用双栈 AWS 网络防火墙终端节点没有额外费用。在 Amazon VPC 中使用 IPv6 也没有额外费用。有关双栈及仅 IPv6 设计模式的更多信息,请查看参考架构 双栈和仅 IPv6 的 Amazon VPC 参考架构。有关 IPv6 VPC 和子网的更多信息,请查看 VPC 和子网现已支持更多 IPv6 CIDR 大小。有关 AWS 网络防火墙最佳实践的一般信息,请查看 AWS 网络防火墙最佳实践指南。有关 AWS上 IPv6 的更多信息,请查看 开始使用 AWS 上的 IPv6 资源与内容。

结论

每年 IPv6 的采纳率在增加,许多 AWS 客户在其环境中采用 IPv6 具有多种原因和需求。确保通过流量检查来网络安全仍然是 IPv4only、双栈和仅 IPv6 环境的首要任务。AWS 网络防火墙提供了检查这两种协议栈的灵活性和能力,而没有额外的成本。如需了解其他 IPv6 安全和监控注意事项,请阅读白皮书 采用和设计基于 IPv6 的网络在 AWS 上的最佳实践 中的 IPv6 部分。

于 2024 年 6 月 4 日更新:本文的早期版本省略了使用 DNS64 和 NAT64 的可能性。现已更新以描述在出口检查到 IPv4only 目标时使用 DNS64 和 NAT64 的用法。

作者简介

![Nick Kniv

2024年Kubernetes安全的关键趋势 媒体
2024年Kubernetes安全的关键趋势 媒体

2024年Kubernetes安全最佳实践关键要点Kubernetes安全是保护应用程序的措施,随着Kubernetes的采用增加,安全策略也在不断演变。安全重点在于防止未经授权的访问、确保数据隐私和维持工作负载及集群的完整性。新兴趋势包括左移安全、合规性即代码、复杂性管理、GitOps、微分段、安...