服务器被打了怎么处理?应急 5 步操作手册
2026/6/94 阅读
业务突然变慢、CPU 飙到 100%、网卡跑满、用户投诉打不开网站,第一反应不该是关机,而是按部就班排查与切换。
第 1 步:先确认到底是什么问题(5 分钟内)
"服务器慢"可能有 6 种原因,不要直接假定就是 DDoS:
- 带宽跑满 → 看流量监控
- CPU 100% → top / htop
- 内存溢出 → free -h,看 swap
- 磁盘 IO 满 → iostat
- 数据库慢查询 → 看数据库慢日志
- 代码 bug → 看应用日志
关键命令:
top # CPU/内存
iftop # 实时流量
ss -nt # 连接数
netstat -an | awk '/tcp/{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head # 源 IP 排行
第 2 步:是 DDoS 还是 CC?
- DDoS 特征:带宽跑满(机房监控显示入网流量爆表),可能伴随 CPU 高(处理半连接)
- CC 特征:带宽不一定大,但 CPU 飙到 100%(在处理大量 HTTP 请求),nginx access.log 暴涨
看 access.log 短时间内 IP 频次:
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -20
如果 TOP IP 每秒请求数 > 50,几乎可以确定是 CC。
第 3 步:临时缓解
遇到 CC:iptables 限速
# 单 IP 每分钟最多 60 次新连接
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --update --seconds 60 --hitcount 60 -j DROP
iptables -A INPUT -p tcp --dport 80 -m recent --set
遇到 DDoS:直接联系机房
这是用户侧能做的事极少。给机房客服一个电话,描述被打情况,让他们开启高防牵引或临时切到清洗 IP。
第 4 步:紧急切换到高防 IP
如果机房支持 BGP 牵引,几分钟内可以把流量牵引到清洗节点。30 网客户被打时免费临时启用高防牵引。
如果机房不支持,可以临时把域名 DNS 切到一台备用高防服务器上(TTL 短的话 5 分钟生效)。这就是为什么异地灾备很重要——平时多花一台机器的钱,关键时刻救命。
第 5 步:升级到高防套餐
一次被打后,绝大多数业务会被持续打。原因有二:
- 攻击者发现"打你有效果",会一直收钱继续打
- 同行恶意竞争通常会持续几周甚至几个月
如果业务有收入,应该立即升级到 100G 以上的真实高防,避免"修一阵被打一阵"的循环。30 网香港高防 100G 月付 3500,2 天就能拿回这笔投资。
事后复盘清单
- 导出本次攻击时段的流量样本,了解攻击向量(SYN?UDP?CC?)
- 更新 WAF / iptables 规则
- 检查应用层是否有可优化点(数据库索引、缓存命中率)
- 考虑接 CDN(流量大头吸收)
- 建立监控告警(被打第一时间收到通知)
正在被打?右下角联系 30 网客服紧急牵引,5 分钟内业务可恢复。
#应急#DDoS#服务器被攻击#运维