DDoS 记录帖

网站 ddos 353 views 11 replies
admin
#1 ·

第三次 May 15, 2024 (Asia/Shanghai)

先是 caddy 挂了,我以为是程序跑飞了,其实不是,查日志看挂掉的原因是 OOM kill,就是被 D 了。

caddy 这个 go 程序挺优质的,基本不会跑飞。

后面我用 Restart=always 运行 caddy,则请求全转发到了 ruby,吃完全部资源,说明了:
discourse 容器里的反代 nginx 的 rate limit 毛用没有 😉

[graphviz]
digraph simple
{
a -> b1 [label=" ✔️"];
b1 -> c -> d;
a -> b2 [ label="❌"];
b2 -> c;
a [label="访客"];
b1 [label="under attack: 经过 CF 清洗后到达不监听公网端口的 cloudflared"];
b2 [label="normally: caddy 0.0.0.0:443"];
c [label="nginx in docker bundled with discourse with rate limit"];
d [label="Unicorn(Ruby App's HTTP server) running backend: Rails"];
}
[/graphviz]

Screenshot_20240515_234541|690x258
Screenshot_20240515_234535|690x240
Screenshot_20240515_234515|690x248
Screenshot_20240515_234449|690x294
Screenshot_20240515_234442|690x237
Screenshot_20240515_234430|690x216
Screenshot_20240515_234426|690x216
Screenshot_20240515_234417|690x245
Screenshot_20240515_234410|690x247
Screenshot_20240515_234403|690x312
Screenshot_20240515_234354|690x361

caddy 不抗 d

虽然我中途调整了 xjtu.app 仅仅 respond "交大門正在被网络攻击,攻击流量已结束",这时候攻击流量仅在 caddy,导致 caddy 占用 560% 的 CPU(6 核占满),你甚至连“交大門正在被网络攻击”几个字都看不到。 :a_grinning_face_with_sweat:

攻击进行 de 断断续续,让我怀疑应该是有人在后面操作。

我只好关掉了 caddy,换用 CF Argo Tunnel 拉之后,这回轮到 cloudflared 负载达到 260% 了(这让我有点恐慌 😵‍💫),我只好在控制台打开了Under Attack Mode,这回需要人机验证了:
Screenshot_20240516_000433|690x283
过了一小会负载正常了,也许是 CF 滤掉了流量,也许是攻击者休息一下打交去了 🐍。

让我们看看这一波攻击的流量有多猛: :a_grinning_face_with_sweat:

Screenshot_20240516_001153|690x275

看看 CF 的日志,是哪些 IP 在攻击呢?

Screenshot_20240516_002124|690x411

Screenshot_20240516_001827|689x381

对这些 IP 的攻击者,如果听得懂的话,我想说:谢谢你,因为有你让我第一次亲身应对 ddos,欢迎再来打,还是要多打,不要歇。

最后,超级感谢 CloudFlare 公司的网络服务

造福我这样的穷蛆。

服务器厂商除了 OVH 抗打,建站老老实实用 CF,不要抱有侥幸心理。NetCup 性价比虽全球独树一帜,但不抗打。NetCup root server 是杜甫,你要一直打,CPU 占满也不会被停机。所以最好能写个脚本监控状态,自动启停服务/更换线路/切换被 attack 级别。

之前 CloudFlare 公司有小可爱给我发邮件,问我个有空单独联系他们。我虽然没钱换付费套餐,但觉得非常荣幸。


您好,

我是 Cloudflare 的客户顾问 <redacted>,主要负责您的账户事宜。

我有留意到您的账号在 Cloudflare 上已经使用了一段时间,不知道您目前为止的使用体验如何?非常希望有机会跟您聊一下,为您提供一些有帮助的优化信息,可以在账户和相关配置方面以及业务调整方面能帮到您,让您有一个最佳的体验。

您可以添加我签名中的任何联系方式:
<redacted>

如果您方便的话,我真诚希望就账户和相关配置和您做个简单的沟通。如您平日业务繁忙,是否能麻烦您帮忙引荐一下其他负责技术方面的同事跟我对接。

期待您的回复,谢谢!
顺祝商祺!


可能以为我是 XJTU 的雇员,然而我是 one-man :)

美国公司就是会做生意,这种营销邮件不像某些公司那样谈钱,让你买买买、升级,CF 只是说:

我真诚希望就账户和相关配置和您做个简单的沟通。

让人觉得非常温馨,我要有钱了肯定会花钱的。


第一次 May 11, 2024 (Asia/Shanghai)

Fri May 10 2024, 18:58:05 CEST
空心菜 1:04 am

刚才有点诡异

服务器,容器都没有重启,遇到 502 错误,突然高负载甚至 discourse 出现 extreme load 的横幅

第二次 May 13, 2024 (Asia/Shanghai)

Mon May 13 2024, 03:47:59 CEST
空心菜 10:14 pm

我怀疑我们网站刚才是被 DDoS/CC 攻击了

空心菜 10:16 pm

刚才服务器压力巨大,我把唯一暴露在公网的 web 服务器 caddy 给停掉就好了

空心菜 10:18 pm

在我发现这个问题之后,停掉了 caddy,这段时间浏览器应该显示无法连接。我在这段时间配置了使用 cloudflare argo tunnel,通过 CF 网络访问本站,保证公网 443 端口没有东西

我昨天还怀疑可能是 Discourse 程序跑飞了,刚才我测试了重启 caddy 之后立马 cpu 占满,vnstat/iftop 看到异常的流量

好在我的服务器是 6C16G 独服,要是早先的 2C2G 恐怕 SSH 都用不了

空心菜 10:23 pm

从今天开始我将完全依赖 CloudFlare 的保护,至于网速应该没有多大影响,因为原来的服务器在德国,本来就不指望有大陆优化

❤️magic_wand_grin😰️
9
#5 ·

见证了一段小小网络战斗。
但是好奇这些人为什么要打别人网站。钱太多了,一时兴起?感觉不像是门中仇人。

admin
#6 · (edited)
hoist hoist

从手法上看,攻击者不像非常专业的 cracker,例如他没有扫服务器公网端口的其他服务,只是对 xjtu.app 这个 host 做攻击,攻击过程也是三天打鱼两天晒网,同一次攻击中也是断断续续,且都是半夜/凌晨时分。从 CF 记录的 ip 来看,不像发动某个巨大的僵尸网络来攻击。

mod
#7 ·

所以是打着玩的?😀

年月擦身过,暂且问,会更好吗?

admin
#8 · (edited)
一只玉米人 玉米🌽

DDoS attacks are illegal. According to the Federal Computer Fraud and Abuse Act, an unauthorized DDoS attack can lead to up to 10 years in prison and a $500,000 fine. Conspiring to do so can lead to 5 years and $250,000. However, these serious consequences are applicable to attacks launched without permission.

❤️🐈️
2
#9 ·
一只玉米人 玉米🌽

搞不好就是某个小学生干的。

admin
#10 · (edited)

更新:第四次被 D
百万级别请求数

Screenshot_20240517_190543|532x425
image|603x500

#### Top Traffic Countries / Regions

Previous 24 hours

Country / Region Traffic
China 1,514,981
United States 978,837
India 698,209
Hong Kong 473,961
Singapore 469,799

开 under attack mode 后(负载还是有点大):
image|690x396

弱点分析:
由于开启了强制用户登陆,没有登陆的用户只能访问 /login(访问 / 时 301 自动跳转),Discourse 生成这一页面很耗资源(?)并且没有被 CDN 缓存(?)

❤️😇️😰️
6
#11 ·

images|397x500

自黄药师黄仁勋来,世人皆爱猫。余独爱老鼠之,可爱之态,活泼之动,实为人所难以抗拒。喵~

:mouse_hole: 🐁 🐁 🖱️ 🪤 :sob_mouse: :sweat_smile_mouse: :sleeping_mouse: :rolling_on_the_floor_laughing_mouse: :revolving_hearts_mouse: :pleading_face_mouse: :nerd_face_mouse: :mouse_hole: :melting_face_mouse: :mask_mouse: :innocent_mouse: :hugging_face_mouse: :frog_mouse: :face_with_cowboy_hat_mouse: :clown_face_mouse: :cherry_blossom_mouse: :cat_mouse:

❤️💯️
2
admin
#12 ·

第四次

Screenshot_20240523_090035|545x500
May 23, 2024, 9:10:44 AM (Asia/Shanghai) 凌晨又来了一次,流量 245G,请求高达 68M(又是 上次 的 10 倍)

根据 CloudFlare 的日志,这次攻击持续时间为 ~ May 23, 2024 12:58:11 AM (GMT+8),攻击流量最多的来自 South Africa,很多 IP 为欧洲国家,尤其是德国(有人用 Hetzner):

Screenshot_20240523_090943|690x304

Screenshot_20240523_090815|690x472

可能是 防护措施 得当,这次只是在最开始的时候收到了 RAM 告警(甚至都未达到 critical 级别),一分钟后就恢复了。

Screenshot_20240523_090314|581x500
Screenshot_20240523_090321|581x500

admin
#13 ·
IO IO

牛逼

#14 ·
IO IO
shared_user:

有人用 Hetzner

能举报滥用么?
我现在博客已经完全禁止了境外 IP 访问 😇

ぜーんぶ弾けなーい!

admin
#15 · (edited)
Soyo34325 Soyo34325

举办了,冇用,就填了个表,没有下文了