1. 先从最根本的问题说起:DDoS到底是什么
1.1 一次让我印象深刻的线上事故
前几年我做过一个电商项目,平时流量很平稳,某天下午运营同事突然在群里炸锅——网站打不开了,后台登录也进不去,CPU直接飙到100%。我当时第一反应是数据库慢查询,结果登上服务器一看,网卡入流量跑到了好几个Gbps,负载均衡的日志里全是来自世界各地IP的TCP连接请求,每秒新建连接数高得离谱。
那是我第一次正经面对DDoS攻击,也是从那次之后,我才真正把"DDoS"和"CC"这两个词给分清楚。很多人把DDoS和CC混为一谈,其实它们属于两个层面的攻击思路:DDoS是"把路堵死",CC是"把柜台挤爆"。理解了这个区别,后面所有的检测、防御、排查才能对得上号。
这里先给新手一个基本概念:DDoS全称是Distributed Denial of Service,中文叫分布式拒绝服务攻击。它的核心目标只有一个——让你的服务不可用。攻击者不会入侵你的服务器,不会偷数据,就是单纯地让你的网站、接口、服务器无法正常响应正常用户的请求。和你在小餐馆门口堵一群人不让客人进去,道理一模一样。
1.2 DDoS攻击的核心逻辑:什么叫"分布式"
理解DDoS,关键在"分布式"这三个字。传统DoS是单台机器发起攻击,不管性能多强,网卡多好,单台机器的发包能力始终有限,而且很容易被防火墙一个IP封掉就完事了。DDoS不一样,它是攻击者控制成百上千台"肉鸡"(被植入木马或恶意脚本的僵尸主机)或者利用反射放大技术,让海量机器同时向目标发起请求。
这些机器分布在不同的网络、不同的地区、不同的运营商,所以你会看到攻击流量来自天南海北的IP段。防御方想在网络层做黑名单封禁几乎不可能,因为你封掉一批IP,攻击流量可能换一批IP继续来。这也是为什么DDoS防御不能只看单个IP,要看整体流量特征。
我在那次电商事故里看到的现象就很典型——攻击源IP非常分散,每个IP看起来都很"正常",单独封任何几个IP都无济于事,因为它们身后还有几万个IP。这时候你才明白,DDoS不是一台机器和一台机器之间的对抗,而是整个攻击集群和你的整个防护体系之间的对抗。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. DDoS与CC攻击的本质区别
2.1 网络层攻击与应用层攻击
如果按照OSI模型来分,DDoS攻击可以发生在L3/L4(网络层/传输层),也可以发生在L7(应用层)。而大家平时说的CC攻击,特指L7应用层的DDoS攻击。
我做个类比你就明白了:假设你开了一家奶茶店。
网络层DDoS攻击相当于叫了几百个人站在店门口,把门口的路完全堵死,顾客想进店根本走不过去。这个时候问题出在"路上",不在"店里"。对应到技术场景,就是攻击者发送大量SYN包、UDP包、ICMP包,把你的带宽耗尽,或者把防火墙的会话表打满,导致正常用户的报文无法到达你的服务器。
CC攻击则是另一种玩法——它让几百个人假装成正常顾客进店,每人都点一杯最贵的奶茶,而且要求现做、微糖、去冰、多加珍珠,把店员全部耗住。表面上看,店里坐满了人,生意很火,但真正的顾客进不来,因为所有制作能力都被"假顾客"消耗掉了。对应的技术场景,就是攻击者模拟正常用户发送HTTP GET/POST请求,频繁访问某个页面或接口,把应用服务器的CPU、内存、数据库连接池给占满。
2.2 CC攻击的特殊之处
CC是Challenge Collapsar的缩写,早年国内安全圈习惯叫它"挑战黑洞",后来叫着叫着就变成"CC攻击"了,也有说法认为CC取自"Connection Closed"之类,但圈内更有共识的说法是Challenge Collapsar。不管名称来源如何,CC攻击的本质就是应用层资源耗尽。
CC攻击最让人头疼的地方在于:它的流量从网络层看一点都不大。普通DDoS攻击可能几十Gbps的流量,一眼就能看出来;CC攻击可能每秒只有几千个请求,总带宽只有几十Mbps,从流量图上看毫不起眼,但服务器的QPS(每秒查询数)如果只有几百,这几千个请求就足够把服务拖垮。
我做过的那个项目就是CC攻击,当时看到流量条只有几百Mbps,第一反应觉得不是DDoS,结果查了Nginx日志才发现,某个商品的查询接口被疯狂请求,大部分请求都带着随机的User-Agent和Referer,一看就不是正常用户的行为。
2.3 一张表说清两者差异
我这里整理一个对比表,方便你后续做防御时快速判断自己遇到的是什么情况:
| 对比维度 | 网络层DDoS攻击 | CC攻击 |
|---|---|---|
| 攻击层次 | L3/L4(网络层/传输层) | L7(应用层) |
| 主要手法 | SYN Flood、UDP Flood、ICMP Flood、DNS放大 | HTTP Flood、HTTPS Flood、慢速连接攻击 |
| 流量特征 | 带宽大,PPS高,流量峰值明显 | 带宽不大,但请求数/并发连接数高 |
| 主要消耗 | 带宽、防火墙会话表、路由器处理能力 | Web服务器的CPU、内存、数据库连接池、应用线程 |
| 检测难度 | 相对容易,流量暴涨就能发现 | 较难,攻击流量伪装得像正常流量 |
| 典型防御手段 | 流量清洗、黑洞路由、CDN高防 | WAF规则、限流、验证码、频率控制、IP信誉库 |
3. 攻击是如何发生的:常见手段与典型攻击链路
3.1 网络层攻击的几种主流打法
第一次遇到DDoS的人,往往搞不清楚攻击者到底怎么把流量"变"出来的。这里说几个最常见的典型攻击手法,理解了这些手法,你在做DDoS检测时才知道该看哪些指标。
SYN Flood是最经典的一种。TCP连接建立需要三次握手,客户端发SYN,服务端回SYN-ACK,客户端再回ACK,连接才建立。SYN Flood就是攻击者伪造大量源IP发送SYN包,服务端收到后回复SYN-ACK,但因为源IP是伪造的,永远等不到客户端的ACK确认。这个半连接状态会占用服务端的连接队列,队列满了之后,正常用户的SYN包就无法被处理了。
UDP Flood又是另一种思路。UDP是无连接协议,不用握手,直接发包就行。攻击者往目标IP的某个端口猛发UDP包,服务器收到后如果发现端口没有应用监听,会回一个ICMP不可达报文,这些回应包会消耗带宽和CPU。更狠的是UDP反射放大攻击,攻击者往开放的DNS服务器发送小体积查询请求,伪造源IP为目标IP,DNS服务器返回的大体积响应就会打向受害者,放大倍数可以达到几十倍甚至上百倍。
ICMP Flood相对简单粗暴,就是ping洪水,直接发送大量ICMP报文。这种攻击现在很多网络设备都能自动过滤,所以实战中很少单独出现,更多是作为混合攻击的一部分。真实攻击里,攻击者往往几种手法混着来,SYN Flood打头阵,UDP Flood跟着补刀,你就发现防火墙日志里全是各种协议的错误记录,一时之间根本分辨不了哪种才是主攻方向。
3.2 CC攻击的典型手法
CC攻击的常见形式主要有三种。第一种是HTTP GET Flood,攻击者批量请求某个消耗较高的URL,比如搜索结果页、商品详情页、报表下载接口。这些接口通常需要查询数据库、做复杂计算,每一次请求都对服务器有较大消耗。
第二种是HTTP POST Flood,攻击者向表单提交类接口疯狂提交数据,比如登录、评论、搜索。POST请求比GET更消耗资源,因为服务器需要解析请求体、校验参数、写日志。很多公司不做请求体大小限制,攻击者可以发一个巨大的POST请求体,直接把应用服务器的内存打爆。
第三种是慢速攻击,比如Slowloris和Slow POST。这两种攻击不追求请求量,而是发部分请求头或少量数据,然后一直不发送完整数据,把服务器的连接线程全部占住。这类攻击的流量极小,有时候每秒只有几十个请求,却能让Web服务器彻底失去响应。
3.3 关于网上流传的攻击脚本
网上搜"CC攻击脚本"或"python cc攻击源码",能找到一堆现成的工具。我看到过不少,简单的就是Python写个循环,用requests库发GET请求;复杂一点的会挂代理池、随机User-Agent、带上Referer伪装。从学习角度来说,研究这些脚本的用途只有一个——搞清楚攻击者的思路,然后反向去设计防御策略。
我不会在这里贴攻击代码,但可以告诉你这类脚本的核心逻辑:构造大量HTTP请求、循环发送、多线程并发、随机化请求头。理解了这几个要素,防御方向就清楚了。既然攻击脚本会随机化请求头,那单纯靠User-Agent做拦截一定不靠谱;既然攻击脚本走高并发,那频率限制和连接数限制就一定要做;既然攻击脚本会伪装成正常流量,那就需要在业务层面设计更精细的验证机制。
我在做DDoS攻击实验和CC攻击模拟的时候,一般会用压测工具代替攻击脚本,比如Apache Bench、wrk、JMeter。这样做的好处是合规,而且能控制压测强度,不会真的把服务打挂。压测结果同样能帮你评估系统的抗压能力,找到性能瓶颈。
3.4 一次攻击的完整链路
一次典型的DDoS攻击,链路是这样的:
第一步,攻击者通过扫描和漏洞利用批量控制大量主机,植入后门,形成僵尸网络。这个阶段可能持续数天甚至数周,被控主机不会有明显的性能变化,用户基本无感知。第二步,攻击者下发指令,让所有被控主机同时向目标发起请求,流量汇聚在目标网络上,瞬间形成洪峰。第三步,目标服务器的连接表被耗尽、带宽被占满、CPU飙高,正常用户无法访问。第四步,攻击者达到目的后撤走流量,服务逐渐恢复,但业务损失已经造成。
从攻击者下单到攻击开始,有时候只需几分钟。这就意味着你要做好防御不是等攻击发生后才想办法,而是日常就要把检测手段、应急流程、防护策略准备好,做到"平时多练兵、战时才能抗"。
4. 如何检测与识别:从现象到证据
4.1 流量层面的识别信号
很多公司第一次发现被攻击,不是靠监控系统告警,而是靠用户投诉。这很被动。我建议至少从几个维度做实时监控:入方向带宽、出方向带宽、PPS(每秒数据包数)、QPS(每秒请求数)、TCP连接状态分布、SYN重传率、CPU使用率。
正常业务的流量曲线是有规律的,比如电商项目晚上大促时流量会冲高,凌晨流量会回落。如果流量在非业务高峰期突然出现尖峰,而且持续不落下来,那基本可以怀疑是攻击。PPS过大同样是个信号,正常业务的数据包格式比较固定,如果PPS高到几百万,大概率是UDP Flood或SYN Flood。
TCP连接状态分布也很重要。正常的连接里,ESTABLISHED状态占大多数,SYN_RECV会有一些但不会特别多。如果你看到SYN_RECV数量暴涨,几万个半连接挂着不释放,那就是SYN Flood的典型特征。这时候你再用netstat -an | grep SYN_RECV | wc -l统计一下数量,基本就能确认。
还有一个容易被忽略的信号是重传率。当带宽被攻击流量占满后,正常数据包在链路上会发生拥塞丢失,TCP就会重传。如果重传率从正常的0.1%飙到10%以上,说明网络路径已经出现了严重的拥塞,极有可能是DDoS导致的。
4.2 应用层面的识别信号
CC攻击在流量层很难看到异常,但在应用层有比较明显的特征。最直接的信号是应用服务器CPU和数据库连接池的异常升高。正常业务QPS可能就几百,数据库连接池使用率60%;CC攻击一来,QPS可能没涨太多,但数据库连接池直接被占满,应用出现大量超时。
Nginx和Web应用日志也是重要的判断依据。攻击发起时,日志里会出现大量来自不同IP、但访问路径高度集中的请求。比如某个商品详情页每秒被请求上百次,搜索接口的调用频率突然翻倍,而且请求参数非常相似甚至完全相同。
我最常看的一个指标是请求来源的User-Agent分布。正常用户的User-Agent五花八门——Chrome、Safari、Edge、微信内置浏览器、安卓App、iOS App,各有各的特征。攻击脚本如果用requests库,默认UA是"python-requests/xxx",一眼就能识别。就算攻击者做了伪装,把所有请求的UA都设成Chrome,那你还能看到这些请求没有任何的浏览器特征——没有Accept-Language头、没有Accept-Encoding头、没有Cookie,行为模式上像是机器在操作。
4.3 如何快速定位真实源IP
检测过程中有一个关键动作:判断攻击流量有没有经过CDN代理。
如果你的业务接了CDN或高防IP,用户的真实IP一般会在请求头里的X-Forwarded-For或CDN自定义的字段里。Nginx要配置set_real_ip_from和real_ip_header,才能拿到真实IP。很多团队在这里踩过坑:没配置real_ip模块,导致所有IP都是CDN节点的IP,封禁策略完全失效。
如果你没接CDN,服务器直接暴露公网,那么Nginx日志里的$remote_addr就是客户端真实IP。这种场景下封禁IP相对容易,但要小心误封——有些出口IP是NAT后的,一个IP后面可能有好几百个正常用户,封掉一个IP等于误杀一片用户。
遇到分布式CC攻击时,单靠封IP也不现实,因为攻击IP成千上万。这时候要做的是"行为识别+集体限速",而不是逐个封IP。比如某个URI的总请求速率超过阈值,就直接对该URI做全局限流,让所有用户共享配额,而不是区分正常用户和攻击者。虽然体验有损,但至少服务还活着。
5. 防御体系建设:从应急到常态化
5.1 基础设施层的防护手段
防御DDoS攻击,第一道防线一定在网络基础设施层面。没有这道防线,后面的应用层防护再多也无济于事,因为链路都堵死了。
对中小企业来说,最省心的方案是买云厂商的高防IP或DDoS防护包。阿里云、腾讯云、华为云都有这类产品,原理都是把流量引流到高防机房,清洗掉攻击流量后再回源到你的服务器。选高防套餐时,要注意看两个指标:保底防护带宽和弹性防护带宽。保底是你固定买的,比如50Gbps;弹性是超出保底后按量计费,比如最高可弹性到200Gbps。建议根据自己的业务规模和历史上遭受过的最大攻击流量来选,宁可保底买高一点,也别裸奔。
有些团队觉得云厂商的高防贵,想着自己用iptables做防护。说实话,应对小规模攻击(1-2Gbps以内),iptables加一些优化参数确实能顶一阵子,比如限制SYN半连接数、禁用ICMP重定向、限制每IP并发连接数。但超过这个量级,硬扛就没意义了,你的出口带宽可能也就几百兆,攻击流量一上来,带宽瞬间就被打满,iptables规则根本来不及生效。
另外,黑洞路由也是一个应急手段。如果攻击流量超过了防护上限,运营商可能会执行黑洞策略,把所有目标IP的流量都丢弃。这个动作相当于"弃车保帅",虽然服务彻底不可访问,但至少保护了机房内其他租户和整个网络不受影响。所以做架构设计时,尽量把核心服务拆成不同的IP,防止单IP被黑洞后全军覆没。
5.2 应用层的防护策略
应用层防护的核心思路是区分"人"和"机器"。最有效的手段包括:
频率限制是所有方案的基础。按IP、按用户ID、按设备指纹做维度,对接口做访问频率控制。比如登录接口每IP每分钟最多10次,商品详情接口每IP每分钟最多60次。用Nginx的limit_req模块或者网关层的RateLimiter都能实现。要注意的是,纯IP维度限流容易误伤NAT用户,建议叠加设备指纹或Cookie策略。
验证码在应对CC攻击时非常有效,但用户体验会打折扣。一般只有在检测到异常流量时才触发,比如某个IP的请求频率超过了阈值,或者请求的Cookie缺失。滑块验证和点选验证比字符验证码更难被脚本模拟,防御效果更好。
**WAF(Web应用防火墙)**是另一道重要防线。云WAF能在流量到达源站前做检测,识别出SQL注入、XSS、CC攻击等恶意行为。深圳机房、杭州机房,哪里的用户IP信誉差,都在云WAF的IP信誉库里有着记录。配置WAF时,建议开启"人机验证"功能,WAF检测到可疑请求时,自动弹出验证页面。
会话维持策略也很关键。正常用户访问网站时,会先拿到一个会话Cookie,后续请求都带着这个Cookie。攻击脚本往往没有这个Cookie,或者每次请求都重新获取。所以部分应用会在入口处设置一道Cookie校验,没有合法会话的请求直接返回403或302重定向。
5.3 运营侧的配合与演练
技术防护只是一部分,运营侧的配合同样重要。我建议所有做过线上业务的团队,都提前准备好这几个东西:应急响应SOP文档、核心业务线联系人列表、机房/云厂商工单模板、预演脚本。真的发生攻击时,时间非常宝贵,每一分钟都在烧钱,临时找联系人就会手忙脚乱。
平时定期做DDoS攻击模拟演练也很有价值。演练不是真的打自家服务,而是用压测工具模拟不同强度的流量,观察系统在什么量级开始出问题。比如你用wrk模拟1000 QPS的HTTP请求,看看应用服务器CPU到多少、数据库连接池占用率多少、响应时间从多少开始劣化。有了这些基线数据,真正发生CC攻击时,你就能判断攻击强度的大小,决定是要限流还是直接启用高防的清洗能力。
我还建议把安全响应纳入值班流程。很多公司的值班只关注系统告警,安全事件没有纳入其中。攻击往往发生在深夜或节假日,如果没有值班制度,等发现时业务已经中断好几个小时了。至少要做到告警接入手机推送,安全事件加急处理。
5.4 防御方案的选型对比
这里我根据自己的实践经验整理了一个选型对比表,供大家参考:
| 防护方案 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| 云厂商高防IP | 业务规模大,要求高可用 | 防护能力强,弹性扩展,运维省心 | 费用较高,接入需要切换IP |
| 自建流量清洗设备 | 对数据敏感,不想出网 | 数据不出公网,可控性强 | 设备成本高,需要专业团队维护 |
| CDN+WAF组合 | 静态内容多,接口较简单 | 分布式节点天然抗DDoS,成本相对低 | 对动态接口防护能力有限,源站IP泄露风险 |
| Nginx层限流+防火墙 | 小规模业务,预算有限 | 成本低,见效快 | 无法抗大流量攻击,误伤风险高 |
| 多层组合方案 | 中大型业务,容错要求高 | 各层防护互相补充,纵深防御 | 架构复杂,联动配置有一定门槛 |
不管选哪种方案,都要记住一点:防御是分层设计的。你不可能指望单靠一个WAF就扛住几百Gbps的流量攻击,也不可能单靠高防就解决所有应用层CC攻击。网络层清洗负责"挡大流量",应用层WAF负责"认坏人",业务层限流负责"降损失",三层配合才能真正形成完整的防御闭环。
6. 常见问题与排查技巧实录
6.1 典型问题速查表
我把这几年排查DDoS和CC攻击过程中遇到的典型问题整理成了一张速查表,大家遇到类似情况可以直接对照:
| 现象 | 可能原因 | 排查方法 | 应急处理 |
|---|---|---|---|
| 带宽打满,服务器CPU不高 | 网络层DDoS攻击 | 查看流量监控,确认入向带宽和PPS | 启用高防IP清洗,或联系运营商黑洞路由 |
| CPU飙高,数据库连接池占满 | CC攻击 | 查看Nginx日志,分析URI和IP分布 | 启用WAF人机验证,对该URI全局限流 |
| 大量SYN_RECV状态连接 | SYN Flood | netstat -an | grep SYN_RECV | wc -l,查看半连接数 |
开启syncookies,限制SYN队列长度 |
| 请求正常但响应极慢 | 慢速连接攻击 | 分析Nginx access log中请求耗时,查看未完成连接 | 设置客户端超时时间,限制请求头大小 |
| 数据库被打爆,但应用无明显异常 | 读写密集型CC攻击 | 查看数据库慢查询日志,分析高频SQL | 对高频SQL做缓存,限制数据接口并发 |
| 误封大量正常用户 | NAT出口IP被封 | 查看被封IP的请求日志,确认请求特征 | 将IP限流改为行为识别限流 |
6.2 我在实战中踩过的三个坑
第一个坑:过于依赖封IP。 早期一遇到CC攻击,我的第一反应就是写脚本分析Nginx日志,把请求量最高的几个IP拉出来封掉。前几次确实有效,流量明显下降。但后来有一次,攻击者用了代理池,每次请求的IP都在变,封IP的速度完全跟不上。那次我花了大半天时间,手动封了几百个IP,结果攻击还在继续。后来才想明白:封IP只是"点杀",遇到规模化攻击时必须从"面"上控制——限流、验证码、会话校验,这些手段才真正有效。从中我学到的经验是,封IP只适合作为临时缓解措施,不应作为应对CC攻击的主要手段。
第二个坑:忘记了OSS等资源服务也在攻击暴露面里。 我们有一次被攻击的不是Web服务,而是存储图片的OSS Bucket。攻击者不知道从哪里拿到了Bucket的外网URL,疯狂下载大文件,一天之内产生了十几TB的流出流量,账单直接起飞。那次之后,我给自己立了个规矩:任何存储类服务都必须开启访问控制,外网读权限尽量关闭,或者至少加CDN前置和Referer白名单。
第三个坑:回源IP泄露。 我们用的是高防IP+CDN的组合,一切看起来都挺安全。有一次做渗透测试才发现,某个子域名的DNS解析记录直接指向了源站IP,没有经过高防。这意味着攻击者根本不需要绕过CDN,直接打源站IP就完了。排查之后发现,是早期配置时为了调试方便,把源站IP暴露在了一套旧的DNS记录里。那之后,我每次上线前都会检查整个DNS解析链路,确认没有源站IP直接暴露的记录。
6.3 DDoS攻击实验怎么做才能既安全又有价值
有一些刚入门的朋友会问,想做DDoS攻击实验来学习,怎么操作才算合规。我的建议是,实验目的应该是"防御验证"而不是"攻击成功"。你可以用内网环境,搭两台虚机,一台做攻击源,一台做受害者,用wrk、ab这些压测工具模拟HTTP请求,观察受害端在什么条件下开始出现性能下降。
这样做的价值在于,你能直观理解到连接数、请求频率、带宽占用这些指标与系统性能之间的关系,知道一个Web服务在什么样的参数条件下会发生故障。等真正遇到攻击时,你心里会有个数:现在这个流量水平,系统还能不能扛得住,需要启动哪些应急措施。
我自己在测试CC攻击时,常用的是几百个并发连接对某个接口持续压测30秒,观察CPU和响应时间的变化。实测下来,很多不做任何防护的Java应用,200并发就能把CPU拉到80%以上,响应时间从50毫秒飙升到3秒。有了这个数据,你就会理解为什么CC攻击不需要很大的带宽就能搞垮一个站点。
7. 聊聊我对DDoS检测与防护的一些体会
做了这么多年线上业务的稳定性保障,我的一个很深的体会是:DDoS攻击是不可能完全避免的,你只能尽量把攻击的影响降到最低。安全领域有句话说得好,攻击者只需要成功一次,而防御者必须每次都成功。这话听着有点沮丧,但实际情况就是这样。
从预算和人力投入来说,我认为中小企业至少要做到这么几件事:第一,接云高防,保底防护带宽不用买太高,但一定要有弹性扩容能力;第二,WAF规则要开,重点防护登录、搜索、支付等核心接口;第三,做好Nginx层的限流配置,这块成本最低但效果立竿见影;第四,建立安全告警值班机制,确保攻击发生后的5分钟内能有人响应。
另外一点,防御方案要定期演练,不要配置完就忘。我见过不少团队,高防买了、WAF开了,但从来没有测试过切换流程。真到了攻击发生时,发现高防的CNAME没配好、WAF的规则集里策略冲突、回源IP设置错误,各种问题一次性爆发。提前做几轮攻防演练,把流程跑通,把联系人理顺,能省去很多不必要的麻烦。
如果你们团队人手不够,没有专门的安全工程师,也建议大家至少每月看一次云平台的安全报告,关注Nginx错误日志和带宽监控。很多攻击都有前兆,比如某个IP扫描端口、某个URL被频繁试探,这些信号抓得早,可以在正式攻击前做好应对准备。
最后再分享一个小技巧:给核心接口的响应头里加一个自定义标识,比如X-Server-Tag: production-nginx-01。正常用户和无害爬虫不会关心这个标识,但攻击者扫描时如果发现服务器版本和标识信息,有时会误判你的防护能力。这算是一种很轻微的混淆技巧,不能指望它防住攻击,但有时候能让攻击者转移目标,减少一些试探性的骚扰。
做安全的本质就是在跟攻击者比耐心和细节。你多想一步,多备一套方案,服务存活下来的概率就大一分。希望这篇梳理能帮你把DDoS和CC攻击的脉络理清楚,以后再遇到相关问题时,能有一个比较清晰的排查和应对思路。
