Web安全之DoS与DDoS攻击原理与防御详解
字数 1443 2025-11-15 18:17:24
Web安全之DoS与DDoS攻击原理与防御详解
一、攻击描述
DoS(Denial of Service,拒绝服务攻击) 指攻击者通过耗尽目标系统的资源(如带宽、CPU、内存等),使其无法正常响应合法用户的请求。DDoS(Distributed DoS,分布式拒绝服务攻击) 是DoS的升级形式,通过控制大量“僵尸主机”(如被入侵的服务器或物联网设备)同时发起攻击,形成更大规模的流量冲击,且更难追踪源头。
二、攻击分类与原理
1. 带宽消耗型攻击
- 原理:通过向目标发送大量无效或高流量数据包,占用网络带宽,导致正常请求被阻塞。
- 典型手段:
- UDP Flood:利用无连接的UDP协议发送伪造源IP的大包,目标需消耗资源处理并回复。
- ICMP Flood:发送大量ICMP请求(如Ping包),消耗目标网络资源。
2. 资源耗尽型攻击
- 原理:针对协议漏洞或系统设计缺陷,耗尽目标的计算资源(如CPU、内存、连接数)。
- 典型手段:
- TCP SYN Flood:利用TCP三次握手漏洞,发送大量伪造源IP的SYN包,目标维护半连接队列直至超时,占满连接资源。
- HTTP Flood:模拟正常HTTP请求(如GET/POST),高频访问动态页面或API,消耗服务器处理能力。
- Slowloris攻击:通过缓慢发送不完整的HTTP请求头,保持连接占用,使服务器并发连接数达到上限。
3. 应用层攻击(Layer 7 DDoS)
- 特点:模拟合法用户行为,难以被传统防火墙识别。
- 案例:针对登录接口频繁提交密码、频繁查询数据库的页面请求。
三、攻击步骤(以DDoS为例)
- 渗透控制:攻击者通过漏洞利用、恶意软件感染大量主机,组建“僵尸网络”。
- 命令下发:通过C&C(Command & Control)服务器向僵尸主机发送攻击指令。
- 协同攻击:僵尸主机同时向目标IP或域名发起流量冲击。
- 隐匿追踪:伪造源IP或使用反射放大攻击(如NTP/DNS反射)隐藏真实源头。
四、防御策略
1. 流量清洗与分流
- 原理:通过高防IP或云清洗中心,将流量引导至清洗节点,过滤恶意流量后转发合法流量至源站。
- 技术:
- 特征识别:基于IP信誉库、行为分析识别异常流量。
- 速率限制:对单一IP的请求频率设阈值。
2. 协议优化与资源管理
- SYN Cookie:应对SYN Flood,服务端不维护半连接队列,而是通过加密Cookie验证客户端。
- 连接数限制:对每个IP的并发连接数设限,防止资源独占。
3. 应用层防护
- WAF(Web应用防火墙):检测HTTP Flood、Slowloris等攻击,拦截恶意请求。
- 人机验证:对可疑流量触发验证码(如CAPTCHA),区分真人用户与机器人。
4. 分布式架构与弹性扩展
- CDN加速:分散流量至边缘节点,避免单点瓶颈。
- 自动扩缩容:云服务根据流量自动调整资源,提升抗压能力。
五、面试常见问题
-
如何区分DDoS与常规流量高峰?
- 答:DDoS流量通常来源分散、协议异常(如短时间大量SYN包),而正常高峰流量具有业务相关性(如促销活动)。
-
反射放大攻击的原理?
- 答:攻击者伪造目标IP向公开服务(如DNS/NTP)发送小请求,利用协议特性使回复包远大于请求包(放大效应),洪水般冲击目标。
通过以上分层讲解,可系统掌握DoS/DDoS的攻击逻辑与防护体系,实际面试中需结合具体场景分析防御方案的优缺点。