SEC05-BP01 创建网络层 - AWS Well-Architected Framework

SEC05-BP01 创建网络层

将具有共同敏感度要求的组件分成若干层,以尽量缩小未经授权访问的潜在影响范围。例如,应将虚拟私有云(VPC)中无需进行互联网访问的数据库集群,放在无法向/从互联网路由的子网中。流量应仅从相邻的下一个最不敏感的资源流出。应考虑设置一个位于负载均衡器后面的 Web 应用程序。不应直接从负载均衡器访问数据库。只有业务逻辑或 Web 服务器才能直接访问数据库。

期望结果:创建分层网络。分层网络有助于对类似的网络组件进行逻辑分组。它们还缩小了未经授权网络访问的潜在影响范围。适当分层的网络使未经授权的用户更难转向 AWS 环境中的其他资源。除了保护内部网络路径之外,还应保护网络边缘,如 Web 应用程序和 API 端点。

常见反模式:

  • 在单个 VPC 或子网中创建所有资源。

  • 使用过于宽松的安全组。

  • 未能使用子网。

  • 允许直接访问数据库等数据存储。

在未建立这种最佳实践的情况下暴露的风险等级:

实施指导

具有相同可访问性要求的组件(例如 Amazon Elastic Compute Cloud(Amazon EC2)实例、Amazon Relational Database Service(Amazon RDS)数据库集群和 AWS Lambda 函数)可细分为由子网构成的层。不妨考虑在 VPC 内或 Amazon API Gateway 后部署无服务器工作负载,如 Lambda 函数。应将无需进行互联网访问的 AWS Fargate (Fargate) 任务放在无法向/从互联网路由的子网中。此分层方法可减轻单层错误配置的影响,这种错误可能导致能够发生意外访问。对于 AWS Lambda,您可以在 VPC 中运行您的函数,以充分利用基于 VPC 的控制。

对于可能包括数千个 VPC、AWS 账户 和本地网络的网络连接,您应使用 AWS Transit Gateway。Transit Gateway 充当一个枢纽,以控制如何在类似于辐条的所有互联网络之间路由流量。Amazon Virtual Private Cloud(Amazon VPC)和 Transit Gateway 之间的流量仍在 AWS 专用网络上,这减少了对未经授权用户的外部暴露和潜在的安全问题。Transit Gateway 区域间对等也会对区域间流量加密,而且不会出现任何单点故障或带宽瓶颈。

实施步骤

  • 根据配置,使用 Reachability Analyzer 分析源和目标之间的路径:Reachability Analyzer 使得您能够自动验证与 VPC 所连资源的连接性。请注意,此分析是通过检查配置完成的(在进行分析时不发送网络数据包)。

  • 使用 Amazon VPC 网络访问分析器识别资源意外受到网络访问的情况:Amazon VPC 网络访问分析器使您能够指定网络访问要求,并识别潜在的网络访问路径。

  • 考虑资源是否需要在公有子网中:不要将资源放在您的 VPC 的公有子网中,除非它们绝对必须要接收来自公共来源的入站网络流量。

  • VPC 中创建子网为每个网络层创建子网(在包含多个可用区的组中),以增强微分段。还要验证您已将正确的路由表与子网关联,以控制路由和互联网连接。

  • 使用 AWS Firewall Manager 管理 VPC 安全组:AWS Firewall Manager 有助于减轻使用多个安全组的管理负担。

  • 使用 AWS WAF 防范常见的 Web 漏洞:AWS WAF 可通过检查流量中是否存在常见的 Web 漏洞(如 SQL 注入)来帮助增强边缘安全性。它还使您能够限制来自特定国家/地区或地理位置的 IP 地址的流量。

  • 使用 Amazon CloudFront 作为内容分发网络(CDN):Amazon CloudFront 可通过将数据存储在更靠近用户的位置来帮助加快 Web 应用程序的速度。它还可以实施 HTTPS,限制对地理区域的访问,并确保网络流量只能在通过 CloudFront 路由时访问资源,从而提高边缘安全性。

  • 创建应用程序编程接口(API)时使用 Amazon API GatewayAmazon API Gateway 可帮助发布、监控和保护 REST、HTTPS 和 WebSocket API。

资源

相关文档:

相关视频:

相关示例: