如何使用 Shield Standard 防御 DDoS 攻击?
上次更新时间:2022 年 8 月 17 日
我想使用 AWS Shield Standard 保护我的应用程序免受分布式拒绝服务(DDoS)攻击。我该如何操作?
简短描述
AWS Shield Standard 是一项托管式威胁防护服务,可保护应用程序的周边安全。Shield Standard 提供自动威胁防护,无需额外付费。通过 Shield Standard,您可以使用 Amazon CloudFront、AWS Global Accelerator 和 Amazon Route 53 保护位于 AWS 网络边缘的应用程序。这些 AWS 服务可以抵御所有已知的网络和传输层攻击。要防御第 7 层 DDoS 攻击,您可以使用 AWS WAF。
为了使用 Shield Standard 保护您的应用程序免受 DDoS 攻击,最佳实践是遵循以下适用于您的应用程序架构的准则:
- 缩小攻击区域表面
- 做好扩展和吸收攻击的准备
- 保护暴露的资源
- 监视应用程序行为
- 制定防止攻击的计划
解决方法
缩小攻击区域表面
- 要确保只有预期的流量到达您的应用程序,请使用网络访问控制列表(ACL)和安全组。
- 使用 CloudFront 的 AWS 托管前缀列表。您可以仅将来自面向 CloudFront 源服务器的 IP 地址的入站 HTTP/HTTPS 流量限制到您的源。
- 在私有子网中部署托管应用程序的后端资源。
- 要降低恶意流量直接到达应用程序的可能性,请避免将弹性 IP 地址分配给您的后端资源。
有关更多信息,请参阅缩小攻击面。
做好扩展和吸收 DDoS 攻击的准备
- 使用 CloudFront、Global Accelerator 和 Route 53 保护位于 AWS 网络边缘的应用程序。
- 使用弹性负载均衡吸收和分配多余的流量。
- 使用 AWS Auto Scaling 按需进行横向扩展。
- 使用适用于您的应用程序的最佳 Amazon Elastic Compute Cloud(Amazon EC2)实例类型进行纵向扩展。
- 在您的 Amazon EC2 实例上激活增强联网。
- 激活 API 缓存以增强响应能力。
- 优化 CloudFront 上的缓存
- 使用 CloudFront Origin Shield 进一步减少将内容缓存到源的请求。
有关更多信息,请参阅缓解技术。
保护暴露的资源
- 在阻止模式下使用基于速率的规则配置 AWS WAF,以防御请求泛洪攻击。
注意:您必须将 CloudFront、Amazon API Gateway、Application Load Balancer 或 AWS AppSync 配置为使用 AWS WAF。 - 使用 CloudFront 地理限制阻止来自您不想访问内容的国家/地区的用户。
- 对您的 Amazon API Gateway REST API 使用每种方法的暴增限制,以保护您的 API 端点不会被请求淹没。
- 将来源访问身份(OAI)与您的 Amazon Simple Storage Service(Amazon S3)存储桶结合使用。
- 将 API 密钥设置为每个传入请求的 X-API-Key 标头,以保护您的 Amazon API Gateway 免遭直接访问。
监视应用程序行为
- 创建 Amazon CloudWatch 控制面板,建立应用程序关键指标(如流量模式和资源使用情况)的基准。
- 使用集中式日志记录解决方案提高 CloudWatch 日志的可见性。
- 配置 CloudWatch 警报以自动扩展应用程序,响应 DDoS 攻击。
- 创建 Route 53 运行状况检查以监控应用程序的运行状况并管理应用程序的流量失效转移,响应 DDoS 攻击。
有关更多信息,请参阅 AWS Application Auto Scaling 监控。
制定防止 DDoS 攻击的计划
- 提前制定运行手册,以便高效及时地响应 DDoS 攻击。有关创建运行手册的指导,请参阅 AWS 安全事故响应指南。您也可以查看此运行手册示例。
- 在影响性的 DDoS 攻击期间,使用 aws-lambda-shield-engagement 脚本快速向 AWS Support 记录工单。
- Shield Standard 提供保护,防止在 OSI 模型的第 3 层和第 4 层发生的基于基础设施的 DDoS 攻击。要防御第 7 层 DDoS 攻击,您可以使用 AWS WAF。
有关如何保护您的应用程序免受 DDoS 攻击的更多信息,请参阅针对 DDoS 弹性的 AWS 最佳实践。