0%

2024-05-19 记一次网站被 DDoS(CC)攻击 的过程和应对方案

2024-05-19 记一次网站被 DDoS(CC)攻击 的过程和应对方案

2024 年 5 月 20 日修正

根据评论的指正,现作如下更正:

实际上对单纯的网页/CDN 进行攻击也可以叫 CC 攻击,本人所遭受的攻击称为 CC 攻击更为准确。

CC 攻击( ChallengeCoHapsar,挑战黑洞 )是 DDoS 攻击的一种常见类型,攻击者借助代理服务器生成指向受害主机的合法请求,实现 DDOS 和伪装。

CC 攻击现象:

  1. 网站服务器的流量瞬间可达到几十 M 以上,网站打不开;
  2. 查看日志,发现不同的 IP 都反复访问一个相同的文件;

参考链接:都是攻击,DDoS 攻击和 CC 攻击有啥区别?

什么是 CC 攻击?

哈喽,大家好,我是草梅友仁。

这周三(5 月 15 日)起来的时候,突然发现收到了阿里云的短信,说是 CDN 的下行流量包余量不足了。

Screenshot_2024-05-19-23-00-50-69_cf3cf72bd8e53b0

啪的一下,很快啊,我就上阿里云后台看了一下。

结果,当场傻眼了。

image-20240519230220254

5 月 14 日到 5 月 15 日这两天里,CDN 请求量居然达到了 316 万次!

要知道,平常一个月也就 10 万次上下,这一次用了快 3 年的量!

很显然,这是被人 DDoS 了。

平常只在别人的文章里见过的 DDoS,现在自己亲自遇到了,才知道不好受。

这时我才意识到阿里云这个提醒是干嘛的。

image-20240519231052778

那么,第一个问题,什么是 DDoS?

什么是 DDoS

分布式拒绝服务(Distributed Denial of Service,简称 DDoS)将多台计算机联合起来作为攻击平台,通过远程连接利用恶意程序,对一个或多个目标发起 DDoS 攻击,耗尽目标服务器性能或网络带宽等资源,从而造成服务器无法正常地提供服务的攻击手段。

参考:什么是分布式拒绝服务(DDoS)攻击?

简而言之,DDoS 攻击并不需要什么特殊的方式,只要不停的访问你的接口/资源,将 CPU/带宽等资源耗尽,就能让你的服务无法正常运行。

如何应对 DDoS

先说结论吧,个人服务器,或者说单独的少数服务器,是绝对无法应对 DDoS 的。

原因很简单,个人服务端的配置一般较低,CPU/内存/带宽等资源都很少,很容易被 DDoS 攻击耗尽资源。同时,个人也很难承担 DDoS 带来的损失。

故,要想应对 DDoS,只能借助云平台提供的服务。

通过 CDN 保护源站

由于源站比较脆弱,所以可以通过在前面加一层来保护源站。例如加上 CDN,这样攻击者就只能攻击到 CDN,而无法攻击到源站,从而保护服务器。

有关如何配置 CDN 请参考:《2023-03-29 如何在阿里云 OSS 配置 CDN》

通过 WAF 保护 CDN

但由于 CDN 本身也是要付费的,所以 CDN 本身也是有可能被恶意刷流量,导致高额账单的,所以还需要通过 WAF 来保护 CDN 的安全。

关于 边缘WAF 是什么,请参考:边缘 WAF 概述(新版)

DCDN 结合边缘 Web 应用防火墙 WAF(Web Application Firewall)能力,在 DCDN 节点上提供 WAF 防护功能,可以有效识别业务流量恶意特征,将正常、安全的流量回源到服务器。避免网站服务器被恶意入侵,保障业务的核心数据安全,解决因恶意攻击导致的服务器性能异常问题。

image-20240519231917196

比较幸运的是,这次的攻击全部来自一个网段,即 61.186.41.0/24,所以可以在 WAF 的防护策略中一次性把全部的 IP 都加入黑名单。

image-20240519232109017

这样就可以在 WAF 的层面将攻击全部拦下,从而保护 CDN 的安全。

截止本文发布时间(2024 年 5 月 19 日),WAF 已拦截下近 1965 万次攻击!

image-20240519232243224

截止攻击结束时(2024 年 5 月 20 日),WAF 累计拦截近 2379 万次攻击!

image-20240522011300402

开启 DDoS 防护

虽然 WAF 也可以拦截攻击,但对于大流量攻击,还得上 DDoS 防护。

参考:边缘 DDoS 防护

不过由于 DDoS 防护的价格实在太高,远不是个人可以承受的,一般只有公司才有这个需求,所以就不采用这个方案了。

image-20240519232734080

诉诸法律手段

前面的方案都是技术上的,还是被动应对,因此,如果遭受的损失较大(几千、几万元),还可以考虑诉诸法律手段。

《中华人民共和国刑法》的相关规定:

第二百八十五条规定,非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪;提供侵入、非法控制计算机信息系统程序、工具罪是指,违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。

违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

提供专门用于侵入、非法控制计算机信息系统的程序、工具,或者明知他人实施侵入、非法控制计算机信息系统的违法犯罪行为而为其提供程序、工具,情节严重的,依照前款的规定处罚。

单位犯前三款罪的,对单位判处罚金,并对其直接负责的主管人员和其他直接责任人员,依照各该款的规定处罚。

参考:非法侵入计算机信息系统罪

故 DDos 攻击是直接违反了上述法条的,理论上讲是可以判刑的。

不过,这只适用于攻击方在国内的情况,如果攻击方在国外,也拿他们没什么办法。

但是!

幸运的是,通过查询 IP 属地,我发现攻击我 CDN 的 IP 在国内!

image-20240519233627087

所以,原则上讲是可以直接向当地的网警报案的。

不过,由于报案多少有点麻烦,加上实际损失很小(几十块钱的流量费),实在不值得折腾。

加上对方也有可能只是挂了个代理到这个 IP,所以就算报案了也未必能得到处理。

(但如果对方一直攻击的话,最好还是报案处理。)

总结

以上就是笔者最近遭受 DDos 攻击的过程,和一些应对方案。

老实说,DDos 攻击是阳谋,对攻击方来讲成本很小,但对防守方来说成本却很高。

正所谓“害人之心不可有,防人之心不可无”,我们能做的也就是不去 DDos 别人,但也要有防范别人 DDos 自己的可能性。

希望看到这篇文章的读者朋友们不会有相同的经历。

本文作者:草梅友仁
本文地址: https://blog.cmyr.ltd/archives/7b99b82a.html
版权声明:转载请注明出处!

坚持原创技术分享,您的支持将鼓励我继续创作!