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
对于可能包括数千个 VPC、AWS 账户 和本地网络的网络连接,您应使用 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 Gateway:Amazon API Gateway 可帮助发布、监控和保护 REST、HTTPS 和 WebSocket API。
资源
相关文档:
相关视频:
相关示例: