P72 什么是 DDoS 攻击?又该如何防御 DDoS 攻击?
面试题:什么是 DDoS?遇到 DDoS 攻击怎么防御?
1. 什么是 DDoS
Distributed Denial of Service(分布式拒绝服务):攻击者控制大量"肉鸡"(僵尸网络),同时向目标发送海量请求/数据包,耗尽带宽、连接、CPU 等资源,让正常用户无法访问。
常见类型:
- 流量型(L3/L4):UDP Flood、ICMP Flood、SYN Flood(打满带宽/连接表);
- 连接型:大量建立半连接(SYN Flood 占满半连接队列);
- 应用型(L7):HTTP Flood(CC 攻击)、慢速攻击(Slowloris 占住连接不放)。
2. 防御手段(分层)
① 网络/基础设施层
- 高防 IP / 高防机房:把流量引流到清洗中心,识别并丢弃攻击流量(最常见方案);
- CDN 分流:静态资源走 CDN,源站 IP 不暴露;
- 云厂商 DDoS 防护(阿里云、腾讯云高防);
- 黑洞/限速:超大流量直接丢弃保护机房(最后的兜底)。
② 传输层
- SYN Cookie:不分配资源直到握手完成,防 SYN Flood;
- 调整半连接队列、
tcp_syncookies、tcp_max_syn_backlog; - 防火墙/路由器限速(ACL、QoS)。
③ 应用层
- 限流:IP/用户维度限流(令牌桶、滑动窗口);
- 验证码/人机校验:过滤刷接口的机器流量;
- WAF:识别 CC 攻击特征(高频同 URL、异常 UA);
- 业务层隔离:核心接口与展示接口分离,降级非核心功能;
- 弹性扩容:云上自动扩容扛突发。
④ 架构层
- 源站隐藏:Nginx 只放行 CDN/WAF 回源 IP;
- 多机房/多区域容灾;
- 监控告警:流量、连接数、错误率异常时自动触发防护策略。
3. 加分点
- 能区分流量型 vs 应用型攻击,防御手段不同;
- 强调"防御 DDoS 没有银弹":带宽型攻击靠运营商/云清洗,应用型靠 WAF+限流;
- 提到成本和收益:高防有成本,按业务价值选择防护级别;
- 平时做好监控和预案,攻击来了先保核心业务。
一句话总结
DDoS 是僵尸网络发起的资源耗尽攻击;防御分层:云高防/CDN 清洗流量、SYN Cookie 防连接洪泛、WAF+限流+验证码防应用层 CC、源站隐藏和弹性扩容兜底,核心是"让攻击流量到不了核心服务"。