本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SEC05-BP02 控制网络层内的流量
在网络的各层中,进一步对网络进行分段,从而将流量限制在对各个工作负载所必要的流动路径中。首先,将重点放在控制互联网或其它外部系统与工作负载和您环境之间的流量(南北向流量)上。然后,审查不同组件与系统之间的流量(东西向流量)。
期望结果:您只允许必要的网络流量流动,以便让工作负载的组件彼此通信,以及与其客户端和所依赖的任何其它服务进行通信。您在设计时充分考虑了各种因素,例如公有入口和出口与私有入口和出口的对比、数据分类、区域法规,以及协议要求。在可能的情况下,作为最低权限设计原则的一部分,您更倾 point-to-point向于使用流量而不是网络对等互连。
常见反模式:
-
您采用基于边界的方法来保护网络,并且仅在网络层的边界控制流量流动。
-
您假设一个网络层中的所有流量都经过了身份验证和授权。
-
您对入口流量或出口流量进行了控制,但没有对两者均进行控制。
-
您完全依靠工作负载组件和网络控制措施来对流量进行身份验证和授权。
建立此最佳实践的好处:这种做法有助于减少网络中未经授权移动的风险,并为您的工作负载增加了额外的授权层。通过执行流量流动控制,您可以限制安全事件的影响范围,同时加快检测和响应的速度。
在未建立这种最佳实践的情况下暴露的风险等级:高
实施指导
虽然网络层有助于围绕具有相似功能、数据敏感度级别和行为的工作负载组件建立边界,但您可以按照最低权限原则,使用技术在这些层中进一步划分组件,从而创建更精细的流量控制级别。 在内部 AWS,网络层主要使用子网来定义,该子网根据 Amazon VPC 内的 IP 地址范围。也可以使用不同的层来定义层VPCs,例如按业务领域对微服务环境进行分组。使用多路时VPCs,请使用调解路由。AWS Transit Gateway
了解并清点工作负载在连接启动方、端口、协议和网络层方面的数据流和通信需求。 评估可用于建立连接和传输数据的协议,以选择符合您的保护要求的协议(例如,HTTPS而不是HTTP)。在网络边界和每个层中收集这些要求。确定这些要求后,探索仅允许所需流量流经每个连接点的选项。一个不错的起点是在您的内部使用安全组VPC,因为它们可以连接到使用弹性网络接口 (ENI) 的资源,例如亚马逊EC2实例、亚马逊ECS任务、Amazon EKS pod 或亚马逊RDS数据库。与第 4 层防火墙不同,安全组可以设定一条规则,按照标识符来允许其它安全组的流量,这样当组中的资源随着时间发生变化时,能尽可能减少更新工作。您还可以使用安全组,通过入站和出站规则来筛选流量。
当流量在两者之间移动时VPCs,通常使用对VPC等连接进行简单路由,或使用对等连接 AWS Transit Gateway 进行复杂路由。使用这些方法,您可以在源网络和目标网络的 IP 地址范围之间,协调流量流动。但是,如果您的工作负载只需要不同组件中的特定组件之间的流量VPCs,请考虑使用 point-to-point连接AWS PrivateLink
在安全组和 PrivateLink 帮助控制工作负载组件之间的流量时,另一个主要考虑因素是如何控制允许您的资源访问哪些DNS域(如果有)。 根据您的DHCP配置VPCs,您可以考虑使用两种不同的 AWS 服务来实现此目的。 大多数客户使用默认的 Route 53 Resolver DNS 服务(也称为 Amazon DNS 服务器或 AmazonProvidedDNS),其CIDR地址范围为 +2。VPCs通过这种方法,您可以创建DNS防火墙规则并将其与您的防火墙规则相关联VPC,以确定要对您提供的域列表采取哪些操作。
如果您不使用 Route 53 Resolver,或者想在域筛选之外,利用更深入的检查和流量控制功能来补充 Resolver,请考虑部署 AWS Network Firewall。此服务使用无状态或有状态规则检查单独的数据包,以确定是拒绝还是允许流量。您可以使用类似的方法,通过 AWS WAF来筛选流向公有端点的入站 Web 流量。有关这些服务的更多指导,请参阅 SEC05-BP03 实施基于检查的保护。
实施步骤
-
确定在工作负载的组件之间必需的数据流。
-
通过一种 defense-in-depth方法对入站和出站流量应用多种控制措施,包括使用安全组和路由表。
-
使用防火墙定义对进出、穿过您的网络流量的精细控制,例如 Route 53 解析器DNS防火墙VPCs、和。 AWS Network Firewall AWS WAF考虑使用 AWS Firewall Manager
来集中配置和管理整个企业的防火墙规则。
资源
相关最佳实践:
相关文档:
相关工具:
相关视频:
相关示例: