文章资讯 / 常见问题 / 服务器被DDoS的应急处理:开启云防护+清洗流量+临时更换IP的三步方案

服务器被DDoS的应急处理:开启云防护+清洗流量+临时更换IP的三步方案

发布时间: 分类:常见问题 作者:188mi 来源:互联网 阅读:101

服务器被DDoS,先别急着重启:按开启云防护、清洗流量、必要时临时更换IP的顺序处理,多数攻击能在十几分钟内恢复可访问。

先判断:是攻击流量,还是业务本身的突发

打开服务器先别急着重启服务,重启只会把现场证据清掉。用几条命令快速分辨:

  • ss -s 看当前连接总数与 TIME_WAIT、SYN-RECV 的数量;
  • netstat -an | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head 看单 IP 连接数排名;
  • tail -n 2000 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head 看请求来源分布。

如果带宽被跑满、并发连接数陡增、大量 SYN_RECV,通常是流量型攻击;如果连接数正常但请求量集中在少数 URL,多半是应用层 CC。这一步的判断结果直接决定后面走哪条路:流量型优先靠云防护和清洗,应用层要配合 WAF 规则、限速和验证码。

第一步:先把云防护打开,把入口抬到云上

攻击已经在打了,第一件事不是换 IP,而是让流量先经过一层能扛的入口。

  • 阿里云:控制台 → DDoS 防护 → 防护对象,把源站 IP 或 EIP 加进去;域名走 WAF 的,在 Web 应用防火墙里添加域名并解析到 WAF 的 CNAME。
  • 腾讯云:大禹 DDoS 高防 / WAF 控制台添加防护资产,按提示把 DNS 解析切到高防 IP 或 CNAME。
  • Cloudflare 这类境外 CDN:安全级别调到较高档,必要时开启 I'm Under Attack 模式,靠浏览器校验挡掉一批自动化请求。

两个容易踩的坑:一是防护还没生效就急着改 DNS,结果流量绕开防护直接打源站;二是源站 IP 本来就暴露在公网,攻击者绕过 CNAME 继续打,这种情况后面必须换 IP。另外一个提前动作很关键——把域名的 DNS TTL 提前调到 60 秒左右(具体最小值以 DNS 服务商页面为准),后续换 IP 才能几分钟内生效。还要提醒一句:开启云防护之后,源站的安全组、宝塔面板的防火墙规则要保持一致,否则清洗节点回源被拦,页面会出现间歇性 502,很容易被误判成攻击还在继续。

环节二:接上流量清洗,确认阈值与回源策略

云防护接好只是第一步,清洗是否真的触发要看配置。

清洗阈值通常按购买的基础防护带宽设定,超出才牵引清洗。攻击流量不大但很密集时,默认阈值可能不触发,需要手动把阈值调低,或直接开启强制清洗。清洗流量之后,回源链路上还要注意三件事:

  1. 白名单要放行云清洗节点的回源 IP 段,安全组、iptables、宝塔防火墙都检查一遍,否则清洗后的干净流量会被自己的防火墙拦掉。
  2. 打开真实 IP 获取(X-Forwarded-For 或厂商提供的真实 IP 模块),不然日志里全是清洗节点地址,后续排查无从下手。
  3. 关注清洗带宽、放行带宽和回源 QPS 三个指标,清洗带宽明显下降说明攻击在退,回源 QPS 异常升高则可能是攻击穿透了。

如果是应用层攻击,光清洗没用,还要在 WAF 里配置 URL 限速、人机校验和 CC 防护规则;简单的做法是先对高频接口加验证码,再逐条收紧规则,避免误伤正常用户。

阶段三:源站加固,必要时临时更换 IP

如果攻击明确打在源站 IP 上,说明 IP 已经泄露,再贵的清洗也没用,只能换。

换 IP 的流程节点大致是:新 IP 先把环境部署好并本地自测 → 安全组只放行清洗节点回源 → 修改 DNS 的 A 记录 → 观察十几分钟到半小时 → 老 IP 的解析缓存过期后再下线。老 IP 上继续有攻击流量是正常的,只要不影响新 IP 就行。

不管换不换 IP,源站都应该只允许清洗节点回源。示例:

iptables -A INPUT -s <高防回源IP段> -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j DROP

用 CDN 的站点可以换成高防 CDN,或者直接把静态资源全量推到对象存储,减少源站的带宽压力。

收尾验证:确认恢复,并留下复盘记录

攻击缓解后不要立刻关防护,先做几项验证:

  • curl -o /dev/null -s -w "%{http_code} %{time_total}\n" https://example.com 看响应码和耗时是否回到正常量级;
  • 在服务器上重新统计连接数,确认没有异常 IP 反复出现;
  • 检查搜索引擎抓取是否恢复,用 百度收录批量查询 对比攻击前后的收录情况,用 DNS解析查询 确认解析已经指向防护入口或新 IP。

最后把时间线记下来:什么时候开始、什么时候触发清洗、什么时候恢复、损失大概什么量级。这份记录是决定要不要长期买高防、要不要拆分源站架构的依据。如果攻击在几天内反复出现,说明对方盯着你的 IP 或域名,这时候要考虑长期接入高防,或者把源站放到高防回源白名单之后,不再对外暴露真实地址。

相关工具与阅读