首页›网络安全›第4章 拒绝服务与数据库安全›网络安全技术与实训-第4章-第1节-DoS与DDoS攻击原理及防范

网络安全技术与实训-第4章-第1节-DoS与DDoS攻击原理及防范

第4章 拒绝服务与数据库安全

第4章 拒绝服务与数据库安全

前面讲的攻击,目标都是“拿到东西”——数据、权限、账号。但有一类攻击不图这些,它的目的简单直接:让你的服务用不了。这就是拒绝服务攻击。从 CIA 三要素的角度看,它破坏的正是可用性(Availability)。

一、DoS 与 DDoS:一个人砸场 vs 一群人堵门

  • DoS(Denial of Service,拒绝服务):由单一来源发起,用大量请求或畸形数据包耗尽目标的带宽、连接数或计算资源。特点是容易定位——就是一个 IP 在捣乱,封掉即可。
  • DDoS(Distributed DoS,分布式拒绝服务):由成千上万台被控制的机器同时发起。定位和封禁都变得极其困难,因为攻击源遍布各地,而且大部分是被控制的“无辜”设备。

最贴切的类比是“雇一万人同时打餐厅订餐电话”:电话线全占满,真正的顾客一个也打不进来。而那“一万人”并不是黑客自己的电脑,而是全世界被悄悄控制的普通电脑、服务器和摄像头——它们被称为“肉鸡”。近年来物联网设备(IP 摄像头、路由器)因为默认口令普遍,成了肉鸡的主要来源。

二、两大类攻击手法

类型 原理 典型手法 主要消耗
流量型 用巨量数据包把出口带宽塞满 UDP Flood、ICMP Flood、DNS/NTP 反射放大 带宽资源
协议型 耗尽服务器的连接表 / 半连接队列 SYN Flood 连接数资源
应用型 用看起来“合法”的请求消耗业务处理能力 CC 攻击(频繁请求搜索、登录等重负载页面) CPU / 数据库

SYN Flood 值得单独说一下原理,因为它和第 2 章讲端口扫描时提到的“半开扫描”是同一个动作:

正常建立 TCP 连接需要三次握手——客户端发 SYN,服务端回 SYN+ACK 并把这条连接放进“半连接队列”等待确认,客户端再回 ACK,连接才建立。SYN Flood 就是只发第一步,故意不回第三步:服务端傻傻地等着,半连接队列很快被占满,新的正常连接再也排不进来。好比“握手握一半就挂机”,对方一直举着手等,腾不出手接别人。

CC 攻击则是另一种思路:不追求流量大,而是不停地请求那些最费资源的页面(比如复杂搜索、登录验证、报表生成),让服务器的 CPU 和数据库持续满负荷。就像不停问客服各种复杂问题,把客服全部占住。 因为请求本身看起来完全合法,这类攻击特别难靠流量特征识别。

三、防护思路:四层手段配合使用

  • CDN 分流:把静态资源分散到各地节点,攻击流量被分散消化,源站压力大幅下降。这是中小网站最划算的第一层防护。
  • 流量清洗:在流量到达源站之前,用专门的清洗中心识别并丢弃恶意流量,只把正常请求转发进来。
  • 高防 IP:把域名解析到防护节点,源站 IP 被隐藏起来。攻击者打的只是防护节点,源站不再直接暴露。
  • SYN Cookie:针对 SYN Flood 的经典技术手段——服务端不再为每个半连接分配资源,而是把状态编码进 cookie 里,等客户端真正完成握手时再校验。
  • 限速与限流:对单 IP 的请求频率、连接数设上限,配合人机校验(验证码)挡住 CC 攻击。

四、防守方的日常准备

  • 隐藏源站 IP:源站 IP 一旦泄露,高防就形同虚设。注意子域名、邮件头、历史 DNS 记录都可能泄露源站。
  • 提前演练预案:真被打了才想对策一定来不及。谁负责决策、多久切高防、要不要临时关闭某些功能,都要事先定好。
  • 盯住容量水位:带宽、连接数、CPU 的日常水位线要清楚,才能判断“现在是不是不正常”。
  • 别让自己的设备变成肉鸡:修改物联网设备的默认口令、及时升级固件——你少一台被控设备,全网就少一发打向别人的炮弹。

考点提示:DoS/DDoS 破坏的是 CIA 三要素中的可用性。SYN Flood 消耗连接资源,CC 攻击消耗计算资源,两者的防护思路并不相同。

五、配套实训

本章对应 实训 4 · SQL 注入实战与防御对比(本节的 DDoS 部分因涉及大流量,仅在隔离实验环境中做原理演示,不进行实际拒绝服务测试——这既是法律规定,也是实验网络的基本要求)。

在实训中体会“可用性被破坏”时,可以对照第 4 章开头的判断:攻击目标不是偷数据,而是让正常用户用不了——这就是它与其他攻击最本质的区别。

上一篇
下一篇