在线工具集

DDoS 攻击防御 2026:从入门到 Cloudflare 实战

DDoS 是公网世界最古老也最常见的攻击之一,从早期的 Mafiaboy 攻击雅虎到 2024 年峰值 5.6 Tbps、3.8 亿 RPS 的超大规模事件,攻击规模与频次都在持续上升。普通工程师容易把 DDoS 当成"被打了就上高防"的运维问题,实际上从架构设计、流量识别、限流策略、地域封禁、CDN 选型、应急预案,每一层都需要工程动作。本文从攻击分类(流量型、协议型、应用层)讲到现代防御方法(CDN anycast、限流、人机识别、BGP 高防),覆盖 SYN flood、UDP 反射放大、CC、慢速攻击等典型形态,给出 Cloudflare、阿里云高防、腾讯云大禹的实战配置思路,并结合中国大陆 ICP 备案、CNNIC 协调机制、国际带宽瓶颈等本土化背景,帮你建立可落地的 DDoS 应对体系。

一、DDoS 三大类:流量型、协议型、应用层

第一类是流量型(volumetric attack),目标是耗尽带宽。攻击者通过 UDP flood、ICMP flood、DNS 反射放大、NTP 反射放大等手段把目标网络管道塞满,合法流量挤不进来。反射放大利用开放服务的特性,比如向 DNS 服务器发 60 字节请求,回包能到 4000 字节,放大 60 倍——攻击者用 1 Gbps 入网就能制造 60 Gbps 出网攻击。2024 年 HTTP/2 Rapid Reset 漏洞让攻击者用极少资源打出 3.8 亿 RPS。

第二类是协议型(protocol attack),目标是耗尽服务器或中间设备的状态资源。SYN flood 用半开连接耗尽 TCP 监听队列;ACK flood 让防火墙做无用功;Ping of Death、Smurf 等老古董已基本消失。第三类是应用层(L7 attack),目标是耗尽应用计算资源,最典型就是 CC 攻击(Challenge Collapsar):用大量看似合法的 HTTP 请求打动态接口,每个请求触发数据库查询或复杂计算。这类攻击流量未必很大,但精准命中业务瓶颈,最难识别。

二、CDN Anycast:第一道也是最重要一道防线

现代 DDoS 防御的核心是 CDN 的 anycast 网络。anycast 让同一个 IP 在全球数十个 POP 同时发布,BGP 路由把客户端导向最近的 POP。攻击流量被自动分散到全网,单点压力下降数十倍。Cloudflare 全球 300+ 城市、Fastly 200+、阿里云 CDN 2800+ 节点,单节点抗住几百 Gbps 都不会拖垮其他节点。

CDN 抗 D 的真正前提是隐藏源站 IP。攻击者一旦知道源站真实 IP,可以绕过 CDN 直接打源站。常见暴露途径:邮件发件 IP、某些直连接口、子域名解析记录、历史 DNS 数据库(SecurityTrails)、TLS 证书透明日志(CT log)。最佳实践:源站防火墙只允许 CDN IP 段访问、所有出向流量也走 CDN 或专用代理、定期搜索自家域名是否在 IP 历史中暴露、使用 mTLS 进一步阻挡未授权回源请求。本站的 CDN 详解 详细讨论了 CDN 工作原理。

三、Cloudflare 实战:免费版能做到什么

Cloudflare 免费版对中小网站已经相当能打。开启后默认提供:基础 L3/L4 抗 D(无限量)、L7 速率限制(基础规则)、Bot Fight Mode(识别简单爬虫)、Under Attack 模式(5 秒 challenge 拦截非浏览器)。配置要点:DNS proxied 状态打橙色云、SSL 设为 Full (strict)、Always Use HTTPS、Auto Minify、Cache Everything 减轻源站。

遭遇攻击时三板斧:1)打开 Under Attack Mode(橙色按钮),所有访客必须过 5 秒 JS 挑战;2)配置 Firewall Rule 按 IP 段、ASN、User-Agent、country 直接 block;3)启用 Rate Limiting,针对热点接口限制每分钟请求数。Pro 版(每月 25 美元)增加 WAF 完整规则集、图像优化;Business(每月 200 美元)有专属 IP、客户支持;Enterprise 才有完整 L7 DDoS 自定义。多数中小网站免费 + 一两条 Firewall Rule 就够用。

四、限流策略:保护核心接口

限流不是只对攻击者,更是对所有客户端的兜底约束。常用算法:令牌桶(Token Bucket,平滑突发)、漏桶(Leaky Bucket,强制匀速)、滑动窗口计数(精确)、固定窗口计数(粗糙但简单)。生产推荐令牌桶 + 滑动窗口结合,按 IP/用户/接口三个维度独立计数。Redis + Lua 是最经典实现,nginx 内置 limit_req_zone 也够用。

规则设计要点:1)匿名接口(登录、验证码、注册)严格限速,每 IP 每分钟 5-20 次;2)登录失败要做指数退避,连续失败 5 次锁定 15 分钟;3)写接口比读接口更严,避免薅羊毛;4)限流要返回 429 + Retry-After,不要静默丢包;5)对登录用户用 user_id 限速,避免大公司一个公网 IP 被全员限。配合 Cloudflare Rate Limiting 在边缘提前限,源站作兜底。本站 Redis 高阶模式 一文有限流脚本范例。

五、地域封禁与 ASN 黑名单

很多业务的客群有明显地域聚集,对外只对若干国家或省份开放。把所有非目标地域的流量在边缘直接 block,攻击面瞬间缩小一个数量级。Cloudflare、Fastly、阿里云 CDN 都支持按国家/地区维度的 firewall rule。常见组合:禁止 Tor 出口节点、known-bad ASN、批量代理服务的 ASN、过去 90 天攻击源 ASN。

注意误伤:1)海外营销活动期间需要临时开放某些地区;2)合作方机房 IP 可能在被封 ASN 中;3)国内用户在海外出差时可能被拦。建议地域封禁与白名单并存,关键合作方 IP 永远 allow。对 to C 海外业务,通常不能简单按国家封,而是结合 IP 信誉、设备指纹、行为评分综合决策。本站的 IP 信息查询工具 可以查看某个 IP 的国家与 ASN 信息。

六、SYN flood 与 BGP 高防

SYN flood 是协议型攻击的代表。攻击者发大量 SYN 包但不回 ACK,服务器为每个 SYN 维持半开连接,正常用户的 SYN 排不进队列。Linux 内核的 SYN cookie(net.ipv4.tcp_syncookies=1,默认开)是最有效防御:服务端不分配队列项,把握手状态编码进 SYN-ACK 序列号,只有合法 ACK 回来时才建立连接。云厂商的抗 D 网关在更早的链路层做硬件级清洗,单台 BGP 高防设备可以挡 1 Tbps 以上 SYN flood。

BGP 高防是"运营商级"方案。客户把业务 IP 段托管到运营商的清洗中心,所有入向流量先经过清洗集群,过滤掉攻击包后再回源。阿里云、腾讯云、网宿、Akamai 都提供,按攻击带宽计费,月费数万到数十万。适合:游戏、支付、币圈、政府等高威胁高价值行业,单次攻击峰值百 Gbps 以上。中小业务用 Cloudflare 这类全球 anycast CDN 已经够用,BGP 高防是上限不是必选。

七、应用层 CC 攻击与人机识别

CC(Challenge Collapsar)是最难治的 DDoS。攻击者用真实浏览器或高仿 UA 发起合法 HTTP 请求,专挑动态接口(搜索、登录、下单)打数据库与缓存,每秒几千 RPS 就能拖垮一个中型站点。流量小、看起来合法,IP 信誉、ASN 封禁都效果有限。

核心防御是人机识别。Cloudflare Turnstile、Google reCAPTCHA v3、hCaptcha 通过浏览器指纹、鼠标轨迹、TLS 指纹(JA3)等综合评分,实时判定每个请求是不是人。可疑流量降级到额外验证,明显机器直接 block。结合行为特征:同 IP 短时间多账号、同账号多 IP 跳跃、deviceId 与 IP 不匹配。深度学习模型在 2026 年已商业化,Cloudflare、阿里云、腾讯云都提供基于 ML 的 bot management,按 RPS 计费。中小站点开启 Cloudflare 免费 Bot Fight Mode 已经能挡掉 70%。

八、应急预案与中国本土化考虑

DDoS 应急预案三层:1)平时——CDN 接入、Cloudflare/阿里云 WAF、备份 DNS(NS1 + Cloudflare 双解析)、源站 IP 严格隐藏、关键接口限流到位;2)发现——监控大盘 RPS、5xx 比例、源站 CPU/带宽、出现异常立即告警;3)处置——开启 Under Attack Mode、临时封 IP/ASN、切换备用 IP(保留高防)、必要时限流到 1 RPS 让接口降级公告。事故后做复盘,写入 runbook。

中国大陆特殊性:第一,ICP 备案与公安备案是法律前提,没有备案的境内服务器在攻击事件中容易被运营商或机房直接下线,比攻击本身更致命;第二,国际带宽出口资源紧张,跨境攻击容易在国际链路就拥塞,影响海外用户;第三,国内高防厂商与电信运营商有联动通道,超大规模攻击(如 1 Tbps 以上)公安部门会介入,依法可向 CNNIC 与运营商联合追溯;第四,BGP 高防多数仅在国内有效,海外节点要单独采购。出海产品建议国内 + 海外双 CDN 双高防,统一在 LB 层切换。把这些纳入架构设计,DDoS 才能从"灾难"变成"日常运维"。

常见问题

DDoS 与 DoS 有什么区别?

DoS(Denial of Service)是单点攻击,一台机器对目标发包;DDoS(Distributed DoS)是分布式攻击,借助僵尸网络(botnet)从成千上万台肉鸡同时发起。DDoS 流量更大、来源 IP 分散、难以简单封禁,是当前公网真实威胁。2024 年峰值已达 5.6 Tbps、3.8 亿 RPS,单机源攻击早已不是主流。

中小网站需要花钱买高防吗?

看业务规模与威胁面。日活百万以下、非游戏/支付/政务行业,Cloudflare 免费版 + 缓存策略 + 限流通常足够挡住常见 L7 攻击;若长期被针对(行业仇敌、勒索)则需要 Cloudflare Pro/Business、阿里云高防 IP 或腾讯云大禹,月费数千到数万元。游戏、支付、政务、币圈等高威胁行业必备高防,预算视攻击带宽规模而定。

CDN 真的能抗 DDoS 吗?

能抗大部分 L3/L4 流量型与 L7 应用层攻击,但需要正确配置。CDN 通过 anycast 把攻击流量分散到全球数十个 POP,单点压力下降数十倍,并在边缘做 SYN cookie、TCP 重传校验、TLS 指纹识别等清洗。前提是源站 IP 必须严格隐藏,否则攻击者绕过 CDN 直击源站。Cloudflare、Fastly、阿里云 CDN、腾讯云 CDN 都内置基础抗 D 能力。

什么是 SYN flood?怎么防?

SYN flood 利用 TCP 三次握手:攻击者发大量 SYN 包后不回 ACK,服务器维持半开连接队列直到耗尽。防御核心是 SYN cookie:内核不分配队列项,把握手状态编码进 SYN-ACK 序列号,只有合法 ACK 回来时才建立连接。Linux 默认开启 net.ipv4.tcp_syncookies=1,云厂商抗 D 网关在更早一层就能清洗大部分 SYN flood。

中国大陆的 DDoS 防御有什么特别考虑?

一是 ICP 备案:所有大陆境内服务器必须备案,被攻击下架会丢访问。二是国际带宽瓶颈:跨境攻击在国际出口拥塞早于到达源站,影响海外用户。三是高防 IP 厂商集中(阿里云、腾讯云、华为云、网宿),可以大幅简化采购但要避免被同行业一锅端。四是 CNNIC 与公安部对超大规模攻击有联动响应机制,事故级攻击务必上报留痕。

相关工具