Compartilhar via

Azure DDoS 防护的基本最佳做法

本文提供了在 Azure 上构建 DDoS 复原服务的最佳做法。 使用本指南通过跨层选择、安全设计、可伸缩性、多层防御、监视、测试和响应规划方面的Azure DDoS 防护来保护应用程序。

选择适当的保护层

Azure DDoS 防护提供两个层,以满足不同的保护需求:

  • DDoS IP 保护:为少量公共 IP 地址提供逐 IP 保护。 最适合需要核心 DDoS 保护且没有高级功能的小型部署。
  • DDoS 网络保护:增强对虚拟网络资源的保护,其附加功能包括 DDoS 快速响应(DRR)支持、成本保护保证和 Web 应用程序防火墙(WAF)折扣。

根据公共 IP 资源数、DDoS 快速响应支持需求以及成本保护需求来评估要求。 有关两个层之间的功能、限制和定价的详细比较,请参阅 About Azure DDoS 防护层比较

安全设计

确保优先考虑从设计和实施到部署和操作的整个应用程序生命周期的安全性。 应用程序可能存在漏洞,允许相对较小数量的请求消耗大量资源,从而导致服务中断。

若要在Azure上保护您的服务,请:

  • 了解应用程序体系结构:专注于 软件质量的五大支柱。 了解典型的流量量、应用程序与其他应用程序之间的连接模型,以及向公共 Internet 公开的服务终结点。
  • 规划拒绝服务:确保应用程序具有足够的复原能力,以处理针对应用程序层的拒绝服务,例如 HTTP 洪水。
  • 安全开发实践:安全和隐私内置于 Azure 平台中,从 Security Development Lifecycle (SDL) 开始。 SDL 可以解决每个开发阶段的安全性,并确保 Azure 不断更新,以变得越来越安全。
  • 遵循 Azure 安全基线:查看 用于防护 DDoS 的 Azure 安全基线,以使您的配置符合 Microsoft 云安全基准

可伸缩性设计

可伸缩性是指系统处理增加的负载的能力。 采用可横向缩放的应用程序设计,以满足放大负载的需求,尤其是防范 DDoS 攻击。 如果应用程序依赖于服务的单个实例,则会造成单一故障点。 预配多个实例能够提高复原能力和可伸缩性。

请考虑以下可伸缩性策略:

  • Azure App Service:选择提供多个实例的 App 服务计划。 配置自动缩放规则,以便根据 CPU 使用率或请求计数等指标自动横向扩展。
  • Azure Virtual Machines:确保虚拟机体系结构包含多个虚拟机,并将每个虚拟机包含在 可用性集中。 使用 虚拟机规模集 实现自动缩放功能。
  • Caching 和负载分发:使用 Azure Front Door 进行全局负载均衡、SSL 卸载和静态内容的缓存。 缓存可减少后端资源的负载,并最大程度地减少流量高峰的影响。
  • Azure Load Balancer:跨多个实例分配流量,以防止任何单个资源不堪重负。

有关常见工作负荷类型的推荐 DDoS 保护体系结构,请参阅 DDoS 防护参考体系结构

实现多层防御

深度防御策略使用多层安全性来降低成功攻击的风险。 使用 Azure 平台的内置功能为应用程序实现安全设计。

减少攻击面

通过最小化可公开访问的表面区域来减少暴露。

保护网络层 (L3/L4)

Azure DDoS 防护提供针对网络层(L3/L4)卷、协议和资源层攻击的自动保护。 关键功能包括:

  • 始终启用的流量监视:DDoS 防护监视应用程序流量模式以检测异常。 当流量超过阈值时,保护会自动激活。
  • 自适应实时优化:DDoS 防护会随着时间的推移分析应用程序流量,并选择最适合你的服务的缓解配置文件。
  • Azure Firewall集成:将 Azure Firewall与虚拟网络中的 DDoS 防护相结合,以提供额外的网络层筛选和威胁情报。 有关体系结构指南,请参阅 Azure Firewall 和 DDoS 防护参考体系结构

保护应用程序层 (L7)

Azure DDoS 防护侧重于网络层(L3/L4)攻击。 对于 HTTP 洪水和 slowloris 等应用程序层(L7)攻击,将 DDoS 防护与 Web 应用程序防火墙(WAF)相结合:

  • 在 Azure Front Door 或 Azure Application Gateway1 上部署 Azure Web Application Firewall,以防止 L7 攻击。
  • 使用 WAF 自定义规则进行速率限制,以自动检测和阻止恶意流量。
  • 启用 机器人保护 以阻止已知的恶意机器人。
  • 使用 地理筛选 来限制来自不需要合法用户的区域的流量。

有关应用程序层 DDoS 防御策略的详细指南,请参阅 Application DDoS 防护

与 Microsoft Sentinel 集成

使用 Azure DDoS 解决方案Microsoft Sentinel识别有问题的 DDoS 源,将攻击数据与其他安全事件相关联,并防止攻击者透视到其他攻击类型,例如数据外泄。

保护混合环境

如果要将本地环境连接到 Azure,请尽量减少本地资源暴露在公共互联网中的机会。 通过在Azure中部署已知公共实体,使用Azure的规模和高级 DDoS 保护功能。 由于这些可公开访问的实体通常会成为 DDoS 攻击的目标,将它们放在 Azure 中可以降低对本地资源的影响。

配置监视和警报

设置监视和警报以快速检测 DDoS 攻击并了解保护状态:

  • 配置指标警报:针对关键 DDoS 防护指标(例如 是否受到DDoS攻击)创建警报、入站数据包被丢弃的DDoS入站SYN数据包以触发DDoS防护。 检测到攻击时,警报会立即通知你。 有关分步说明,请参阅 Configure Azure DDoS 防护指标警报
  • 查看 Microsoft Defender for Cloud 中的警报:检测到攻击时,DDoS 防护会自动将缓解警报发送到Microsoft Defender for Cloud。 使用 Defender for Cloud 获取 DDoS 警报和其他安全警报的统一视图。 有关详细信息,请参阅 在 Microsoft Defender for Cloud 中查看 Azure DDoS 防护警报
  • 启用诊断日志记录:启用诊断日志以捕获 DDoS 缓解报告、流日志和通知。 使用这些日志进行攻击后分析和合规性审核。
  • 查看 DDoS 防护遥测:使用指标和诊断日志了解攻击期间的流量模式,并评估缓解的有效性。 有关详细的监视指南,请参阅 Monitor Azure DDoS 防护
  • Monitor 应用程序性能:使用 Azure Application Insights 监视 Web 应用程序并检测性能异常。 了解应用程序的正常行为有助于识别 DDoS 攻击期间的降级。 有关详细指南,请参阅 DDoS 响应策略

测试和验证保护

定期测试 DDoS 防护,以验证应用程序和警报在攻击期间是否按预期工作:

  • 运行模拟测试:使用Microsoft批准的测试合作伙伴模拟针对Azure终结点的 DDoS 攻击。 模拟有助于验证保护配置、警报设置和响应过程。
  • 查看测试结果:模拟后,查看 DDoS 防护指标和诊断日志,确认已正确触发缓解策略。

有关测试合作伙伴、先决条件和分步说明,请参阅 通过模拟进行测试

规划 DDoS 响应策略

在发生攻击之前建立明确的响应计划,以确保快速有效的响应:

  • 构建 DDoS 响应团队:分配负责协调攻击响应的团队成员。 包括来自网络、应用程序和运营团队的成员。
  • 参与 DDoS 快速响应(DRR):使用 DDoS 网络保护,可以在主动攻击期间与 DDoS 快速响应团队 进行调查和攻击后分析。
  • 文档和演练:制定运行手册,定义升级路径,并排练应对 DDoS 攻击的响应措施。 定期查看和更新响应计划。

有关构建响应策略的详细指南,请参阅 DDoS 响应策略

后续步骤