21 10 月 2026
本文由财富云计算提供,我们提供高防服务器与 CDN 防护服务,NAT 型无独立公网 IP 价格比独立 IP 省一半以上,紧急情况可直接联系我们协助处置。

〇、一分钟速查(被攻击时先看这)

阶段动作用时
1. 确认ping + SSH + 看日志,判断攻击类型2 分钟
2. 止损应用层先限流;流量层先引流(切高防/CDN)5 分钟
3. 通知用户/玩家/内部,公告「预计恢复时间」3 分钟
4. 引流DNS 切高防/CDN(TTL 提前调短过)10 分钟
5. 恢复攻击结束,全功能验证,复盘30 分钟

总目标:15 分钟内业务止血,1 小时内基本恢复。

一、阶段 1:确认攻击(别慌乱操作)

被攻击时最大的风险是瞎操作把情况搞更糟。先确认:

1.1 三连问

# ① 带宽层还是应用层?
ping 你的域名            # 不通 = 带宽/协议层;通 = 应用层
curl -o /dev/null -w "%{http_code} %{time_total}\n" https://你的域名/

# ② SSH 能连吗?
ssh user@服务器          # 能连 = 还有救,别急着重装
                             # 不能连 = 大流量攻击或黑洞了

# ③ 什么请求在打?
ss -s                   # 连接总数
tail -500 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head

1.2 攻击类型判定表

pingSSH带宽/CPU日志形态结论
不通不能带宽 100%连不上看不到大流量 DDoS → 引流
通卡但能进带宽不高,半开连接多SSH 日志新连接暴涨SYN Flood → 限流+SYN Cookie
通正常CPU 高、PHP 进程满单 IP 或全站请求暴涨HTTP CC → Nginx 限流
通正常CPU 正常、连接数中等established 多但日志冷清慢速攻击 → 收紧超时
通正常正常大量 404 扫路径扫描器 → 别管它,fail2ban 会封
通正常短信费暴涨/sms 接口异常精准打计费接口 → 接口限流

1.3 截图留证(顺手做)

# 攻击证据:后续报警/找商家/复盘都要用
ss -s > /tmp/attack-$(date +%F-%H%M)-ss.txt
netstat -s > /tmp/attack-netstat.txt
tail -5000 /var/log/nginx/access.log > /tmp/attack-access.txt
dmesg > /tmp/attack-dmesg.txt

二、阶段 2:止损(按攻击类型分流程)

2.1 大流量 DDoS(ping 不通)

普通机器扛不住,别在服务器上折腾,直接引流:

  1. 域名 TTL 是否已调短(提前做过的话 10 分钟生效)?现在改也来得及,下次生效
  2. DNS 切到 CDN 或高防 IP(HTTP 业务切 CDN;游戏直连高防)
  3. 没有高防?联系云商家「遭受 DDoS 攻击,申请临时防护/引流」——主流商家都有基础防护,超出部分黑洞但比裸奔强
  4. 通知用户攻击情况

2.2 SYN Flood / 协议层

# 本机三板斧(能 SSH 的情况下)
sysctl -w net.ipv4.tcp_syncookies=1          # 开 Cookie
sysctl -w net.ipv4.tcp_max_syn_backlog=8192  # 队列加大
sysctl -w net.ipv4.tcp_synack_retries=2      # 快速释放半开

# iptables 限流(没配过的话现在加)
iptables -N SYN_FLOOD
iptables -A INPUT -p tcp --syn -j SYN_FLOOD
iptables -A SYN_FLOOD -m limit --limit 50/s --limit-burst 100 -j RETURN
iptables -A SYN_FLOOD -j DROP

(详见SYN Flood 专题)

2.3 CC / HTTP Flood

# Nginx 紧急限流(30 秒生效)
cat > /etc/nginx/conf.d/emergency.conf << 'EOF'
limit_req_zone $binary_remote_addr zone=emergency:10m rate=10r/s;
server {
    location / {
        limit_req zone=emergency burst=20 nodelay;
        limit_req_status 429;
    }
}
EOF
nginx -t && systemctl reload nginx

如果是打某个具体接口,单独给那个 location 上更狠的限流(CC 变种篇第三节)。

2.4 慢速攻击

# 收紧超时
sed -i 's/client_header_timeout .*/client_header_timeout 5s;/; s/client_body_timeout .*/client_body_timeout 5s;/; s/keepalive_timeout .*/keepalive_timeout 15s;/' /etc/nginx/nginx.conf
nginx -t && systemctl reload nginx

2.5 精准打接口(短信/登录/搜索)

# 接口级熔断:直接返回维护中(保命优先)
location = /api/sms/send {
    return 503 '{"code":503,"msg":"服务繁忙"}';   # 短信接口关掉,话费保住了
}
location = /login {
    limit_req zone=emergency rate=5r/m burst=2 nodelay;
    proxy_pass http://backend;
}

短信接口被刷时,第一动作是熔断接口,不是防攻击——每一秒都是真金白银。

2.6 疑似入侵(不只是 DDoS)

攻击有时是掩护。同时检查(详细见应急响应完全手册):

# 可疑登录
last -50
lastb | head -20          # 失败登录记录
grep "Accepted" /var/log/secure /var/log/auth.log 2>/dev/null | tail -20

# 可疑进程
ps aux --sort=-%cpu | head -20      # 挖矿特征:CPU 100% 的陌生进程
ps aux --sort=-%mem | head -10

# 可疑定时任务(挖矿/后门常驻)
crontab -l; ls -la /etc/cron.*; cat /var/spool/cron/crontabs/* 2>/dev/null

# 后门端口
ss -tlnp | grep -v -E ':(22|80|443)\b'

三、阶段 3:通知与公告

别让用户比你先知道。按对象准备不同公告:

对象渠道内容要点
玩家/用户群/站内公告「遭受网络攻击,防护已启动,数据安全,预计 X 小时恢复」
内部工作群攻击类型、当前动作、预计恢复、需要谁配合
商家工单/电话「遭受 X 类型攻击,峰值 X,申请牵引/临时防护」
上游如有支付/短信服务商异常要同步

公告的禁忌:

  • ❌ 别写「被黑客攻击」引发恐慌——「网络攻击」中性
  • ❌ 别承诺「马上恢复」——攻击时长不可控,写「正在处置」
  • ❌ 别沉默——用户自己发现站打不开 + 你不吭声 = 信任危机

四、阶段 4:引流与架构切换

4.1 HTTP 业务切 CDN(最快 10 分钟)

# 前提:TTL 提前调短过(没调过这次改了下次生效)
# 1. DNS 把 A 记录改为 CDN CNAME
# 2. 验证解析生效
dig +short 你的域名          # 应变成 CDN 节点 IP
# 3. 多地验证(用在线 DNS 探测工具)

CDN 切过去,应用层攻击(CC)大部分被节点消化。

4.2 切高防(HTTP + 非 HTTP)

按迁移实操篇走五阶段——但攻击中可以简化:先引流止血,细节后补:

  1. 高防加回源(源站 IP + 端口)
  2. 源站加回源白名单(必须先做,否则切了流量源站全拒)
  3. DNS 切高防 IP(或游戏直连信息改高防 IP + 端口)
  4. 通知玩家新地址(游戏服没有域名,要群发)

4.3 降级预案(业务优先于完美)

业务类型降级姿势
电商关搜索/推荐接口,保下单和支付
社区/论坛关注册/发帖,只读模式
游戏服关公开服务器选项(不被列表收录),好友口令进
API 服务关非核心端点,保核心链路
全站静态维护页「攻击恢复中」+ 联系方式

五、阶段 5:恢复与验证

攻击停止(高防后台「攻击已结束」或流量回落)后:

# 1. 服务状态
systemctl status nginx php-fpm mysql redis

# 2. 全功能验证(重点路径)
# 首页、登录、支付/下单、上传、API、管理后台——逐个点一遍

# 3. 数据完整性(被攻击时可能写入损坏)
mysqlcheck -u root -p --all-databases --auto-repair    # MySQL 修复
# 游戏服:世界文件大小是否异常、启动有无报错

# 4. 日志里的真实 IP 恢复(切过高防/CDN 的)
tail -20 /var/log/nginx/access.log    # 应该看到真实用户 IP(real_ip 配置过的话)

# 5. 限流策略回松(紧急限流调太紧会误伤)
# emergency.conf 的 rate 从 10r/s 逐步调到业务正常值

恢复顺序:先核心业务(钱相关),再完整功能,最后调优。别一次性全放开——攻击者可能回头(多数会)。

六、阶段 6:复盘(攻击后 24 小时内)

复盘项记录内容产出
攻击画像类型、峰值、时长、源分布防护档位依据
响应耗时发现→止血→恢复各多久找出流程瓶颈
暴露面怎么被盯上的(新服宣传?竞对?勒索?)运营改进
防护表现误杀?黑洞多久?告警及时?续费/换商家依据
业务损失掉线时长、用户/订单损失预算申请依据
预案改进这次慌乱在哪更新 SOP

把复盘点写进团队文档——第二次被攻击时,这份文档就是你的预案(大促预案篇)。

七、工具与资源速查

# 攻击中常用命令合集
ss -s                                          # 连接总览
ss -tn state syn-recv | wc -l                  # 半开连接(SYN Flood)
ss -tn state established | wc -l               # established(慢速攻击)
netstat -s | grep -iE "syn|drop|prune"         # 内核计数器
tail -f /var/log/nginx/access.log | awk '{print $1}' | uniq -c   # 实时请求来源
tcpdump -i eth0 -c 100 -nn                    # 抓包(eth0 按实际网卡)
dmesg -T | tail -50                            # 内核日志(OOM/防火墙日志)
iptables -L -v -n                              # 规则命中统计
fail2ban-client status                         # 封禁状态

八、预案模板(抄这个改成你的)

# XX业务 网络攻击应急预案

## 联系人
- 技术负责人:___ 手机:___
- 云商家工单:___
- CDN/高防值班:___

## 资产清单
- 主站:域名___ 源站IP___ 
- 备份站:___
- 游戏服:IP___ 端口___

## 分级响应
- 小攻击(限流能扛):运维处理,不升级
- 中攻击(CC 变种):切 CDN + 收紧规则,通知负责人
- 大攻击(带宽层):切高防 + 公告,全员待命

## 切换步骤
1. TTL 调短(___)
2. DNS 切 CDN(操作人:___)
3. 源站白名单(操作人:___)
4. 公告模板:___

## 回滚步骤
1. ___
2. ___

九、小结

应急响应六阶段:确认(2 分钟判定攻击类型)→ 止损(按类型分流:引流/限流/熔断)→ 通知(用户和内部同步)→ 切换(DNS 切 CDN/高防)→ 恢复(核心功能优先验证)→ 复盘(24 小时内更新预案)。核心原则:流量层攻击别在服务器上挣扎(引流),应用层攻击先熔断贵接口(止损),全程保留证据(日志/截图),攻击后 24 小时内必须复盘(攻击者会回头)。把第六节的预案模板填好存在团队文档里——被攻击时不翻文档,靠的就是肌肉记忆和它。


相关阅读:


本文由财富云计算整理,我们提供高防服务器、CDN 防护与 NAT 型云服务器,无独立公网 IP 机型价格比独立 IP 省一半以上,攻击中需要紧急技术协助的联系我们。更多教程见端口速查表。
延伸阅读
  1. 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
  2. DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
  3. 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
  4. 源站真实 IP 隐藏完全指南:六大暴露面排查+NAT 型终极方案
  5. 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
  6. iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
  7. OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单
  8. Nginx 进阶防护:连接层、请求层、行为层三层生产级配置
更多阅读
  1. 上一篇:iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
  2. 下一篇:日志分析找攻击源:Nginx 日志三维度分析法与证据固定
发表评论 4