实施 Azure DDoS 保护标准以提高应用程序弹性
2024年9月14日
本技术和教育文章旨在指导安全分析师、IT 管理员和系统工程师实施和配置 Azure DDoS 保护标准,以确保 Azure 上托管的应用程序的弹性。分布式拒绝服务 (DDoS) 攻击是在线服务可用性的最大威胁之一。 Azure DDoS 防护标准提供高级 DDoS 攻击缓解功能,保护 Azure 资源免受容量、协议和应用程序层攻击,确保业务连续性和用户体验 [1]。
简介
在当前的数字环境中,应用程序和服务的可用性与其安全性和完整性同样重要。 DDoS 攻击旨在使服务资源超载,从而使合法用户无法使用该服务。此类攻击可能会导致重大财务损失、声誉受损和关键运营中断。 Azure DDoS 保护标准是一种 Azure 本机解决方案,可针对这些攻击提供全面的保护,使用全局缓解网络和基于机器学习的检测算法在恶意流量到达您的资源之前识别并转移恶意流量 [2]。
本实用指南将涵盖创建 DDoS 保护计划、启用对虚拟网络和公共 IP 地址的保护、与 Azure Web 应用程序防火墙 (WAF) 和 Azure 防火墙等其他 Azure 服务集成,以及通过攻击模拟验证保护。将提供 Azure CLI 命令的分步说明和示例,以便读者可以实施和测试针对 DDoS 攻击的强大防御,从而增强云应用程序和基础设施的弹性。
为什么 Azure DDoS 保护标准至关重要?
- 全面缓解:防止容量攻击(例如 UDP 洪水、SYN)、协议攻击(例如 SYN-ACK 洪水、IP 碎片)和应用层攻击(例如 HTTP 洪水)[3]。
- 自动检测和适应:使用机器学习算法实时检测攻击并调整缓解策略,无需人工干预。
- 全球规模:利用 Azure 网络的全球规模来吸收和转移大量攻击流量。
- 详细的遥测:在 Azure Monitor 中提供丰富的遥测、缓解日志和攻击指标,以供分析和调查。
- 本机集成:与其他 Azure 安全服务(例如 Azure 防火墙和 Azure WAF)无缝集成,以实现深度防御。
- 成本保证:在 DDoS 攻击期间为扩展的资源提供成本保护,涵盖为吸收攻击而扩展的资源的信用。
先决条件
要实施 Azure DDoS 保护标准,您将需要以下项目:
- 活动 Azure 订阅:用于创建和管理资源的 Azure 订阅。
- 管理访问权限:在 Azure 订阅中或在 VNet 和公共 IP 所在的资源组中具有“所有者”或“贡献者”角色的帐户。
- 虚拟网络 (VNet):托管要保护的资源(例如虚拟机、负载均衡器、应用程序网关)的 VNet。
- 公共 IP 地址:具有公共 IP 地址的资源(例如具有公共 IP 的虚拟机、公共负载均衡器、应用程序网关)将成为 DDoS 攻击的潜在目标。
- Azure CLI 或 Azure PowerShell:安装并配置命令行工具以与 Azure 交互。
分步:实施 Azure DDoS 防护标准
让我们配置 Azure DDoS 保护标准来保护你的资源。
1. 创建 DDoS 防护计划
第一步是创建 DDoS 防护计划。此计划是一个全局资源,您可以将其链接到跨不同区域和订阅的多个 VNet。
- 打开浏览器并导航到 Azure 门户:“https://portal.azure.com”。
- 使用具有必要权限的帐户登录。
- 在顶部搜索字段中,输入“DDoS 保护计划”并从结果中选择它。
- 单击“+ 创建”。
- 填写计划详情:
- 签名:如果选择你的 Azure 订阅。
- 资源组:创建一个新的资源组(例如“RG-DDoS-Protection”)或选择一个现有资源组。
- 名称:为您的计划命名(例如:“DDoS-Plan-Artigos”)。
- 区域:选择您想要管理计划的区域(不影响全局保护)。
- 单击“查看 + 创建”,然后单击“创建”。
2. 为虚拟网络启用 DDoS 防护
创建 DDoS 保护计划后,您需要将其链接到包含要保护的资源的虚拟网络。
- 在 Azure 门户中,导航到要保护的 VNet(例如:Azure 防火墙文章中创建的“VNet-Hub”)。
- 在 VNet 的左侧导航窗格中,选择“DDoS 防护”。
- 在“DDoS 保护计划”下,选择您创建的计划(例如:“DDoS-Plan-Artigos”)。
-
单击“保存”。
-
用于在 VNet 上启用 DDoS 保护的 Azure CLI 命令: ````bash # 获取DDoS计划ID DDP_PLAN_ID=$(az 网络 ddos 保护计划显示 --name DDoS-Plan-Artigos --resource-group RG-DDoS-Protection --query id -o tsv)
更新 VNet 以使用 DDoS 计划
az 网络 vnet update --name VNet-Hub --resource-group RG-Firewall-Artigos --ddos-protection-plan $DDP_PLAN_ID --ddos-protection-plan-enable true ````
-
3. 保护公共 IP 地址
当 VNet 启用 DDoS 保护标准时,该 VNet 内具有公共 IP 地址的所有资源(例如公共 IP 虚拟机、公共负载均衡器、应用程序网关)都会自动受到保护。无需为每个公共IP单独配置保护。
- 验证:要确认公共 IP 受到保护,您可以导航到 Azure 门户中的公共 IP 资源。在“概述”部分,您将看到关联的“DDoS 保护计划”。
4. 与 Azure Web 应用程序防火墙 (WAF) 和 Azure 防火墙集成
为了进行深度防御,建议将 Azure DDoS 防护标准与其他网络安全解决方案结合起来。
-
Azure Web 应用程序防火墙 (WAF):WAF 保护 Web 应用程序免受 DDoS 防护未涵盖的常见 Web 攻击(例如 SQL 注入、跨站点脚本)。在 Web 应用程序之前部署 WAF(例如使用 Azure 应用程序网关或 Azure Front Door)。 DDoS防护标准保护WAF的网络层,而WAF保护应用层[4]。
-
Azure 防火墙:Azure 防火墙提供网络和应用程序流量过滤、威胁情报和 IDPS。当与 DDoS 防护标准结合使用时,防火墙可以在 DDoS 缓解后检查合法流量,从而增加另一层安全性。
验证和测试
验证 Azure DDoS 保护标准的有效性至关重要。但是,未经 Microsoft 明确许可,切勿对您自己的资源执行实际的 DDoS 攻击。 Microsoft 为客户提供了 DDoS 模拟测试计划。
1. 检查 DDoS 防护遥测
在攻击(或模拟)期间,Azure DDoS 保护标准在 Azure Monitor 中提供详细指标。
- 在 Azure 门户中,导航到您的 DDoS 保护计划(例如:“DDoS-Plan-Artigos”)。
- 在左侧导航窗格中,选择“指标”。
- 您可以查看如下指标:
DDoS 攻击流量(入站):入站攻击流量。DDoS 攻击数据包(入站):入站攻击数据包。DDoS 攻击字节(入站):入站攻击字节。DDoS 攻击丢弃数据包(入站):攻击数据包丢弃。
2. 配置 DDoS 攻击警报
设置警报以便在 DDoS 攻击正在进行时收到通知非常重要。
- 在 Azure 门户中,导航到您的 DDoS 保护计划。
- 在左侧导航窗格中,选择警报。
- 单击“+创建警报规则”。
- 使用“是否受到 DDoS 攻击”(值 1 表示受到攻击,0 表示正常)或“DDoS 攻击流量(入站)”等指标配置警报条件。
- 配置警报操作(例如发送电子邮件、短信、Webhook、触发 Azure Function 或逻辑应用程序)。
3. 进行 DDoS 攻击模拟(与经批准的合作伙伴一起)
微软与合作伙伴合作DDoS 测试功能使客户能够以受控且安全的方式模拟针对受 Azure DDoS 保护标准保护的资源的攻击。 未经 Microsoft 和批准的合作伙伴的批准和协调,切勿尝试自行模拟 DDoS 攻击。
- 联系 Microsoft 批准的 DDoS 测试合作伙伴:BreakingPoint (Keysight) 或 Radware 等公司提供 DDoS 模拟服务。
- 与 Microsoft 协调:将计划的测试告知 Microsoft,以防止 Azure 自动缓解将测试解释为真正的攻击并采取意外操作。
- 测试期间监控:在模拟期间,监控 Azure Monitor 中的 DDoS 防护指标,以观察缓解措施的实际效果并验证应用程序的弹性。
安全提示和最佳实践
- 稳健的应用程序设计:Azure DDoS 保护标准与稳健且有弹性的应用程序设计相结合时最为有效。这包括可扩展架构、负载平衡、缓存和容错。
- 深度防御:不要仅仅依赖 DDoS 防护。将其与 Azure 防火墙、Azure WAF 和 NSG 等其他安全解决方案相结合,以创建纵深防御策略。
- 成本优化:标准计划保护链接的 VNet 中的所有公共 IP 资源。考虑将资源分组到受保护的 VNet 中以优化成本。
- 主动监控:在 Azure Monitor 中配置针对 DDoS 攻击的警报,并主动监控遥测以了解攻击行为和缓解效果。
- 定期测试:定期与经批准的合作伙伴进行 DDoS 攻击模拟,以验证保护的有效性并找出任何差距。
- DNS 保护:考虑使用具有内置 DDoS 保护的 Azure DNS 来保护您的 DNS 服务器免受攻击。
- 应用程序层保护:对于 Web 应用程序,使用 Azure WAF 来防御第 7 层攻击,DDoS 保护标准并未直接解决该攻击。
- 速率限制:对应用程序网关或反向代理实施速率限制,以减轻小批量应用程序层攻击。
常见故障排除
- 未启用 DDoS 保护:验证是否已创建 DDoS 保护计划以及 VNet 是否已链接到该计划。确认您希望保护的资源具有公共 IP 地址。
- 未检测到 DDoS 攻击:验证攻击流量是否确实定向到受保护的公共 IP。确保在 Azure Monitor 中收集遥测指标。检测小量攻击可能会略有延迟。
- 应用程序在攻击期间仍然受到影响:这可能表明攻击不是纯粹的 DDoS(例如需要 WAF 的应用程序层攻击)或者应用程序本身的弹性不够。检查应用程序设计和 WAF 集成。
- 未收到 DDoS 警报:检查 Azure Monitor 中配置的警报规则。确保通知操作配置正确并且收件人正在接收通知。
- 激活后的性能问题:DDoS 防护标准是一项网络服务,通常不会导致性能问题。如果速度缓慢,请调查架构的其他组件(例如虚拟机、负载均衡器、防火墙、WAF)。
结论
对于任何希望保护其应用程序和服务免受日益增长的 DDoS 攻击威胁的组织来说,Azure DDoS 保护标准是一项关键服务。通过提供自动、可扩展且全面的缓解措施,它确保了 Azure 资源的可用性和弹性。有效实施 DDoS 防护标准,结合强大的应用程序设计、其他安全解决方案的深度防御以及持续监控,使组织能够保持业务连续性并保护用户体验。通过本实用指南,安全专业人员将能够配置、验证和管理 Azure DDoS 防护标准,从而增强云应用程序的安全状况和弹性。
参考资料:
[1] 微软学习。 专业概述Azure DDoS 保护。位于:https://learn.microsoft.com/pt-br/azure/ddos-protection/ddos-protection-overview [2] 微软学习。 DDoS 攻击的类型。位于:https://learn.microsoft.com/pt-br/azure/ddos-protection/ddos-attack-types [3] 微软学习。 Azure DDoS 保护层比较。位于:https://learn.microsoft.com/pt-br/azure/ddos-protection/ddos-protection-sku-comparison [4] 微软学习。 DDoS 防护参考架构。位于:https://learn.microsoft.com/pt-br/azure/ddos-protection/ddos-protection-reference-architectures