DDoS 攻击是什么:原理、类型与危害一次讲清
DDoS 攻击是分布式拒绝服务攻击:攻击者让大量分散在各地的设备同时向一个目标发送流量或请求,把目标的带宽、连接数或计算资源耗尽,正常用户就访问不了。它不偷数据、不进系统,打的是“可用性”。
DDoS 攻击是什么?DDoS(Distributed Denial of Service,分布式拒绝服务)攻击,是攻击者同时调动大量分散在不同网络里的设备,一起向同一个目标发送流量或请求,把目标的出口带宽、连接表或 CPU 等资源耗尽,让正常用户的访问被“挤”掉。它和盗号、入侵不同:DDoS 不需要进入你的系统,也不拿走任何数据,目的就是让服务停摆。
“分布式”和“拒绝服务”各指什么
把名字拆成两半看:
- 拒绝服务(Denial of Service):结果。服务器、网络或应用因为资源被占满,无法再为正常用户服务。资源可以是带宽、防火墙的连接表、服务器的 CPU 和内存,也可以是 Web 应用的进程数和数据库连接;
- 分布式(Distributed):手段。攻击流量来自成百上千甚至更多的来源,这些来源往往是被入侵后受控的设备,也可能是被利用的公开服务。
“分布式”带来两个直接后果,也是 DDoS 难防的原因:
- 总量大:单台设备的上行带宽有限,但几万台加起来可以远超一个机房的入口带宽;
- 封不过来:来源成千上万,而且很多流量层的攻击源地址是伪造的,在服务器上逐个封 IP 没有意义。
DDoS 攻击是钓鱼攻击吗
不是。DDoS 和钓鱼、木马属于完全不同的两类攻击,目标、手段和防护重点都不一样:
| 攻击类型 | 攻击的是什么 | 要不要进入系统 | 典型结果 | 防护重点 |
|---|---|---|---|---|
| DDoS | 可用性 | 不需要 | 网站打不开、游戏掉线、线路拥塞 | 带宽冗余、清洗、高防、限速 |
| 钓鱼 | 人的判断 | 不需要,骗用户自己交出账号密码 | 账号被盗、资金损失 | 安全意识培训、二次验证、邮件过滤 |
| 木马、入侵 | 系统控制权 | 需要 | 数据被窃取、服务器被控制 | 补丁、最小权限、主机安全、审计 |
| 勒索软件 | 数据可用性 | 需要 | 文件被加密,被要求付赎金 | 备份、隔离、补丁 |
信息安全常用“机密性、完整性、可用性”三个属性来衡量风险:钓鱼和入侵主要威胁机密性与完整性,DDoS 只针对可用性。
两类攻击之间也有联系:发起 DDoS 的设备,大多是先被木马或弱口令入侵后受控的“肉鸡”;也有攻击者先用 DDoS 制造混乱,趁运维忙于处置时尝试入侵。所以“它不是入侵”不等于“攻击期间可以不管安全日志”。
三大类 DDoS 各举一例
按攻击打在哪一层,DDoS 一般分为三类。这里只各举一个例子说明区别,具体机制另有文章展开。
| 类型 | 耗尽的资源 | 例子 | 一句话说明 |
|---|---|---|---|
| 流量型(容量型) | 链路带宽 | UDP 反射放大 | 借助互联网上开放的公共服务,把大量响应流量引向目标,把入口带宽塞满 |
| 协议型 | 连接表、协议栈 | SYN 泛洪 | 大量只发起不完成的 TCP 握手,占满服务器或防火墙的半连接队列 |
| 应用层 | 应用进程、CPU、数据库 | HTTP 泛洪(国内常叫 CC) | 用大量看似正常的网页请求,耗尽 Web 服务的处理能力 |
三类的衡量单位也不同:流量型看 bps(每秒比特),协议型看 pps(每秒包数),应用层看 rps 或 QPS(每秒请求数)。这也是为什么一次“只有几十 Mbps”的攻击照样能让网站瘫痪。
服务器侧会看到什么
运维最先接触的往往是服务器上的异常。不同类型的攻击,症状差别很明显:
| 现象 | 大概率是 | 怎么核实 |
|---|---|---|
| 入向带宽贴着端口上限(如千兆口持续 900 Mbps 以上),ping 大量丢包,SSH 也连不上 | 流量型 | 交换机端口流量图、sar -n DEV 1 看 rxkB/s |
| 带宽不高,但半连接数暴涨,新连接建立不了 | 协议型 | ss -tan state syn-recv | wc -l |
| 系统日志反复出现连接跟踪表已满 | 协议型或大量小包 | dmesg | grep -i "table full" |
| 带宽正常、SSH 正常,只有网站慢或报 502/504,CPU 很高 | 应用层 | 访问日志与应用进程状态 |
| 流量突然从高位掉到接近零,外网全部不通,内网正常 | 公网 IP 可能已被机房或上游黑洞 | 联系机房确认 |
最后一种情况容易让人困惑:服务器上看起来“攻击停了”,其实是机房为保护整体出口,把这个 IP 的所有流量都在上游丢弃了,正常访问也一并被丢弃。
还有一种方向相反的情况:出向带宽突然打满,而业务并没有变化。这往往说明服务器自己被入侵,正在作为肉鸡向外发起攻击,应按入侵事件处理,而不是当成被攻击。
机房侧会看到什么
对 IDC 和机房网络来说,一次攻击的影响面往往超出被打的那台机器:
- 接入端口:被攻击服务器所在的交换机端口入向流量打满,同一交换机上联口的利用率随之飙升;
- 上联与出口:攻击流量超过机房出口或某条线路的容量时,同一出口下的其他客户也会出现延迟升高和丢包;
- 流量分析:NetFlow、sFlow 等采样数据里,大量来源指向同一个目的 IP,协议和端口分布异常集中;
- 防护动作:触发清洗,或者在超过阈值后由机房、上游运营商对该 IP 做黑洞路由;
- 工单和投诉:被攻击客户和受牵连的邻居客户同时报障,客服很容易误判为线路故障。
所以 DDoS 在机房里不是“一台服务器的事”,处置时要同时考虑被打的客户和同一链路上的其他客户。
和其他故障怎么区分
“网站打不开”不一定是被攻击。下面几种情况常被混淆:
| 情况 | 带宽 | 连接与 CPU | 影响范围 | 关键线索 |
|---|---|---|---|---|
| DDoS 流量型 | 入向打满 | 服务器可能并不忙 | 同一线路可能都受影响 | 来源分散、协议集中 |
| 线路或上游故障 | 下降或归零 | 正常 | 整条线路、整个机房 | 多个客户同时受影响,traceroute 中断在上游 |
| 程序缺陷或慢查询 | 正常 | CPU 高 | 单个应用 | 没有异常来源,发布或改动后出现 |
| 正常业务高峰 | 上升 | 上升 | 单个应用 | 有活动、推广等明确原因,访问分布正常 |
| 服务器被入侵后对外发包 | 出向打满 | 有陌生进程占用 | 单台及同端口 | 出向流量异常,业务无变化 |
在机房管理系统里怎么落地
机房侧应对 DDoS,除了清洗和黑洞,还有两件日常工作与管理系统直接相关。一是计费口径:攻击流量是入向的,如果流量池按入站或总流量计量,攻击流量就会算进客户的用量。Toplink DCIM 的流量计费与 95 计费可以按出站、入站、总流量或高值流量分别设定口径,签约时选择和合同一致的方式,减少攻击之后的计费争议。二是出向异常:托管服务器沦为肉鸡后向外发包,带宽自动限速可以按最近几分钟的平均带宽自动把端口限到设定速率,等流量持续回落后再自动解除,避免一台机器拖累整条上联。
常见问题
DoS 和 DDoS 有什么区别?
DoS 是单一来源发起的拒绝服务攻击,一台机器的带宽和发包能力有限,找到来源封掉就能缓解;DDoS 的来源是成千上万台设备,总量大得多,也无法靠封几个 IP 解决。
DDoS 攻击违法吗?
违法。《网络安全法》禁止任何个人和组织干扰他人网络正常功能,情节严重的可能构成破坏计算机信息系统罪;以“压力测试”名义购买攻击服务去打别人同样违法。被攻击时保留流量图、日志和勒索信息,可以向公安机关报案。
个人网站也会被 DDoS 吗?
会。发起小规模攻击的门槛并不高,个人站点、小游戏服务器同样可能因为纠纷或勒索被打。区别在于攻击规模,对方投入越少,攻击越容易在机房一侧被清洗或限制。