服务器被 DDoS 攻击,如何临时开启防护模式?
多数新手第一次遭遇DDoS攻击时,第一反应是重启服务器或联系机房,但这往往解决不了问题。
真正的应急手段是立刻开启临时防护模式,让异常流量在到达服务器之前被过滤掉。
下面讲两种零基础也能操作的方法,按你的服务器环境选一种执行即可。
准备:先确认是否真的被DDoS攻击
打开命令行执行 top,如果看到 %CPU 飙升或大量 SYN_RECV 状态连接,基本可以确认正在被攻击。
更简单的方法是登录云厂商控制台,在安全组或云监控页面查看入流量是否异常超过带宽上限。
确认后再执行下面的操作,不要盲目开启。
方法一:云厂商控制台开启清洗(以阿里云为例)
- 登录阿里云控制台,进入 云安全中心 → DDoS原生防护。
- 找到当前受攻击的实例(公网IP),点击开启清洗。如果找不到入口,可直接在ECS实例详情页 → 本实例安全防护 → 开启DDoS基础防护。
- 系统会弹出提示,默认清洗阈值根据带宽自动调整,一般保持默认即可。点击确认,清洗会在10秒内生效。
腾讯云用户类似: 进入DDoS防护控制台 → IP防护 → 选择IP → 点击开启高防。
注意腾讯云基础防护默认是开启的,如果攻击没被清洗,需要升级到黑洞阈值或购买高防包。
方法二:Cloudflare Under Attack紧急模式(适合域名接入)
- 登录Cloudflare面板,点击对应域名进入Overview。
- 在右侧Quick Actions区域找到Security Level,拖到I'm Under Attack。
- Cloudflare会为所有访客增加一道JavaScript验证(挑战页面),非人类流量会被自动拦截。注意:该模式会弹出验证码,可能影响部分正常用户(如API调用)。建议只开启10-30分钟,等攻击缓解后切回Medium或High。
- 如果攻击持续不减,还可以同时开启Bot Fight Mode或速率限制(Rate Limiting)。
避坑指南:不要做的几件事
- 不要立刻重启服务器。 重启不会停止攻击,反而可能让ssh连不上,更难恢复。
- 不要盲目封IP段。 攻击源IP通常是伪造的,封IP段可能误伤正常用户。正确的做法是让专业清洗设备来过滤。
- 不要关闭防火墙。 如果本身有iptables规则,临时禁用防火墙可能让服务器更脆弱。建议在防火墙里增加限制连接频率,但新手容易写错,优先使用厂商清洗更安全。
- DDOS高防升级要谨慎。 如果攻击超过基础防护额度,厂商会触发黑洞(封掉公网IP),此时需要购买更高规格的防护包。临时防护模式只能挡住小规模攻击,大流量攻击必须升级。
验证防护是否生效
开启后,登录服务器再次执行 top,观察CPU和连接数是否下降。
更可靠的是在云厂商的DDoS监控页面查看流量曲线,如果入流量明显被截断或者降到带宽以下,说明防护生效。
使用Cloudflare的站点可以在Analytics → Security Events中看到被拦截的请求数正在增加。
如果5分钟内攻击仍未缓解,建议立刻联系云厂商售后或升级至永久高防方案。
本文给出的两种临时方法可以帮你争取到处理时间,但长期来看,还需要配置清洗策略、升级带宽或使用高防IP。
如果你正在处理类似问题,建议先按本文步骤走完,再根据实际攻击流量决定下一步方案。
遇到异常时,优先回看避坑说明,不要慌乱操作。