1.定义和防御:
DDos攻击(分布式拒绝服务攻击)的核心是堵死目标服务器,使其无法正常为用户提供服务。
可以理解成一场恶意的"交通事故"或者"虚假订单轰炸",攻击者利用虚假的请求瞬间耗尽目标的网络宽带或系统资源。
防御:主要是**"扩容"** 和**"清洗"**。就像拓宽马路(增加带宽)、在入口设置检查点(高防IP/防火墙)识别并拦截那些假车牌的车辆,只允许真顾客进入。
2.核心机制与类比:
正常访问:就像你开车去商场,刚好有停车位,你就顺利进入。
DDos攻击:攻击者雇佣了成千上万的空车(全球各地的"肉鸡"或着僵尸网组成),同时涌向上次的停车场入口。这些车不购物,就堵在商场门口或占满停车场。
结果:正常的用户被堵在路上,无法进入,商场(服务器)虽然还在运行,但因为入口已经被堵死,实际上已经"瘫痪"。
3.常见的攻击类型:
流量型攻击(堵管道):发送远超服务器宽带处理能力的垃圾数据,像洪水一样冲垮网络通道。
协议型攻击(耗资源):利用服务器处理连接时的漏洞,发送大量半开连接,耗尽服务器的连接池或CPU内存。
应用型关键(耗逻辑):模拟真实访问,但请求极其消耗算力的操作(如复杂操作),让服务器CPU跑满而死机。
分界线:上面的简单理解,下面进行详细理解
4.核心思想:
利用大量的"傀儡"计算机(通常称为"肉鸡"或者"僵尸网络"),向目标服务器发送海量的请求和数据,使其资源(如宽带,CPU,内存,连接数等)被耗尽,从而无法正常响应合法用户请求。
1.攻击的武器库:僵尸网络
这是 DDoS 攻击的基础。攻击者不会只用自己的一台电脑去攻击,因为那样很容易被识别和拦截,而且力量太小。
僵尸网络:攻击者通过恶意软件(如病毒、木马)感染了全球成千上万台计算机、服务器,甚至是物联网设备(如智能摄像头、路由器)。这些设备的主人通常不知道自己的设备已被控制。
运作:当攻击者需要发动攻击的时候,会通过一个"命令与控制"(C&C)服务器向这些僵尸网络发送指令。所有被感染的设备会同时在几乎同一时间向目标发起攻击。
2.攻击的三个阶段:
DDos攻击流程:
准备阶段:攻击者构建或租用僵尸网络。
攻击阶段:攻击者指挥僵尸网络向目标发送海量请求。
持续和结束阶段:攻击会持续一段时间,直到目标的防御措施无效。
3. 常见的攻击类型(
1. 流量型攻击 (Volumetric Attacks)
-
目标: 耗尽目标网络的带宽。
-
**原理:** 发送远超目标网络处理能力的数据包。就像往一个水管里拼命注水,直到水管爆裂或水流完全堵塞。
-
常见手段:
-
**UDP 洪水攻击 (UDP Flood):** 发送大量的 UDP 数据包到目标的随机端口。目标系统会检查这些端口,发现没有应用程序在监听,就会返回"目标不可达"的 ICMP 包,这个过程消耗了系统资源。
-
**ICMP 洪水攻击 (ICMP Flood / Ping Flood):** 发送大量的 ICMP Echo 请求(ping 请求)。目标系统需要处理和响应每一个请求,消耗 CPU 和带宽。
-
2. 协议型攻击 (Protocol Attacks)
-
目标: 耗尽目标服务器的连接资源(如连接表、CPU 处理能力)。
-
**原理:** 利用网络协议的弱点,发送大量半开连接或畸形数据包,使服务器忙于处理这些无效连接,无法处理新的合法连接。
-
常见手段:
-
**SYN 洪水攻击 (SYN Flood):** 这是最经典的 DDoS 攻击之一。它利用了 TCP 三次握手的机制。
-
正常三次握手:客户端发送 SYN -> 服务器回复 SYN-ACK -> 客户端回复 ACK。
-
SYN 洪水攻击:攻击者发送大量 SYN 包,但不完成第三次握手(不发送 ACK)。服务器会为每个 SYN 包分配资源(如半开连接队列),并等待 ACK。当队列被填满,服务器就无法接受新的连接了。
-
-
**ACK 洪水攻击 (ACK Flood):** 发送大量 ACK 包,试图压倒防火墙或服务器处理确认包的能力。
-
3. 应用型攻击 (Application Layer Attacks)
-
目标: 耗尽目标服务器的应用层资源(如 Web 服务器进程、数据库查询能力)。
-
**原理:** 模拟正常的用户请求,但请求的是服务器上非常消耗资源的操作(如复杂的数据库查询、大文件下载、动态页面生成)。这些请求看起来像合法流量,更难被防御。
-
常见手段:
-
**HTTP GET/POST 洪水攻击:** 发送大量的 HTTP GET 或 POST 请求。例如,请求一个需要服务器进行复杂计算的动态页面,或者请求一个巨大的文件。
-
**Slowloris 攻击:** 攻击者打开大量到目标服务器的连接,并尽可能慢地发送 HTTP 请求头。服务器会保持这些连接打开,等待请求完成。当连接数耗尽,服务器就无法接受新的连接了。
-
5. 如何防御 DDoS 攻击?
防御 DDoS 是一个复杂的系统工程,通常需要多层防护:
-
**增加带宽和服务器资源:** 这是最基础的方法,但如果攻击流量远超你的带宽上限,就没用了。
-
**流量清洗 (Traffic Scrubbing):** 使用专业的 DDoS 防护服务(如 Cloudflare, Akamai, 阿里云 DDoS 高防等)。这些服务会将你的流量先引导到他们的清洗中心,识别出恶意流量并过滤掉,只将干净流量转发给你的服务器。
-
**负载均衡 (Load Balancing):** 将流量分散到多台服务器上,避免单点故障。
-
**防火墙和入侵防御系统 (IPS):** 配置规则来识别和阻止异常流量模式。
-
**速率限制 (Rate Limiting):** 限制单个 IP 地址在特定时间内的请求次数。
-
**内容分发网络 (CDN):** 将内容缓存到全球各地的节点,用户从最近的节点获取内容,同时也能分散攻击流量。
-
**关闭不必要的服务和端口:** 减少攻击面。
