阿里云 WAF + Anti-DDoS:Web 应用全面防护指南

📅 · 阿里云国际版实战教程 - ChengziCloud

一句话结论

分布式拒绝服务(DDoS)攻击和 Web 应用漏洞利用是当今在线业务面临的最普遍威胁之一。

本文要点
  • 理解威胁态势
  • 阿里云 WAF:Web 应用防火墙
  • Anti-DDoS Pro 与 Anti-DDoS Premium(BGP 型)
  • 集成:WAF + Anti-DDoS 组合防护
  • 监控与事件响应
  • 最佳实践与高级配置

分布式拒绝服务(DDoS)攻击和 Web 应用漏洞利用是当今在线业务面临的最普遍威胁之一。阿里云的安全产品组合——特别是 Web 应用防火墙(WAF) 和 Anti-DDoS Pro / Anti-DDoS Premium(BGP 型)——提供了分层防御,保护应用免受大规模网络攻击和复杂的应用层攻击。

本指南全面介绍 WAF 和 Anti-DDoS 的部署、配置、监控和运维最佳实践,借鉴了为阿里巴巴集团旗下电商平台在高流量活动期间提供保护的同一套基础设施经验。

理解威胁态势

在配置防御之前,必须了解您要防御的对象。

DDoS 攻击:第三层/第四层(网络层/传输层)

大流量 DDoS 攻击以海量流量压垮网络基础设施,耗尽带宽并使防火墙和负载均衡器的连接状态表溢出。

  • SYN Flood: 攻击者发送大量 TCP SYN 数据包,耗尽目标跟踪半开连接的能力。每个 SYN 数据包都要求服务器为永远不会完成的连接分配资源。
  • UDP 放大攻击: 攻击者使用伪造的源 IP(受害者 IP)向可公开访问的服务(DNS、NTP、Memcached)发送小型 UDP 请求,这些服务会以更大的载荷进行响应。放大系数可能超过 50:1。
  • ICMP Flood: 海量的 ICMP Echo Request(ping)数据包消耗目标基础设施的带宽和 CPU。

应用层攻击:第七层

应用层攻击针对 Web 应用本身,利用应用逻辑中的漏洞而非网络层:

  • SQL 注入: 恶意 SQL 语句被插入应用输入字段,可能暴露、修改或破坏数据库内容。
  • 跨站脚本(XSS): 攻击者将客户端脚本注入其他用户查看的网页,实现会话劫持、凭证窃取和页面篡改。
  • 跨站请求伪造(CSRF): 诱骗已认证用户在应用上执行非预期的操作。
  • Bot 攻击: 自动化 Bot 以人类用户无法企及的速度执行凭证填充、内容抓取、库存囤积和 API 滥用。

纵深防御方法

没有任何单一安全服务能应对所有威胁。阿里云的架构实施分层防御:

层级服务应对的威胁
边缘 / DNSAnti-DDoS Pro / Premium大流量 DDoS(L3/L4)
应用层WAFSQL 注入、XSS、CSRF、Bot(L7)
网络层安全组主机级防火墙规则
数据层KMS、RDS 安全加密、访问控制

以下章节深入介绍 WAF(第七层)和 Anti-DDoS(第三/四层)及其集成点。

阿里云 WAF:Web 应用防火墙

WAF 是一个全托管的七层防火墙,检查 HTTP/HTTPS 流量,在恶意请求到达应用服务器之前将其阻断。阿里云 WAF 利用来自阿里巴巴全球网络(每天处理数十亿请求)的威胁情报来维护最新的防护规则。

WAF 架构

阿里云 WAF 以反向代理模式运行。您域名的 DNS 记录指向 WAF 端点,而非直接指向源站服务器。WAF 检查每个请求,将合法流量转发到源站,并在边缘阻断恶意请求。

流量路径:


用户 → DNS(指向 WAF)→ WAF 检查 → 源站服务器(ECS、SLB、OSS)

由于 WAF 处于内联位置,它增加的延迟极小——在大多数区域,请求检查通常仅增加 1-5 毫秒。

WAF 部署模式

云原生 WAF(基于 CNAME): 最常见的部署方式。您将域名的 DNS CNAME 记录更新为指向 WAF CNAME。无需更改网络架构。这是大多数部署场景的推荐模式。

透明代理模式: WAF 作为透明代理部署,使用阿里云的应用型负载均衡(ALB)。流量经过 ALB,ALB 将其路由到 WAF 进行检查,然后再到达后端。当您无法更改 DNS 记录或需要与现有 ALB 配置集成时,此模式非常有用。

核心 WAF 防护模块

Web 应用防护规则集: 阿里云 WAF 包含一套全面的预配置规则,用于检测和阻断:

  • SQL 注入尝试(检测 SQL 关键字、注释序列和绕过技术)
  • 跨站脚本(XSS)载荷
  • 本地文件包含(LFI)和远程文件包含(RFI)
  • 命令注入攻击
  • WebShell 上传和执行
  • 协议违规和畸形请求

规则由阿里云安全研究团队持续更新。您可以为每种规则类型配置操作:阻断、监控(仅记录)或禁用。

HTTP ACL 策略(自定义规则): 基于 HTTP 请求属性定义自定义规则:

  • 源 IP 地址或 IP 范围
  • 请求 URI(路径和查询字符串)
  • HTTP 头部(User-Agent、Referer、Cookie、自定义头部)
  • HTTP 方法(GET、POST、PUT、DELETE)
  • 请求体内容

自定义规则示例:

  • 阻断来自您不开展业务的特定国家的所有请求
  • 阻断来自企业 VPN 范围之外 IP 对 /admin/* 的请求
  • 对 /api/login 限制每个 IP 每分钟最多 5 次登录尝试

Bot 管理: WAF 的 Bot 检测引擎使用以下方法识别和管理自动化流量:

  • 静态分析(User-Agent 模式、请求头部)
  • JavaScript 挑战注入(验证浏览器执行能力)
  • CAPTCHA 集成(阿里云验证码服务)
  • 行为分析(请求时间间隔、鼠标移动、滚动模式)
  • 威胁情报订阅(已知 Bot IP、匿名代理 IP)

为不同 Bot 类别配置不同操作:阻断恶意 Bot、对可疑 Bot 发起 CAPTCHA 挑战、放行合法 Bot(搜索引擎爬虫)。

API 安全: 随着 API 优先架构的增长,WAF 提供 API 专属保护:

  • API 模式验证(验证请求是否符合同预期的 JSON/XML 模式)
  • 认证绕过检测
  • 按 API 密钥或 IP 进行速率限制
  • API 响应中的敏感数据泄露检测

CC 攻击防护(HTTP Flood): 与大流量 DDoS 不同,CC(Challenge Collapsar)攻击使用看似合法的 HTTP 请求来耗尽应用资源——通常针对资源消耗高的页面(搜索、报表生成、结账)。WAF 的 CC 防护使用:

  • 按源 IP 进行速率限制
  • 跨整个受保护域名的频率分析
  • 对可疑请求者进行渐进式挑战(JavaScript → CAPTCHA)
  • 与 Anti-DDoS 集成,实现协同的七层防御

WAF 安全报表与日志

WAF 提供详细的安全分析:

  • 攻击概览仪表盘: 被阻断攻击的实时和历史数据,按类型、来源地理位置和目标 URL 分类
  • 安全报表: 定期生成 PDF 报表,汇总防护统计数据、主要攻击来源和趋势
  • 实时日志服务: 将 WAF 日志实时传输至日志服务(SLS),用于自定义分析、告警以及与应用日志的关联分析
  • 大数据分析: 将 WAF 日志导出到 MaxCompute,进行大规模安全分析和基于机器学习的异常检测

Anti-DDoS Pro 与 Anti-DDoS Premium(BGP 型)

WAF 在第七层提供保护,而 Anti-DDoS 服务在第三层和第四层提供保护,在大流量攻击到达您的网络之前将其吸收。

Anti-DDoS 服务层级

特性Anti-DDoS 基础(免费)Anti-DDoS ProAnti-DDoS Premium(BGP)
防护容量最高 5 Gbps最高 10 Tbps最高 10 Tbps
防护类型尽力而为式缓解始终开启,专用始终开启,专用 BGP
缓解延迟可变<10 ms<10 ms
全球清洗中心区域级全球 10+全球 10+,BGP Anycast
SLA无99.95%99.95%
干净流量路由不适用DNS 重定向BGP Anycast
定价免费(内含)基础 + 带宽基础 + 带宽
最佳适用场景低风险工作负载高风险 Web 应用关键全球应用

Anti-DDoS Pro 架构

Anti-DDoS Pro 使用基于 DNS 的流量重定向:

  1. 您的域名解析到 Anti-DDoS Pro CNAME
  2. 所有入站流量被路由到最近的 Anti-DDoS 清洗中心
  3. 使用深度包检测、行为分析和威胁情报识别并阻断恶意流量
  4. 干净流量通过安全的回源连接转发到您的源站服务器

此架构适用于任何源站——ECS 实例、SLB,甚至第三方数据中心——只要源站拥有公网 IP 或域名。

Anti-DDoS Premium(BGP 型)架构

Anti-DDoS Premium 使用 BGP Anycast 进行流量重定向,提供更低的延迟和更强韧的防护:

  1. 您通过 Anti-DDoS Premium BGP 网络宣告您的 IP 前缀
  2. 流量被吸引到最近的 BGP Anycast 节点(全球分布的清洗中心)
  3. 恶意流量被清洗;干净流量通过阿里云骨干网或专用 GRE 隧道转发到您的源站

基于 BGP 的方法消除了 DNS 传播延迟,并提供亚秒级的故障转移。对于延迟敏感的应用和非 HTTP 服务(游戏服务器、VoIP、IoT 端点)的防护,这是推荐选项。

配置 Anti-DDoS 防护

步骤一:开通 Anti-DDoS 实例: 选择基础防护容量(套餐中包含的有保障缓解带宽)和弹性防护容量(大规模攻击时可用的最大缓解带宽)。按基础容量加上任何弹性用量计费。

步骤二:添加域名/服务: 对于 Anti-DDoS Pro,将您的域名添加到防护列表。Anti-DDoS 会提供一个 CNAME;更新您的 DNS 以指向此 CNAME,而非源站。

对于 Anti-DDoS Premium,配置要防护的 IP 地址或 CIDR 段,并设置到源站的 BGP/GRE 隧道。

步骤三:配置防护策略: 定义缓解阈值和策略:

  • AI 智能防护: 无需手动配置阈值,自动检测并缓解攻击。推荐作为默认模式。
  • 手动阈值: 设置明确的流量阈值(每秒数据包数、每秒比特数),超过阈值则触发缓解。
  • 黑洞阈值: 源站能够接受的最大绝对流量。超过此阈值的流量在清洗中心即被丢弃。

步骤四:配置回源设置: 定义干净流量如何到达源站:

  • 使用 Anti-DDoS Pro IP 范围作为源站安全组白名单的来源
  • 配置回源协议(HTTP/HTTPS)
  • 如果源站使用虚拟主机,设置回源 Host 头部

集成:WAF + Anti-DDoS 组合防护

要实现 Web 应用的全面防护,将 WAF 和 Anti-DDoS 一起部署:


用户 → DNS → Anti-DDoS Pro/Premium → WAF → 源站(ECS / SLB)

配置步骤:

  1. 开通 Anti-DDoS Pro 或 Premium 并添加您的域名
  2. 开通 WAF 并添加您的域名
  3. 在 Anti-DDoS 控制台中,将回源地址配置为指向 WAF CNAME(而非直接指向应用源站)
  4. 在 WAF 控制台中,将回源地址配置为指向您的实际应用源站(SLB IP 或 ECS IP)
  5. 将域名的 DNS 记录更新为指向 Anti-DDoS CNAME

通过这种分层配置:

  • Anti-DDoS 在网络边缘吸收大流量 L3/L4 攻击
  • WAF 在第七层检查存活流量,阻断应用层攻击
  • 只有合法、干净的流量到达您的应用

性能考虑

WAF 和 Anti-DDoS 都会增加延迟。对于大多数应用,总增加延迟为 5-15 毫秒,这是可以接受的。然而,对于延迟敏感的应用:

  • 使用 Anti-DDoS Premium(BGP 型)以获得相比 DNS 型 Pro 更低的网络延迟
  • 在与源站相同的区域开通 WAF,以最小化回源延迟
  • 在 WAF 和源站之间启用 HTTP/2 和 TLS 会话恢复
  • 通过云监控和 ARMS 监控延迟;如果延迟超过 30ms 则进行调查

监控与事件响应

云监控告警

为以下指标配置云监控告警:

  • Anti-DDoS 指标:
  • DDoSAttackBps——入站攻击带宽(超过基线时触发告警)
  • DDoSAttackPps——入站攻击数据包速率
  • CleanBps——干净流量带宽(降为零可能表示配置错误)
  • WAF 指标:
  • WafBlocks——被阻断的请求数
  • WafQps——WAF 处理的总每秒查询数
  • CCBlocks——CC 攻击阻断数

日志分析与 SIEM 集成

将安全日志实时传输到集中式 SIEM(安全信息和事件管理)系统:

  • WAF → SLS → SIEM: 配置 WAF 将实时日志传输到日志服务。从 SLS 使用数据投递功能将日志转发到您的 SIEM(Splunk、Elastic 或第三方系统)。
  • Anti-DDoS 攻击日志: Anti-DDoS Pro 和 Premium 通过控制台和 API 提供攻击事件日志。使用 Anti-DDoS API 将攻击数据拉取到您的 SIEM。

事件响应手册

当 DDoS 或 WAF 告警触发时:

  1. 确认攻击: 检查 Anti-DDoS 控制台是否有活跃的攻击事件。验证缓解措施是否已启动。
  2. 评估影响: 检查源站的应用健康状况(CPU、内存、错误率)。即使有缓解措施,如果攻击超过防护容量,部分攻击流量仍可能到达源站。
  3. 联系阿里云支持: 对于超出已开通容量的攻击,联系阿里云支持。安全运维团队可以手动调优缓解规则。
  4. 审查 WAF 日志: 确定攻击是否包含需要调优 WAF 规则的七层组件(SQL 注入、XSS)。
  5. 事后分析: 攻击结束后,审查攻击模式并更新防护策略。如果攻击接近您的容量上限,增加基础防护容量。

最佳实践与高级配置

WAF 规则调优

预配置的 WAF 规则可能产生误报——合法请求被错误阻断。建立调优流程:

  1. 首先以监控模式部署: 对于新应用,将 WAF 规则以"监控"(仅记录)模式部署 1-2 周。分析被阻断的请求以识别误报。
  2. 将误报加入白名单: 对于已识别的误报,添加白名单规则(例如,如果某个 URL 路径合法接受类似 SQL 的输入,将其从 SQL 注入检测中豁免)。
  3. 逐步启用阻断: 逐步将规则切换到"阻断"模式,从最可靠的签名(SQL 注入、WebShell 检测)开始,逐步过渡到更激进的规则。
  4. 定期审查: 安排每月审查 WAF 日志和白名单规则。移除不再需要的白名单条目。

源站防护

即使有 WAF 和 Anti-DDoS,也要保护源站免受直接攻击:

  • 安全组: 在源站服务器上配置安全组,仅接受来自 WAF 和 Anti-DDoS 回源 IP 范围的流量。在 80 和 443 端口上阻断所有其他入站流量。
  • 源站混淆: 在 WAF/Anti-DDoS 配置中使用自定义回源 Host 头部。配置源站 Web 服务器仅响应此特定的 Host 头部,忽略直接对源站 IP 的请求。
  • 源站速率限制: 在应用层面(Nginx、HAProxy 或应用框架中)实施速率限制,作为 WAF 被绕过时的最后防线。

TLS/SSL 配置

WAF 和 Anti-DDoS 都支持 TLS 终止:

  • 上传证书: 将 SSL/TLS 证书和私钥上传到 WAF 或 Anti-DDoS。它们在边缘处理 TLS 终止。
  • 回源 TLS: 在 WAF/Anti-DDoS 与源站之间启用 HTTPS。虽然流量走的是阿里云骨干网(私有网络),但加密回源连接是合规最佳实践。
  • TLS 策略: 将最低 TLS 版本配置为 1.2,并选择强加密套件。阿里云 WAF 的默认 TLS 策略通常适用;只有在有特定合规要求时才进行自定义。

总结

阿里云 WAF 和 Anti-DDoS 服务共同提供了强健的分层防御,应对从 TB 级大规模 DDoS 到精准 SQL 注入的所有 Web 应用威胁。有效防护的关键不仅在于部署这些服务,更在于正确的集成:Anti-DDoS 在网络边缘,WAF 在应用层,二者之后的源站进行充分加固。

安全不是一次性配置。安排每季度审查 WAF 规则和 Anti-DDoS 阈值,通过阿里云安全公告了解新的攻击技术,并定期测试事件响应流程。通过正确的实施和持续管理,阿里云的安全服务可以保护您的应用免受最复杂的攻击威胁。

本文由 2.chengzicloud.cloud 提供,点击访问首页了解更多