服务器遭受DOS攻击后,最要紧的是先断开受影响的服务链路保住数据,然后立刻切换备用IP并借助高防清洗流量,最后复盘加固漏洞,绝不是干等着攻击自己停下来。
很多人一听到“服务器被打了”就慌神,盯着流量监控看半天,或者反复重启服务器,结果攻击还在,业务却彻底瘫了,DOS攻击(拒绝服务攻击)和DDoS(分布式拒绝服务攻击)的核心目的就是耗尽你的带宽、连接数或者CPU资源,让你没办法正常服务用户,所以处置的第一原则不是“硬扛”,而是“快速隔离和转移”。
下面这套流程,是业内运维在实战中反复验证过的,照着做,能帮你把损失控制在最小范围。
快速确认攻击类型:别把故障当攻击
在动手切线路之前,先用几分钟判断是不是真的被DOS了,有些时候是程序死锁、数据库连接池爆掉,甚至云厂商机房光缆被挖断,表现和攻击很像。
- 看流量图:登录云控制台或物理服务器的流量监控,如果入方向带宽曲线瞬间拉成一条直线,峰值远超平时,多数情况是流量型攻击。
- 看连接数:执行
netstat -ntu | awk '{print $a}' | sort | uniq -c | sort -nr | head -20,如果发现几百上千个来自同一IP段或同一地区的SYN_RECV状态连接,这是典型的SYN Flood。 - 看CPU和内存:如果CPU被打满而带宽没异常,可能是CC攻击(HTTP请求轰炸)或者应用层逻辑漏洞被利用,比如频繁调用某个昂贵的查询接口。
- 试探性操作:尝试远程登录服务器(SSH),如果卡顿严重或直接超时,同时公网PING不通,基本可以确定是网络层被堵死。
这里有行业共识认为,区分流量攻击和CC攻击最关键的意义在于后续找谁清洗,前者需要运营商或高防机房介入,后者可能靠服务器本身的防火墙规则就能挡掉一部分。
紧急止损三板斧:断网、备份、切换
确认是攻击后,别犹豫,立刻执行以下操作,顺序很重要,尤其是先保数据。
第一件事:断开公网连接但别关机。 如果是物理服务器,直接登录机房管理面板(比如IPMI或带外管理)执行“禁用公网网卡”,或者干脆把交换机端口shutdown,云服务器就在控制台“安全组”里把所有入站规则临时删掉。

不是让你关机,关机可能导致系统进程异常,而且攻击流量已经打到你的IP上,关机了也一样堵着,只是你看不见了。
第二件事:通过内网或带外网络备份数据。 攻击期间系统可能随时崩溃,趁现在还能登录,赶紧用rsync或tar把网站源码、数据库文件打包到内网存储或异地备份机,这一步花不了十分钟,但能让你后续恢复时心里不慌。
第三件事:启用备用IP。 如果你的业务架构里有负载均衡(SLB 或 Nginx),直接在控制台解绑原来的公网IP,换一个新的弹性IP绑上去,注意,更换IP要快,一般在几分钟内完成,如果你用的是裸金属服务器,没有弹性IP功能,那就只能找机房临时给你调一个空闲IP先顶上。
清洗流量与恢复服务的实操路线
换完IP只是临时让业务跑起来,但攻击者如果盯着你的域名,过一会儿可能又打过来,这时候要分两条路走。
路线A:有高防IP或高防CDN的情况下,直接切流量。
- 在DNS解析处(比如简米云DNS、Cloudflare),把记录的TTL改小到60秒。
- 确认高防IP的防护档位已经调好(比如防护50Gbps),然后修改A记录指向高防IP。
- 如果用了高防CDN,等CNAME生效后,源站IP务必改成内网或新的私网地址,千万别再从源站直接走公网。
路线B:没有高防,应急用运营商黑洞和临时扩容。
- 当攻击流量超过你购买的云服务商防护阈值时,运营商通常会“黑洞”你的IP,也就是直接把流量给你丢弃掉,让服务器彻底断网,这是保护整个机房的手段,也是提示你必须买高防了。
- 临时扩容带宽没有意义,很多客户以为把带宽从100M临时升到1000M就能扛住,实际上攻击流量通常是几十G到几百G,扩容那点钱根本打水漂。
这里要特别聊聊用户最关心的服务器防御ddos攻击费用,这不是一笔小数目,市面上常见的高防IP套餐,防护能力在30Gbps-50Gbps的,一年费用大致在

数千到数万元不等,防护能力上百G的那就是十万元级别了,这价格看着肉疼,但比起业务瘫痪一天损失的真金白银,多数情况下还是划算的,尤其是游戏、金融、电商这类强实时业务,绝对不能裸奔。
高防服务器怎么选才靠谱
很多人在“服务器被ddos攻击怎么办”这个问题上折腾半天,最后才发现问题的根源在于一开始就没选对防护产品,选高防服务器不能只看价格和防御数值,得看几个核心指标。
- 看防御能力是否是“硬防”,有些小机房虚标防御,比如标称100G,实际机房总出口才80G,一打就穿,建议事前让服务商提供压力测试报告,或者直接问明“清洗是本地集群还是上游运营商”,本地集群响应快,上游清洗容易误伤且延迟高。
- 看IP是否支持“弹性回源”,高防IP需要把回源IP配置成你服务器的私网IP,这样才能隐藏源站,如果服务商不允许你换源站IP,或者回源带宽只有10M,那效果大打折扣。
- 看有没有“CC防护策略定制”,流量型攻击好防,CC攻击(应用层攻击)才头疼,好一点的高防产品能让你自主设置“访问频率阈值”(比如同一IP每秒超过5次访问就触发验证码或拦截),这比固定规则聪明得多。
如果你只是在本地机房或者家用服务器上做个测试环境,没有预算买高防,那至少要做到“设备前有防火墙规则”,比如用Linux服务器的iptables限制单IP并发连接数:
iptables -I INPUT -p tcp --syn -m connlimit --connlimit-above 20 -j DROP
这行命令能限制每个IP最多20个并发连接,秒杀一批小打小闹的SYN攻击,对家庭宽带或中小企业服务器来说,配合宝塔面板之类的工具做个简单防护,能挡住相当一部分脚本小子的骚扰。
事后的加固与溯源
攻击停了不代表事情结束了,如果不加固,下次只会来得更猛。
补上最容易被利用的三块短板:
- 端口暴露面大。 检查服务器防火墙,除了80(HTTP)、443(HTTPS)、22(SSH)之外,其他端口一律对公网关闭,尤其是3389(远程桌面)、3306(MySQL)、6379(Redis),这些是打点利器。
- Nginx/Apache配置不合理。
- 在Nginx的
server配置里加上下面几行,能过滤掉常见的恶意请求头:if ($http_user_agent ~ (sqlmap|nikto|masscan) ) { return 403; } - 限制单个IP的并发请求数,用
limit_req_zone模块,结合limit_req限制每秒只能处理2个请求。
- 在Nginx的
- 缺少自动封禁机制。 用Fail2ban监控SSH登录日志,连续5次失败自动封IP,在
/etc/fail2ban/jail.local里设置:[sshd] enabled = true maxretry = 5 bantime = 3600

溯源方面,别想着反打回去。 攻击者用的都是僵尸网络或伪造IP,你唯一能做的是把攻击始末时间、流量包大小、攻击特征记录下来,这一步主要是为了报警或向IDC服务商索赔,以及调整后续防御策略。
服务器被DDOS攻击后常见问题解答
问:攻击发生后多久能恢复业务?
更换IP和启用高防是即时生效的,但DNS解析刷新需要一点时间,多数情况下10分钟到半小时内能恢复,如果没买高防,只能等运营商黑洞解除(通常24小时),或者接受IP被永久封禁的代价。
问:哪些攻击类型最难防御?
CC攻击比流量攻击更难防,流量型攻击只要堵住带宽就行,而CC攻击的请求看起来跟正常用户没两样,需要结合IP来源、Cookie、JS挑战等综合分析,这也是为什么高防产品里,纯带宽清洗和“高防+CDN+WAF”的价格差了好几倍。
问:香港免备案服务器受到攻击会影响大陆用户访问吗?
会,而且影响更严重,香港机房带宽资源相对紧张,一旦遭受攻击,不仅服务器本身瘫痪,整个机房的用户都可能跟着遭殃,正因为如此,行业共识认为香港服务器被攻击后,机房处理起来往往更果断,甚至直接违规关机不给你缓冲时间,选择地域节点时,要确认机房是否提供兜底的高防资源。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/736607.html

