本文档是 Cross-Cloud Network 设计指南系列文章中的一篇。本部分探讨网络安全层。
该系列包含以下部分:
- 适用于分布式应用的 Cross-Cloud Network
- Cross-Cloud Network 中分布式应用的网络分段和连接
- 跨云网络中分布式应用的服务网络
- Cross-Cloud Network 中分布式应用的网络安全(本文档)
安全界面
为 Cross-Cloud Network 设计安全层时,您必须考虑以下安全界面:
- 工作负载安全
- 网域边界安全
工作负载安全控制 Virtual Private Cloud (VPC) 之间和内部的工作负载间的通信。工作负载安全使用靠近架构中工作负载的安全强制执行点。Cross-Cloud Network 会尽可能使用 Google Cloud 中的 Cloud 新一代防火墙来提供工作负载安全性。
所有网络边界都需要边界安全。由于边界通常与不同组织管理的网络互连,因此通常需要更严格的安全控制措施。您必须确保跨网络的以下通信受到保护:
- 跨 VPC 的通信
- 跨与其他云提供商或本地数据中心的混合连接进行的通信
- 互联网通信
在 Google Cloud 环境中插入第三方网络虚拟设备 (NVA) 的能力对于满足混合连接中的边界安全要求至关重要。
云中的工作负载安全
使用 Google Cloud 中的防火墙政策来保护工作负载,并提供可横向扩缩并应用于每个虚拟机实例的有状态防火墙功能。Google Cloud 防火墙的分布式特性可帮助您实施网络微细分安全政策,而不会对工作负载的性能产生负面影响。
使用分层防火墙政策来提高防火墙政策的可管理性并强制执行安全状况合规性。分层防火墙政策可让您在组织中创建和实施一致的防火墙政策。您可以将分层防火墙政策分配给组织或各个文件夹。此外,分层防火墙政策还可以通过 goto_next
操作将评估委托给较低级层的政策(全球或区域级网络防火墙政策)。
较低级层的规则无法替换资源层次结构中较高级别的规则。此规则结构可让组织范围的管理员集中管理强制性防火墙规则。分层防火墙政策的常见用例包括组织或多项目堡垒主机访问、允许集中式探测或健康检查系统,以及跨组织或项目组强制实施虚拟网络边界。如需查看使用分层防火墙政策的其他示例,请参阅分层防火墙政策示例。
使用全球和区域级网络防火墙政策针对单个 VPC 网络为网络的所有区域(全球)或单个区域(区域级)定义规则。
如需实现在虚拟机级层强制实施的更精细的控制,我们建议您在组织或项目级层使用 Identity and Access Management (IAM) 治理的标记。利用 IAM 治理的标记,可以根据工作负载主机的身份(而不是主机 IP 地址)来应用防火墙规则,并可跨 VPC 网络对等互连运行。使用标记部署的防火墙规则可以提供子网内微细分,其政策覆盖范围可自动应用于部署在任何位置的工作负载,而不受网络架构的影响。
除了有状态检查功能和标记支持之外,Cloud 新一代防火墙还支持威胁情报、FQDN 和地理定位过滤。
我们建议您从 VPC 防火墙规则迁移到防火墙政策。为了帮助您完成迁移,请使用迁移工具,该工具会创建一个全球网络防火墙政策并将现有 VPC 防火墙规则转换为新政策。
云中的边界安全
在多云网络环境中,边界安全通常在每个网络中实现。例如,本地网络有自己的一组边界防火墙,而每个云网络都实现了单独的边界防火墙。
由于 Cross-Cloud Network 是所有通信的 hub,因此您可以统一和集中管理边界安全控制措施,并在 Cross-Cloud Network 中部署一组边界防火墙。为了提供所选的内置边界安全堆栈,Cross-Cloud Network 提供了灵活的选项供您插入 NVA。
在图中所示的设计中,您可以在 hub 项目的中转 VPC 中部署第三方 NVA。
NVA 可以部署在单个网络接口(单 NIC 模式)上,也可以部署跨多个 VPC 的多个网络接口(多 NIC 模式)。对于 Cross-Cloud Network,我们建议为 NVA 使用单 NIC 部署,因为此选项可让您执行以下操作:
- 插入具有基于政策的路由的 NVA。
- 避免创建死板的拓扑。
- 在各种 VPC 间拓扑进行部署。
- 为 NVA 启用自动扩缩功能。
- 随时间推移扩展到多个 VPC,而无需更改 NVA 接口部署。
如果您的设计需要多 NIC,多 NIC NVA 边界安全中提供了详细的相关建议。
为了完成 NVA 部署所需的流量导向,本指南建议选择性地强制执行 VPC 路由表中基于政策的路由和静态路由。基于政策的路由比标准路由更灵活,因为基于政策的路由与来源和目标信息匹配。这些基于政策的路由仅在云网络拓扑中的特定位置强制执行。这种细化程度使您可以为非常具体的连接流定义非常具体的流量导向行为。
此外,此设计还可实现 NVA 所需的弹性机制。NVA 位于内部 TCP/UDP 负载均衡器前端,用于实现 NVA 冗余,通过自动扩缩实现弹性容量,以及实现流对称性来支持有状态的双向流量处理。
单 NIC NVA 边界安全
在集中式服务的 VPC 间连接中所述的设计中,中转 VPC 充当使用 VPC 网络对等互连和高可用性 VPN 连接的 spoke VPC 的 hub。中转 VPC 还支持在外部网络和 spoke VPC 之间进行连接。
为了实现单 NIC NVA 插入,此设计结合了以下两种模式:
- 在具有外部混合连接的 VPC 网络对等互连 hub 中插入 NVA
- 在具有外部混合连接的高可用性 VPN VPC hub 中插入 NVA
下图显示了在 VPC 网络对等互连和高可用性 VPN 的 hub 中插入的 NVA:
上图展示了一种组合模式:
- 托管可提供混合或多云连接的 Cloud Interconnect VLAN 连接的中转 VPC。此 VPC 还包含监控混合连接的单 NIC NVA。
- 通过 VPC 网络对等互连连接到中转 VPC 的应用 VPC。
- 通过高可用性 VPN 连接到中转 VPC 的中央服务 VPC。
在此设计中,使用高可用性 VPN 连接的 spoke 使用中转 VPC 与通过 VPC 网络对等互连连接的 spoke 进行通信。通信通过使用下面的直通式负载均衡、静态路由和基于政策的路由组合定向到第三方 NVA 防火墙:
- 如需将高可用性 VPN 流量定向到内部负载均衡器,请将未标记的基于政策的路由应用于中转 VPC。在这些基于政策的路由上,请使用能够实现流量对称的来源和目标 CIDR 范围。
- 如需将传入流量定向到内部直通式网络负载均衡器,请将基于政策的路由应用于中转 VPC 中的 Cloud Interconnect 连接。这些是区域级路由。
- 为了使离开 NVA 的流量不会直接路由回 NVA,请将所有 NVA 接口设置为跳过基于政策的路由的目标,以跳过其他基于政策的路由。然后,NVA 处理完成后,流量将遵循 VPC 路由表。
- 如需将流量定向到中转 VPC 中的 NVA 内部负载均衡器,请将静态路由应用于应用 VPC。可以使用网络标记将这些路由限定为区域级范围。
多 NIC NVA 边界安全
在多 NIC 模式下,拓扑更加静态,因为 NVA 在不同网络接口所在的不同 VPC 之间建立网桥连接。
当防火墙中需要基于接口的可用区时,以下多 NIC 设计会启用所需的外部连接。此设计为外部网络分配不同的防火墙接口。安全从业人员将外部网络称为不受信任的网络,将内部网络称为受信任网络。对于多 NIC NVA 部署,此设计是使用受信任 VPC 和不受信任的 VPC 实现的。
对于内部通信,可以使用与基于 CIDR 的可用区模型相对应的单 NIC 插入模型来强制实施防火墙。
在此设计中,您可以通过配置以下内容来插入 NVA:
- 如需将高可用性 VPN 流量定向到内部负载均衡器,请将未标记的基于政策的路由应用于受到信任的 VPC。在这些基于政策的路由上,请使用能够实现流量对称的来源和目标 CIDR 范围。
- 如需将传入流量定向到内部直通式网络负载均衡器,请将基于政策的路由应用于不受信任的 VPC 中的 Cloud Interconnect 连接。这些是区域级路由。
- 为了使离开 NVA 的流量不会直接路由回 NVA,请将所有 NVA 接口设置为跳过基于政策的路由的目标,以跳过其他基于政策的路由。然后,NVA 处理完成后,流量将遵循 VPC 路由表。
- 如需将流量定向到受信任的 VPC 中的 NVA 内部负载均衡器,请将静态路由应用于应用 VPC。可以使用网络标记将这些路由限定为区域级范围。
下图展示了在 hub 项目中的不受信任和受信任 VPC 网络之间插入的多 NIC NVA:
后续步骤
- 详细了解本设计指南中使用的 Google Cloud 产品:
- 如需了解如何部署防火墙 NVA,请参阅 Google Cloud 上的集中式网络设备。
- 如需查看更多参考架构、设计指南和最佳实践,请浏览云架构中心。
贡献者
作者:
- Victor Morno | Cloud 网络产品经理
- Ghaleb Al-habian | 网络专家
- Deepak Michael | 网络专家客户工程师
- Osvaldo Costa | 网络专家客户工程师
- Jonathan Almaleh | 员工技术解决方案顾问
其他贡献者:
- Zach Seils | 网络专家
- Christopher Abraham | 网络专家客户工程师
- Emanuele Mazza | 网络产品专家
- Aurélien Legrand | 战略云工程师
- Eric Yu | 网络专家客户工程师
- Kumar Dhanagopal | 跨产品解决方案开发者
- Mark Schlagenhauf | 网络技术文档工程师
- Marwan Al Shawi | 合作伙伴客户工程师
- Ammett Williams | 开发者关系工程师