
1) 【一句话结论】
采用“流量层清洗+应用层防护+业务层负载均衡”的三层防御架构,通过CDN(流量清洗与缓存)、WAF(应用层规则过滤)、反向代理(负载均衡与会话保持)协同,从网络、应用、业务层面层层拦截高并发DDoS攻击,确保系统在高负载下稳定运行。
2) 【原理/概念讲解】
首先解释DDoS攻击类型:
各组件作用:
类比:CDN像“城市交通的快速路入口”,提前把热门资源存到离用户近的节点,减少主干道压力;WAF像“机场安检的专家”,检查每个请求是否合规(如是否有恶意代码);反向代理像“智能调度员”,根据服务器负载情况分配请求,同时记住每个乘客的登机口(会话保持),确保乘客(用户)的行程(请求)不中断。
3) 【对比与适用场景】
| 组件 | 定义 | 核心功能 | 使用场景 | 注意点 |
|---|---|---|---|---|
| CDN | 内容分发网络 | 边缘缓存、负载均衡、初步流量清洗(限速、黑名单) | 静态资源分发、缓解流量型DDoS(如UDP flood) | 需与源站解耦,缓存策略影响资源更新效率(如CDN缓存静态资源,更新时需清除缓存) |
| WAF | Web应用防火墙 | 应用层规则过滤(SQL注入、XSS、CC、协议型攻击检测) | 应用层攻击防护(如CC攻击、SQL注入、SYN flood检测) | 规则库需定期更新(如0-day漏洞规则),可能误报(需白名单优化) |
| 反向代理 | 如Nginx、HAProxy | 负载均衡(最少连接、加权轮询)、会话保持、请求转发 | 高并发请求分发、应用层负载均衡 | 负载均衡算法选择影响性能(如高并发下最少连接更优),会话保持需一致性(故障恢复策略) |
4) 【示例】
请求流程伪代码(包含协议型攻击防御):
客户端请求:GET /login?username=admin&password=123
处理流程:
1. CDN边缘节点:
- 检查黑名单:IP 192.168.1.1在黑名单中,丢弃请求。
- 限速:当前IP请求速率110次/秒 > 阈值100次/秒,丢弃。
- 缓存静态资源:/login.html已缓存,直接返回静态文件。
2. WAF处理:
- SQL注入检测:参数password中包含' or 1=1 --,触发规则,拦截。
- SYN flood检测:当前IP SYN请求速率1200次/秒 > 阈值1000次/秒,拦截。
3. 反向代理分发:
- 服务器1连接数50,服务器2连接数30,服务器3连接数20(最少连接算法),分发至服务器3。
- 粘性会话:设置cookie session_id=abc123,固定用户请求到服务器3。
4. 应用服务器处理:
- 服务器3验证登录成功,返回页面。
5) 【面试口播版答案】
(约90秒)
“面试官您好,针对高并发DDoS攻击,我设计的防护系统采用分层防御架构。首先,通过CDN边缘节点实现流量清洗与缓存,将用户请求引导至最近节点,减少源站压力,边缘节点可执行初步限速(每秒100请求)和黑名单过滤(恶意IP列表)。接着,部署WAF在反向代理后,基于应用层规则(如SQL注入检测、CC攻击限速)过滤恶意请求,同时配置协议型攻击检测(如SYN flood阈值拦截)。反向代理采用最少连接算法(优先分发至负载较轻的服务器),并通过粘性会话(session_id)保持用户会话,服务器故障时通过Redis同步会话数据恢复。多组件协同,从流量层、应用层到业务层层层防御,有效应对流量型、协议型和应用型DDoS攻击。”
6) 【追问清单】
7) 【常见坑/雷区】