用的阿里家的云主机,由于本来不是访问量很大的网站,就没有开 WAF ,只开了全站加速
6 日早晨开始遭受 CC 攻击,早上一睁眼发现手机上受到警报信息
大量 IP 针对网站 static 文件夹下的静态文件发起请求,消耗大量流量,短时间内被刷掉几百 G
后台查看 HTTP 服务器的 log 发现是很大数量不同 IP 请求,全世界哪儿的 IP 都有,请求的都是同一个文件,初步看没法封 IP ,就把静态文件给改了个名,这样至少流量就不会掉很快
结果发现,改了文件名返回 404 之后,请求频率就更高了
于是,赶紧开了 WAF,设置对该静态文件的全部请求进行拦截,立杆见影。 同时也发现了两个事实: 1.请求频率差不多是每分钟 3000+ 2.其实只有 1 个 IP 来源,通过 http 头伪造了 IP 。(才想起来,之前看的都是 HTTP log,要是仔细查一下 req 细节,其实就早就明白了)
然后,封 IP 。 由于查到该 IP 是南方某市的,直接打了当地 110 号,但是回复说应就近报警,由我这边 GA 来调查,他们配合
想来也麻烦,目前反馈给阿里家,客服主动开了提交网警的工单,等后续。
1
daimaosix 18 天前 via Android
这不算 CC ,刷点流量报警也没用,上点规则吧,不重要可以不用 dcdn
|
2
BeautifulSoap 18 天前
被拿来刷下载流量平衡流量了?
|
3
LanhuaMa 18 天前
每次看到这种帖子都不是很理解,挂一个 cf 的 cdn 不就解决所有事情了吗,为什么总是想着要裸奔
|
5
billccn 17 天前
这可能都不是 CC ,而是某个人在运行一个 PCDN 刷流量脚本
|
7
manami 17 天前 via Android
fail2ban 写个过滤器,请求频率超出常规的直接封禁
|
8
processzzp 17 天前
@billccn 真相了
|
9
gaobh 17 天前
PCDN 吧,论坛搜一下很多都被刷了
|
10
liuzimin 17 天前 via Android
最近还在猖狂吗?我是 7 月中招的。
|
11
airbo 17 天前
请教一下楼主,怎么看 req 细节看出来这个伪造 ip 的呀。
我之前也遇到过这种的。 |
12
miaoge2024 17 天前 via Android
没破产吗?刷了几百 G?
|
13
skylancer 17 天前
这类帖子其实我最不理解的就是洋洋洒洒所谓查了半天却不愿意第一时间上 ratelimit, 理解不能
|
14
8863824 17 天前
"通过 http 头伪造了 IP"
这是怎么伪造的,ip 不是 ip 层的协议吗? |
15
flyqie 17 天前 via Android
@8863824 #14
建议了解一下 http 协议,因为有 proxy 的存在,所以实际上 http 应用获取到客户端 ip 的方式很多样,如果没做好的话,确实容易被人钻空子,这里说的 ip 应该是 7 层传递过去的。 |
16
fredcc 17 天前 via Android
op 开了全站加速,那么拿客户端 IP 时要用 x-forward-for ,不然拿到的就是 cdn 节点 IP ,但这个字段可以伪造。
阿里云本来就给了 X-Real-IP 字段,这个伪造不了 https://help.aliyun.com/zh/ga/use-cases/preserve-client-ip-addresses |
19
52txr 17 天前
请教一下,Cloudflare 阻断了请求为什么服务器的 cpu 还是会很高?这种情况该如何解决?或者说明明是已经拉黑的 ip ,仍然造成负载
我的服务器:腾讯清凉云 1h2G 目前状态:仍在被攻击 采取的措施:套了 cf ,设置了防火墙规则(根据请求的 ip 和 url 特点进行直接阻断),设置了 cf 的速率限制。把主要的 ip 拉黑了。服务器也进行了设置 ip 黑名单等等 攻击特点:国内 ip 。请求的不是静态资源,而是一个页面 url ,并且带着很多莫名奇妙的参数。例如 fuckyou 、iloveyou 之类的,基本都是 404 响应。例如: 156.38.63.202 - - [06/Dec/2024:09:07:47 +0800] " GET /?action=ajax_search&content=H5V4N&l=2n0W3&nmAvgu=fuckyouhzuCVcUNdg&v=1733208924 HTTP/1.1 " 200 96534 " Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" 61.241.130.31 - - [07/Dec/2024:11:40:41 +0800] " GET /category/7r0BbgD/?_=iloveyouBECAUSEPxwGK&vYnZ_y=iloveyoutxrBECAUSExxz_mcRa HTTP/1.1 " 301 162 " Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)" IP 归属地 请求数 39.145.32.162 安徽 合肥 61,914 39.145.32.31 安徽 合肥 61,554 61.241.130.101 安徽 合肥 26,235 61.241.130.81 安徽 合肥 25,955 61.241.130.166 安徽 合肥 25,831 61.241.130.31 安徽 合肥 25,125 61.241.130.12 安徽 合肥 24,574 117.68.3.38 安徽 合肥 10,437 117.68.3.228 安徽 合肥 10,433 117.68.3.163 安徽 合肥 10,201 117.68.3.39 安徽 合肥 10,123 117.68.3.145 安徽 合肥 9,969 117.68.3.102 安徽 合肥 9,960 117.68.3.224 安徽 合肥 9,875 117.68.3.229 安徽 合肥 9,859 117.68.3.162 安徽 合肥 9,719 117.68.3.168 安徽 合肥 9,700 117.68.3.223 安徽 合肥 9,656 117.68.3.32 安徽 合肥 9,537 117.68.3.14 安徽 合肥 9,479 最近几个小时请求总数:155.96k CPU 占用率 top5 的进程信息 php-fpm 11.2% php-fpm 10.9% php-fpm 10.9% php-fpm 10.9% monitor 9.8% |
20
LanFomalhaut 17 天前
目标为静态文件,那么这种攻击方式并不能称之为 CC 攻击。
|
21
52txr 17 天前
@LanFomalhaut 很多 PCDN 是这样子刷的,就是对一个图片文件使劲刷
|
24
ncmonster 17 天前
防 CC 可以上一个雷池 WAF 啊
|
25
esee 17 天前
被刷量的文件有多大呀
|
26
yaocf 17 天前 via Android
@52txr 首先看看是不是源站地址泄露(查看请求头,是否是 cloudflare 的请求),大多数情况下,恶意地址会被 cf 自动拦截验证的。源站泄露可以先 sni 分流,针对 cf 的域名,开 nginx 的 allow ip ,只允许 cf 的地址进行请求。
|
27
iqoo 17 天前
不开限流就算用单 IP 几分钟就可以给你压上几百 GB 。
|
28
52txr 17 天前
@yaocf 老哥,我设置了发现正常访问也不行了咋回事,刚刚提问了已经
希望用户只能通过 Cloudflare CDN 访问网站,你们怎么配置 Nginx 的? https://www.v2ex.com/t/1095751 |
29
yaocf 17 天前 via Android
@yaocf 如果不是源站地址泄露。针对这种情况,简单点的处理:在 nginx 里写方法去匹配 cf 给的 real ip (本地通过 include nginx 配置文件维护一个变量,保存所有恶意 ip ),然后直接返回 404 ,就不会打到业务代码上了。然后可以配合 fail2ban 自动更新恶意 ip 的配置文件。
|
30
lixon166 17 天前
网站什么内容 会不会被 jc 反查
|
33
GeekGao 17 天前
"实只有 1 个 IP 来源,通过 http 头伪造了 IP "
完全可以通过 waf 防啊,限制同一个 ip / 同地区的访问频率 |
34
konakona 17 天前
@52txr 你这个情况应该是 CF 认为还有必要回源,导致这些 CF 没有缓存过的 URI 被回源到了你的服务器,导致了大量的 TCP 握手扔回去一个 404 ;你看看要不要考虑让 CF 对整站进行缓存,同时对于明显可疑的 query 和 path 进行拦截规则的设定。
|
35
feitxue 16 天前
请问报案的案在本坛是敏感词吗?
你这个标题的 AN 我脑子一下子没反应过来。。。 |
38
buildops 13 天前
建议可以到工信部平台投诉查处这个违法 IP: https://ts.isc.org.cn 或 https://yhssglxt.miit.gov.cn
之前一个博主被 PCDN 恶意刷量的投诉成功 case: https://www.idcbuy.net/talk/3242.html |