
1) 【一句话结论】采用“分层防御体系”,结合CDN流量清洗、负载均衡限流、Web应用防火墙规则过滤、业务层熔断降级,从网络层到应用层再到业务层逐级拦截和缓解DDoS攻击,同时通过动态调整策略保证正常用户访问。
2) 【原理/概念讲解】首先解释DDoS攻击类型:Volumetric(如UDP flood)消耗带宽;Protocol(如SYN flood)消耗连接资源;Application(如CC攻击,模拟正常请求)。防御需分层:
3) 【对比与适用场景】
| 防御手段 | 定义 | 特性 | 使用场景 | 注意点 |
|---|---|---|---|---|
| CDN | 内容分发网络 | 负载均衡,缓存静态资源 | 静态资源加速,缓解源站压力 | 需要配置缓存策略,动态内容需回源 |
| WAF | Web应用防火墙 | 检测并阻断恶意请求 | 防止SQL注入、XSS等 | 需要更新规则,可能误报 |
| 负载均衡(如Nginx) | 负载分发 | 限流、健康检查 | 分发请求,保障服务可用性 | 需合理配置限流阈值,避免正常请求被限流 |
| 业务熔断 | 服务降级 | 动态控制服务调用 | 防止服务雪崩 | 需设置熔断阈值,攻击结束后恢复 |
4) 【示例】以Nginx负载均衡为例,配置限流:
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=100r/s;
server {
listen 80;
location / {
limit_req zone=one;
# 后续业务逻辑
}
}
}
这表示每秒允许1000个请求,超过则返回429(Too Many Requests),由CDN或WAF进一步处理异常流量。
5) 【面试口播版答案】面试官您好,针对高并发下的DDoS防御,我会采用分层防御策略,从网络层到应用层再到业务层逐级处理。首先,部署CDN(如阿里云的WAF+CDN),利用其流量清洗功能,将异常流量(如SYN flood、UDP flood)导向清洗中心,过滤后仅将正常流量回源到源站。接着,在源站前端部署负载均衡器(如Nginx),通过令牌桶算法实现限流,比如每秒允许1000个请求,超过则返回429,避免源站过载。同时,配置Web应用防火墙(WAF),使用预定义规则(如SQL注入、XSS)拦截恶意请求,并配合业务层熔断机制,当请求超时或错误率超过阈值时,暂时停止服务,防止雪崩。这样,正常用户请求能通过CDN加速和负载均衡分发,而攻击流量被逐级拦截,保证系统稳定。
6) 【追问清单】
7) 【常见坑/雷区】