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):​ 将内容缓存到全球各地的节点,用户从最近的节点获取内容,同时也能分散攻击流量。

  • 关闭不必要的服务和端口:​ 减少攻击面。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐