使用 Azure 门户部署 Azure DDoS 防护

已完成

分布式拒绝服务 (DDoS)

拒绝服务攻击 (Dos) 是一种旨在阻止访问服务或系统的攻击。 如果攻击源自一个位置,则称为 DoS。 如果攻击源自多个网络和系统,则称为分布式拒绝服务 (DDoS)。

分布式拒绝服务 (DDoS) 攻击是将应用程序移动到云的客户所面临的一些最大的可用性和安全性问题。 DDoS 攻击尝试耗尽 API 或应用程序的资源,使应用程序对于合法用户不可用。 DDoS 攻击可能会将任何可通过 Internet 公开访问的终结点作为目标。

DDoS 实现

Azure DDoS 保护与应用程序设计最佳做法相结合,可提供对 DDoS 攻击的防御。 Azure DDoS 防护提供以下服务层:

  • 网络保护

    在 DDoS 基础结构防护上提供额外的缓解功能,这些功能专门针对 Azure 虚拟网络资源进行了优化。 Azure DDoS 防护易于启用,且无需进行应用程序更改。 通过专用流量监视和机器学习算法调整保护策略。 策略应用于与虚拟网络中部署的资源(例如 Azure 负载均衡器、Azure 应用程序网关和 Azure Service Fabric 实例)关联的公共 IP 地址,但此保护不适用于应用服务环境。 可在攻击期间通过 Azure Monitor 视图并针对历史记录获得实时遥测。 可通过诊断设置获取大量攻击缓解分析。 可以通过 Azure 应用程序网关 Web 应用程序防火墙,或者通过从 Azure 市场安装第三方防火墙来添加应用程序层保护。 为 IPv4 和 IPv6 Azure 公共 IP 地址提供保护。

  • IP 保护

    DDoS IP 保护是一种按受保护 IP 进行计费的模型。 DDoS IP 保护包含与 DDoS 网络保护相同的核心工程功能,但在 DDoS 快速响应支持、成本保护和 WAF 折扣等增值服务中会有所不同。

DDoS 保护可保护虚拟网络中的资源,包括与虚拟机、负载均衡器和应用程序网关相关联的公共 IP 地址。 与应用程序网关 Web 应用程序防火墙或使用公共 IP 在虚拟网络中部署的第三方 Web 应用程序防火墙结合使用时,DDoS 防护可提供第 3 层到第 7 层的完整缓解功能。

Azure 中的所有财产均受 Azure 的 DDoS 基础结构(基本)防护的保护,且无需额外费用。 虽然 Azure DDoS 防护是一种付费服务,但设计时要考虑部署在虚拟网络中的服务。

DDoS 攻击类型

DDoS 防护可缓解以下类型的攻击:

  • 容量耗尽攻击

    这些攻击通过大量看似合法的流量来淹没网络层。 其中包括 UDP 洪水、放大洪水以及其他欺骗性数据包洪水。 借助 Azure 的全球网络规模,DDoS 防护通过自动吸收和清理这些潜在的数千兆字节攻击,从而缓解这些攻击。

  • 协议攻击

    这些攻击通过利用第 3 层和第 4 层协议堆栈中的漏洞,使目标无法访问。 其中包括 SYN 淹没攻击、反射攻击和其他协议攻击。 DDoS 防护通过与客户端交互来区分恶意流量和合法流量并阻止恶意流量,从而缓解这些攻击。

  • 资源(应用)层攻击

    这些攻击针对 Web 应用程序数据包以中断主机之间的数据传输。 其中包括 HTTP 协议冲突、SQL 注入、跨站脚本和其他第 7 层攻击。 使用 Web 应用程序防火墙(例如 Azure 应用程序网关 Web 应用程序防火墙)和 DDoS 防护来防御这些攻击。 Azure 市场中还提供了第三方 Web 应用程序防火墙产品。

Azure DDoS 防护功能

一些 Azure DDoS 防护功能包括:

  • 本机平台集成:本机集成到 Azure,并通过门户进行配置。
  • 统包保护:简化配置,可立即保护所有资源。
  • 始终可用的流量监控: 应用程序流量模式将全天候受到监控,以寻找 DDoS 攻击的迹象。
  • 自适应优化:分析和调整服务的流量。
  • 攻击分析:在攻击期间以五分钟为增量获取详细报告,在攻击结束后获取完整摘要。
  • 攻击指标和警报:每个攻击的汇总指标都可以通过 Azure Monitor 访问。 可以使用内置攻击指标在攻击开始和停止时以及攻击持续期间配置警报。
  • 多层保护:与 Web 应用程序防火墙 (WAF) 一起部署时,DDoS 防护在网络层(由 Azure DDoS 防护提供支持的第 3 层和第 4 层)和应用程序层(由 WAF 提供支持的第 7 层)均提供保护。

让我们更详细地了解其中一些关键功能。

始终可用的流量监控

DDoS 防护服务会监视实际流量利用率,并不断将其与 DDoS 策略中定义的阈值进行比较。 当超过流量阈值时,将自动启动 DDoS 缓解。 当流量返回到阈值以下时,缓解将停止。

Diagram illustrating always-on traffic monitoring with DDoS protection.

在缓解期间,DDoS 防护服务会重定向发送到受保护资源的流量,并会执行多项检查,例如:

  • 确保数据包符合 Internet 规范且格式正确。
  • 与客户端交互,确定该流量是否可能是欺骗性数据包(例如:SYN Auth 或 SYN Cookie,或者通过丢弃数据包,让源重新传输它)。
  • 如果没有其他可以执行的强制方法,将对数据包进行速率限制。

DDoS 防护会删除攻击流量并将剩余流量转发至其预期目标。 在检测到攻击的几分钟内,系统会使用 Azure Monitor 指标通知你。 通过在 DDoS 防护遥测上配置日志记录,可将日志写入可用选项供将来分析。 Azure Monitor 中 DDoS 防护的指标数据会保留 30 天。

自适应实时优化

Azure DDoS 防护服务帮助保护客户并防止影响其他客户。 例如,如果为典型的合法传入流量预配了某个服务,并且该流量小于基础结构范围 DDoS 防护策略的触发率,那么,针对该客户资源的 DDoS 攻击可能会被忽略。 更一般地说,最近发生的攻击(例如多向量 DDoS)的复杂性,以及租户的应用程序特定行为,要求按客户采用定制的保护策略。

Diagram illustrating adaptive real-time tuning in DDoS protection.

该服务使用两项见解来实现这种定制:

  • 自动学习每个客户(每个公共 IP)的第 3 层和第 4 层流量模式。
  • 尽量减少误报,因为 Azure 的规模可让它吸收大量的流量。

攻击指标、警报和日志

DDoS 防护通过 Azure Monitor 工具公开丰富的遥测数据。 可以针对 DDoS 防护使用的任何 Azure Monitor 指标配置警报。 可将日志记录集成到 Splunk(Azure 事件中心)、Azure Monitor 日志和 Azure 存储,以通过 Azure Monitor 诊断界面进行高级分析。

在 Azure 门户中,选择“监视”>“指标”。 在“指标”窗格上,依次选择资源组、“公共 IP 地址”资源类型和 Azure 公共 IP 地址。 DDoS 指标将显示在“可用指标”窗格中。

DDoS 防护针对已启用 DDoS 的虚拟网络中受保护资源的每个公共 IP,应用三个自动优化的缓解策略(SYN、TCP 和 UDP)。 可以通过选择“用于触发 DDoS 缓解措施的入站 [SYN/TCP/UDP] 数据包”指标来查看策略阈值,如以下示例屏幕截图所示。

Screenshot of the chart that displays the mitigation policy metrics from DDoS Protection.

策略阈值是通过基于机器学习的网络流量探查自动配置的。 仅当超过策略阈值时,才会对受攻击的 IP 地址进行 DDoS 缓解。

如果公共 IP 地址遭到攻击,则“是否受到 DDoS 攻击”指标的值将更改为 1,因为 DDoS 防护对攻击流量执行缓解措施。

建议根据此指标配置警报,因为如果在公共 IP 地址上执行了有效的 DDoS 缓解措施,你会收到通知。

Screenshot of a chart that displays the metric for 'Under DDoS attack or not'.

多层保护

针对应用层中发生的资源攻击,应该配置 Web 应用程序防火墙 (WAF) 来帮助保护 Web 应用程序。 WAF 会检查入站 Web 流量,以阻止 SQL 注入、跨站点脚本、DDoS 和其他第 7 层攻击。 Azure 提供 WAF 作为应用程序网关的一项功能,以便在出现常见攻击和漏洞时为 Web 应用程序提供集中保护。 此外,Azure 合作伙伴还会通过 Azure 市场提供其他 WAF 产品/服务,它们可能更适合解决你的需求。

Diagram illustrating the Web Application Firewall Application Gateway.

即使是 Web 应用程序防火墙这样的服务,也很容易遭受容量耗尽和状态耗尽攻击。 因此,强烈建议在 WAF 虚拟网络上启用 DDoS 防护,以帮助防范容量耗尽攻击和协议攻击。

部署 DDoS 防护计划

部署 DDoS 防护计划的关键阶段如下:

  • 创建资源组
  • 创建 DDoS 防护计划
  • 在新的或现有的虚拟网络或 IP 地址上启用 DDoS 防护
  • 配置 DDoS 遥测
  • 配置 DDoS 诊断日志
  • 配置 DDoS 警报
  • 运行测试性 DDoS 攻击并监视结果。

知识检查

1.

以下哪一项是 DDoS 攻击的症状?

2.

受到 DDoS 攻击时,应执行什么操作?