DDoS 记录帖

第三次 2024-05-14T16:00:00Z

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

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

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

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

caddy 不抗 d

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

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

我只好关掉了 caddy,换用 CF Argo Tunnel 拉之后,这回轮到 cloudflared 负载达到 260% 了(这让我有点恐慌 :face_with_spiral_eyes:),我只好在控制台打开了Under Attack Mode,这回需要人机验证了:


过了一小会负载正常了,也许是 CF 滤掉了流量,也许是攻击者休息一下打交去了 :snake:

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

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

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

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

造福我这样的穷蛆。

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

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


您好,

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

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

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

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

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


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

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

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

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


第一次 2024-05-10T16:00:00Z

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

刚才有点诡异

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

第二次 2024-05-12T16:00:00Z

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 的保护,至于网速应该没有多大影响,因为原来的服务器在德国,本来就不指望有大陆优化

7 Likes

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

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

所以是打着玩的?:grinning:

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.

1 Like

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

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

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

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

4 Likes

1 Like

第四次


2024-05-23T01:10:44Z 凌晨又来了一次,流量 245G,请求高达 68M(又是 上次 的 10 倍)

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

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

牛逼