当网站突然无法访问、加载极慢或服务器资源被占满时,大概率正遭遇DDoS或CC攻击。DDoS通过海量垃圾流量淹没网络带宽与连接数,CC则模拟正常请求疯狂调用动态接口,二者都会让源站瘫痪。分清类型才能对症处理,盲目扩容往往徒劳。

一、先判断攻击类型与影响范围
登录服务器监控面板,观察入站流量、TCP连接数、CPU与内存占用。若带宽被打满但CPU正常,多为流量型DDoS;若带宽不高但CPU、PHP进程或数据库连接暴增,通常是CC攻击。这一步决定后续用清洗还是限流。
同时确认影响面:仅某个区域打不开,还是全网不可达。用第三方测速工具从多节点访问,能快速定位是骨干网拥塞还是源站宕机。记录攻击开始时间与峰值,便于后面联系机房或云厂商追溯。
二、紧急止损的临时方案
第一时间联系IDC或云服务商开启流量清洗,或把域名CNAME到高防IP。高防节点会过滤畸形包与异常请求,仅回源干净流量。若暂无高防,可临时关闭网站并挂维护页,避免源站持续被耗死。
对CC攻击,先在Web服务器限制单IP并发与请求速率。例如Nginx用limit_req模块,每秒放行十余次便拦截。数据库层加缓存、关慢查询,能大幅削减动态消耗。如下为常见Web层限速参数对照:
| 攻击类型 | 临时手段 | 生效时间 |
|---|---|---|
| 流量型DDoS | 切高防IP或清洗 | 几分钟 |
| CC攻击 | IP限并发+缓存 | 立即 |
| 混合攻击 | 高防+应用限流 | 数分钟 |
三、长期防御架构搭建
把源站IP藏起来,仅暴露CDN或高防节点。用户访问走边缘节点,攻击流量在边缘被吸收。选带DDoS防护的CDN,既能加速又抗打。业务接口加签名与验证码,防止被脚本模拟。
架构上做横向扩展与自动伸缩,后端无状态化,被攻击时可快速加机器。定期压测,清楚自身承受阈值。如下要点需写入运维规范:
- 源站仅允许高防回源IP,其余全拒
- 关键接口限流并监控异常曲线
- 备份与容灾随时可切换
四、恢复后必须做的复盘
攻击停后别急着松懈。导出日志分析攻击特征,如来源AS、User-Agent与请求路径,把这些规则沉淀进防火墙。若频繁被打,考虑购买按量高防,成本远低于业务中断损失。
同时通知用户与合作方,说明已恢复并加固。建立应急群与预案,下次再遇打不开,团队能按步骤在十分钟内部署防护,而不是手忙脚乱。稳定架构来自每次事故后的迭代。