很多新手第一次遇到DDoS攻击的时候都是慌的:网站突然打不开、SSH连不上、Ping不通,后台一看服务器被封了,完全不知道该怎么办。
更可怕的是——DDoS攻击的成本极低,几十块钱就能买到几小时的流量攻击,任何小网站、小站长都可能被盯上。做外贸独立站、游戏服务器、甚至只是搭个博客,都有可能哪天突然就被打了。
但DDoS不是什么"高端黑客技术",只要你懂原理、提前做好防御,大部分中小攻击普通人自己就能防住,不需要花大价钱买超高防服务器。
本文会从「攻击发生时的应急响应」讲到「三层防御配置」,再到「攻击后恢复」和「日常预防」,新手一步步照着做,就能防住90%以上的常见DDoS攻击。
一、先搞懂:DDoS到底是什么?
DDoS(Distributed Denial of Service,分布式拒绝服务),说人话就是:用大量垃圾流量把你的服务器带宽占满,或者把服务器资源(CPU/内存/连接数)耗尽,让正常用户访问不了。
就像有人叫了几万人同时挤你家店门口,真正要买东西的顾客根本进不来,店虽然开着但等于没法做生意。
常见的5种DDoS攻击类型,你遇到的90%是前三种
| 攻击类型 | 原理 | 防御难度 | 新手遇到概率 |
|---|---|---|---|
| SYN洪水 | 发送大量半开TCP连接占满服务器连接表 | 中等 | ⭐⭐⭐⭐⭐ |
| UDP/ICMP洪水 | 发送大量垃圾UDP/ICMP数据包占满带宽 | 简单 | ⭐⭐⭐⭐ |
| CC攻击(HTTP洪水) | 模拟真实用户大量请求页面,耗尽PHP/数据库资源 | 较难 | ⭐⭐⭐⭐ |
| 反射放大攻击 | 利用开放DNS/NTP服务器放大流量,几十G甚至上百G | 难 | ⭐⭐ |
| 应用层攻击 | 针对特定接口/漏洞的慢速攻击,极难识别 | 很难 | ⭐ |
注意:如果你做的是普通外贸网站、博客,几乎不会遇到百G以上的大型攻击——大部分都是几十Mbps到几Gbps的中小攻击,Cloudflare免费版+基础服务器配置就能扛住。只有做游戏、棋牌、灰色行业才会遇到大流量攻击,那种才需要买专门的高防服务器。
二、怎么判断自己被DDoS了?6个典型症状
很多新手遇到网站打不开,第一反应是"服务器坏了",其实先排查是不是被攻击了:
- 网站突然完全打不开,但前几分钟还好好的,没有改过任何配置
- SSH/VNC都连不上,控制台看服务器状态是运行中,但就是连不进去
- Ping服务器丢包100%,或者延迟从几十ms突然变成几千ms
- 后台看到带宽跑满(平时几Mbps突然跑到100M甚至端口上限)
- CPU/内存突然跑到100%,但你没有跑任何大任务
- 服务商给你发邮件/工单说你的服务器被攻击,IP被封了
只要中了2条以上,大概率就是被DDoS了。
提示:先排除自己的问题!比如程序报错、配置改坏了、域名解析错了、SSL证书过期了,不要一打不开就觉得是被DDoS了。可以先在服务器提供商控制台看VNC能不能进去,能进去就看系统日志和带宽监控。
三、DDoS防御的核心逻辑:三层防御
DDoS防御没有"银弹",靠单一手段防不住所有攻击,要分层防御:

| 防御层 | 作用 | 能防住什么 | 成本 |
|---|---|---|---|
| 第一层:服务器基础防护 | 关闭不用的端口,限制单IP连接数,拦截明显的恶意流量 | 小流量SYN洪水、暴力破解、少量CC | 免费,自己配置就行 |
| 第二层:CDN/WAF防护 | 把域名解析到CDN,隐藏真实服务器IP,CDN节点清洗流量 | 大部分中小流量攻击、CC攻击、Web漏洞攻击 | Cloudflare免费版就够用 |
| 第三层:高防服务器/高防IP | 超大带宽冗余+专业清洗设备,硬抗大流量攻击 | 10G以上大流量攻击、反射放大攻击 | 付费,几十到几百美元/月不等 |
90%的个人站长/小网站,做好前两层就足够了,根本不需要买昂贵的高防服务器。
四、攻击正在发生:第一时间做这6步应急响应
如果你现在服务器正在被打,不要慌,按顺序做:

第一步:先断开连接,止损
- 如果你还能连上SSH,立刻停掉Web服务(Nginx/Apache)和数据库,避免服务器资源被完全耗尽
- 如果你已经连不上了,去服务商控制台先关机,或者提交工单让客服临时封一下攻击IP段
第二步:打开Cloudflare"Under Attack"模式(5秒见效)
如果你之前已经把域名接入Cloudflare了,这是最快的止损方式: 1. 登录Cloudflare,进入你的域名 2. 「Overview」页面,找到「Quick Actions」 3. 把「Under Attack Mode」点开(橙色云朵变成"正在受攻击"模式) 4. 所有访客会先经过5秒JavaScript验证,真实用户能过,大部分肉鸡直接被拦截,几秒钟就能拦住大部分CC攻击

重要警告:如果你之前域名没接入CDN,真实IP已经暴露了!这时候再开Cloudflare已经晚了——攻击者直接打你的IP,不经过域名解析,CDN防不住。这种情况要么换IP,要么走高防。所以不管你觉得会不会被打,网站域名一定要放在CDN后面,不要直接解析到真实IP,这是成本最低的防御。
第三步:配置iptables临时规则,拦截明显恶意流量
如果还能连上服务器,执行下面几条命令,能拦住一大半SYN洪水:
# 限制单IP每秒最多新建20个连接,超过直接丢包
iptables -A INPUT -p tcp --syn -m limit --limit 20/s --limit-burst 50 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
# 防止ICMP洪水,限制每秒1个ping包
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
iptables -A INPUT -p icmp -j DROP
# 丢弃无效数据包
iptables -A INPUT -m state --state INVALID -j DROP
# 保存规则(CentOS)
service iptables save
# 保存规则(Ubuntu/Debian)
netfilter-persistent save

第四步:开启fail2ban防CC攻击
fail2ban可以自动识别短时间内大量请求的IP,自动拉黑一段时间,对CC攻击效果很好:
# 安装fail2ban
apt install fail2ban -y # Ubuntu/Debian
yum install fail2ban -y # CentOS
# 启动并设置开机自启
systemctl enable --now fail2ban
然后新建Nginx封禁规则:
cat > /etc/fail2ban/jail.d/nginx-cc.conf << 'EOF'
[nginx-cc]
enabled = true
port = http,https
filter = nginx-cc
action = iptables-allports[name=nginx, port=http,https]
logpath = /var/log/nginx/access.log
maxretry = 30
findtime = 10
bantime = 3600
EOF
简单解释:10秒内同一个IP请求超过30次,就自动拉黑1小时——正常用户不可能10秒点30次页面,CC攻击的肉鸡一秒就能发几十上百个请求,直接拦住。
第五步:联系服务商
如果上面几步做完还是扛不住,立刻给服务商提交工单,说明你被DDoS攻击了,问他们能不能帮忙临时引流或者清洗流量。
提示:LuckVM所有节点默认自带基础DDoS防护,50Gbps以内的常见攻击机房会自动清洗,不需要额外付费。遇到攻击可以直接联系客服协助处理。
第六步:如果IP已经被封,换IP
如果机房已经把你的IP封了,不要硬等——小机房可能封几个小时甚至几天,直接花点钱换个新IP,先把网站恢复访问,再慢慢做防御。
五、第二层:Cloudflare免费防御配置(能防90%中小攻击)
Cloudflare免费版不花一分钱,就能挡住绝大多数中小DDoS攻击,是新手性价比最高的防御手段,建议所有网站都配上。
除了刚才说的"Under Attack"紧急模式,平时可以做这几个配置,提前做好防御:
1. 开启WAF托管规则
免费版Cloudflare可以开启5条基础WAF规则,自动拦截常见的Web攻击和恶意扫描: - SQL注入拦截 - XSS攻击拦截 - 常见漏洞扫描拦截 - 恶意User-Agent拦截
2. 开启浏览器完整性检查
在「Security」→「Settings」里,把「Browser Integrity Check」打开,会自动拦截没有标准User-Agent的垃圾爬虫和攻击工具。
3. 缓存规则设置
能缓存的静态资源(图片/CSS/JS/字体)全部缓存到Cloudflare边缘节点,用户请求直接从CDN拿,不用回源到你的服务器,既加快速度又减少攻击打到源站的机会。
4. 永远不要暴露源站真实IP!
这是最最最重要的一点: - 域名解析一定要走Cloudflare橙色云朵(开启代理),不要用灰色云朵(直连源站) - 不要在任何公开地方(邮件头、DNS记录、站长工具查询历史)泄露你的真实IP - 所有子域名都走CDN,不要有子域名直连源站 - 服务器SSH端口不要用默认22,改成别的高位端口,只允许自己的IP访问 - 如果IP已经泄露过,直接换一个新IP,然后套好CDN,不然怎么防都没用,攻击者直接打IP绕过CDN
六、攻击结束后:恢复服务+排查后门

攻击停了,网站能打开了,不要以为就完事了,这几步必须做:
1. 检查服务器有没有被入侵
DDoS攻击有时候是"声东击西"——大流量攻击吸引你注意力,同时黑客在尝试暴力破解或者入侵你的服务器。攻击结束后立刻检查: - 有没有陌生的登录记录(lastb 看失败登录,last 看成功登录) - 有没有陌生的进程、陌生的定时任务 - 网站文件有没有被篡改,有没有新增的陌生php文件(webshell) - 系统日志有没有异常
2. 分析攻击日志,针对性优化
看Nginx日志、fail2ban日志、系统日志,看攻击来自哪些IP段、是什么类型的攻击,下次遇到类似攻击就有经验了。
3. 补全之前没做的防御
吃一堑长一智:这次没套CDN赶紧套上,没装fail2ban赶紧装,没改SSH端口赶紧改,不要等下次再被打。
4. 做好备份
攻击结束后立刻做一次完整备份,万一网站被篡改了还有备份可以恢复。
七、日常预防:7个习惯让你被攻击的概率降低80%
不要等被打了才想起来防御,平时做好这几件事,大部分攻击者嫌麻烦就不打你了:
- 所有网站域名套CDN,永远不暴露真实源站IP,这是成本最低效果最好的防御
- 改SSH默认端口,禁用密码登录改用密钥登录,禁止root直接登录
- 服务器只开必须的端口(80/443/SSH端口),其他端口全部用防火墙关掉
- 装fail2ban,自动拉黑暴力破解和频繁请求的IP
- 定期更新系统和程序,及时打补丁,不要用有漏洞的版本
- 不要在公开场合晒你的服务器IP,包括测速截图、路由追踪截图,把IP打码
- 定期备份数据,万一真被打封了或者被加密了,备份能救你命
八、新手常犯的3个误区
❌ 误区1:我装了防火墙/安全插件就不怕DDoS了
服务器上的软件防火墙只能防小流量攻击和CC攻击,如果攻击流量直接把你带宽占满了,数据包根本到不了服务器,防火墙还没起作用你就已经被打死了。带宽层面的攻击只能靠上游(CDN/高防机房)清洗,服务器本身防不住。
❌ 误区2:我做小网站没人会打我
DDoS攻击成本极低,很多时候不是你得罪了谁,可能是同行随机扫IP段打、脚本小子练手、甚至是勒索——先打你半小时,然后发邮件要几百美元赎金。小网站恰恰是因为没做防御,一打就死,反而最容易被盯上。
❌ 误区3:直接买最贵的超高防服务器就万事大吉
大部分普通网站一辈子都遇不到100G以上的攻击,花几百美元一个月买高防纯属浪费钱。90%的情况免费Cloudflare+基础服务器防护就足够了,等真遇到大攻击再升级也不迟。
节点选择提示:LuckVM所有节点(香港/新加坡/日本东京/美国洛杉矶)默认都带50Gbps基础DDoS清洗,做普通外贸站、网站、博客完全够用,不需要额外加钱买高防。如果你的业务确实需要更高防御,也可以联系客服升级高防IP。
九、高防节点怎么选?如果遇到大攻击怎么办?
如果你做的是游戏、直播、或者确实经常被打,基础防护扛不住,再考虑买高防。选高防看三个指标:

- 防御带宽大小:说"无限防"的都是骗子,真实防御带宽都是硬成本,常见的有100G/300G/500G/1T,要选能防御常见攻击大小的
- 线路质量:很多高防IP为了成本用的是很差的国际线路,虽然能防攻击,但延迟高、丢包严重,正常用户访问卡的要死,防住了攻击但用户也跑了
- 清洗能力:不是带宽够大就行,还要看清洗算法好不好,能不能准确识别攻击流量和正常流量——差的清洗会把正常用户也拦掉,好的清洗几乎不影响正常访问
十、FAQ 常见问题
Q1:我用了Cloudflare,为什么还是被打死了?
A:99%的情况是你的真实源站IP已经泄露了,攻击者绕过CDN直接打你的IP。这种情况要么换个新IP然后做好隐藏,要么买高防IP。
Q2:被DDoS了,服务商会封我服务器吗?
A:大部分海外机房不会因为一次小攻击就封机器,但如果攻击太大、持续时间太长,影响到机房其他用户,可能会临时封IP几个小时,一般不会封服务器。LuckVM遇到攻击会先自动清洗,实在太大才会临时封IP,不会直接删机器。
Q3:DDoS攻击能溯源找到攻击者吗?
A:几乎不可能。攻击者都是用肉鸡(被入侵的普通电脑/服务器)发起攻击,IP都是假的/跳了好几层,溯源成本极高,个人站长不用想这个事,做好防御比找攻击者实际得多。
Q4:买了高防是不是就不会被打死了?
A:不是。防御是看"防御带宽"和"攻击带宽"谁大——如果你买了100G防御,攻击者打200G,你还是会被打死。没有防不住的攻击,只有不够大的带宽。大部分情况普通攻击高防都能扛住,但遇到超大流量攻击谁都没办法。
Q5:我用的是阿里云/腾讯云的服务器,还需要自己配防御吗?
A:国内云厂商一般默认带5-10G基础防御,超过了就要买他们的高防产品(贵的离谱)。海外服务器大部分默认带一点基础防御,但还是建议自己套Cloudflare,免费多一层防护。
Q6:CC攻击和DDoS有什么区别?
A:CC攻击是应用层攻击,模拟真实用户请求你的动态页面(比如搜索、下单),占的是你的CPU/数据库资源,流量不大但很致命;普通DDoS是网络层攻击,占你带宽。CC更难防,因为看起来和正常用户差不多,需要WAF和频率限制才能拦住。
Q7:开启Cloudflare"Under Attack"模式会影响SEO吗?
A:短期开几个小时应急完全不会有影响。长期开的话,因为有5秒JS验证,可能会影响搜索引擎爬虫抓取,所以攻击过去了记得关掉,平时用默认的中等安全级别就行。
Q8:我能自己在家搭DDoS防御吗?
A:普通家庭带宽上行一般只有几十Mbps,攻击者随便打1Gbps你家带宽就满了,家里根本防不住。DDoS防御本质是拼带宽,必须在带宽足够大的机房/CDN节点做清洗才行。
Q9:被DDoS攻击了要不要报警?
A:如果你做的是合法合规的业务,可以报警,但说实话个人站长被攻击金额不大的话,追查难度很高,一般不会立案。不如把时间花在做好防御上更实际。
Q10:LuckVM的服务器被攻击了会怎么样?
A:LuckVM香港/新加坡/日本/洛杉矶所有节点默认带50Gbps DDoS自动清洗,50G以内的常见攻击机房自动清洗,你的服务器几乎不会有感觉;如果攻击超过50G,IP会暂时被路由屏蔽几小时,不会封机器,等攻击过去自动解封,也不会额外收费。遇到攻击可以联系客服协助处理。
? 应急响应检查清单(可以打印出来对着做)
- ☐第一时间关Web服务/关机止损
- ☐打开Cloudflare Under Attack模式
- ☐配置iptables临时规则
- ☐开启fail2ban防CC
- ☐联系服务商客服协助
- ☐必要时换IP恢复服务
- ☐攻击后检查日志和后门
- ☐补全没做的防御配置
- ☐做完整备份
- ☐反思怎么泄露的IP,避免下次再被打
? 相关阅读
本文由LuckVM技术团队原创发布,转载请注明出处。 LuckVM提供香港/新加坡/日本东京/美国洛杉矶四大优质节点,CN2 GIA三网优化线路,NVMe SSD+独享带宽,所有节点默认带50G DDoS防护,支持7天无理由退款,购买后可联系客服免费协助配置环境、迁移网站。





