关注

有一台AWS EC2 eu-west的机器
今天中午开始疯狂wget嗼站Monado Direct的视频。。 :panda_naotou:
把带宽跑满了,怪不得今天这么慢 :icon_dr_kawaben:
我先把这台机器给deny掉了 :o_chashou:

特地选择大文件来疯狂wget,这明显是一场蓄意攻击事件...
要不是套了nginx我的钱包就炸了 :o_orz_cry:

TL上的各位站长如果想要预防可以私信我要这台机器的ip。
@board

@board
对方开始打存储桶了,对我的钱包发起了痛击。

@board
为抵御攻击,Monado的媒体服务暂时下线。
我的相关经验不足,不太懂该如何防护...
我凌晨再来复盘&学习解决方案。
给嗼站用户带来的不免敬请谅解 :o_sadcat:

@chasedream1129
感觉对方有备而来啊😨
之前有泄露过存储桶的地址嘛🤔
为啥这个人能找到存储桶的地址

@holgerhuo 之前有段时间没套反代,直接指向了存储桶

@chasedream1129 如果对方一直打临时上线服务的最好方法就是再加一个cloudflare用cloudflare的防ddos和限额 (不过cf默认不缓存视频 带宽可能还会高一点)

@chasedream1129
可以再康一下服务器日志有没有什么异常🤔
能精确打击大文件和存储桶就很奇怪…

@chasedream1129 大概可以把这个ua屏了再对对象存储的Nginx配置加一个限额 限制一下每分钟请求数量和带宽

@chasedream1129
@board
完蛋了!我好像也被打了
而且这货根本就没有走我的两层反代(Nginx+CloudFlare)直接走的源站
这是七夕礼物嘛???

@chasedream1129 @board

各位TL上的站长还是想办法防御一下吧
截至十分钟前已经100G流量没了

最离谱的是我连是哪打的都看不到[裂开]

@lgE 它直接走的对象存储 没经过Nginx根本就呜呜呜
我也不知道他是从哪找到的对象存储源站地址
这真的很奇怪
我从来没有公开解析过对象存储的地址

@holgerhuo @chasedream1129 以前有没有暴露过源站IP地址?可以参考 zhuanlan.zhihu.com/p/107294740

比如在这里搜到一个腾讯云的,看看是不是现在在用的:censys.io/ipv4?q=dragon-fly.cl

@lgE 这个是很久以前用过的 被打的是一个对象存储的地址[裂开]

@holgerhuo 故意输入一个错误的媒体URL,可以看到endpoint是cos.na-siliconvalley.myqcloud.com。然后可以猜桶名是mstdn-media-1259018785和oss.dragon-fly.club。

@lgE 还真的LOL 太明智了
这样来看是一个使用了香港Azure的服务器 使用了错误的UA访问的 但好像每次的服务器都不一样还

@holgerhuo 我看到现在是AccessDenied,以前是开放访问的么?

@lgE 好像400G流量已经出去了😭 钱包已经要[裂开]了

@holgerhuo 长毛象的s3操作应该有文件级的ACL。我觉得设法把桶名换掉,避免暴露就行了吧。

@lgE 原来是这样
但好像没法直接改 必须要迁移才行orz

@lgE 刚刚关上的 设了一下IP访问规则(但我这边测试好像没起作用🤔)

@holgerhuo @lgE
我这的来源全部都是AWS EC2 eu-west(后面的还没看)
不知道是不是同一个人作案?

@chasedream1129
估计是一个人但是换服务器了
AWS和Azure应该没法单台服务器走这么高流量
肯定会被判定滥用的
我一会整理一下后台的异常日志

不过他这次倒是换UA了

@holgerhuo 是只有我们俩被打了么....
怎么感觉对方一直在关注这个讨论串

@chasedream1129
我也不知道啊啊啊啊啊啊啊啊
/(ㄒoㄒ)/~~

@chasedream1129
大概是别人家的服务器已经做好防御了orz

@chasedream1129 @board
大家可以参考这个配置一下访问规则
对象存储一定不能公开读取了
再有就是要加一下Nginx的缓存(可以再套一个CloudFlare)
以及对象存储配置一个外网流量告警
这样大概可以降低损失到最小

@lgE 倒也没啥文件目前🤔
而且还是硅谷的 应该没啥问题
主要是没有visa卡 别的也买不了()

@mashiro
太感谢了😭😭😭
最难过的是刚才在COS里面关掉公开读写还不成功 是在一个其他地方关掉公开读写才关上的
这么一会光COS流量可能就得[裂开]

太感谢了 :2233_daku:

@holgerhuo 年初我就遇到过异常流量,所以才专门写的这个脚本 😂

@mashiro @holgerhuo @chasedream1129 如果之后有新增的媒体文件,那文件的公共读ACL有可能会覆盖桶的私有?

@lgE @holgerhuo @chasedream1129 腾讯云和AWS不太一样,如果在腾讯的储存桶上设置了私有,那么这个全局的权限优先级是高于ACL的。AWS s3也可以设置类似的策略,不过得手写JSON配置文件

@lgE @mashiro @holgerhuo
感谢大家的建议,我之前出门在外不方便处理,为了减小损失直接把服务器关机了....Orz
我洗个澡然后慢慢看(

@chasedream1129
太明智了😭我刚才也应该应对一下的
当事人现在就是十分后悔

@lgE @mashiro @board
重新整理一下😂
刚才尝试关公有读的时候一直没成功 不确定是我的操作问题还是其他问题 在这里也提醒一下各位站长 关掉权限之后一定要亲自试一下能不能访问
sm.ms/image/4ZNkOCSo1gvJ9HL (此处不能成功关闭访问权限 我很确定我调成了私有读写但依旧可以公开访问)
sm.ms/image/4TpvO7XsactZLQi (此处可以成功关闭)

@holgerhuo @lgE @board

{
"Statement": [
{
"Action": [
"name/cos:*"
],
"Effect": "Deny",
"Principal": {
"qcs": [
"qcs::cam::anyone:anyone"
]
},
"Resource": [
"qcs::cos:ap-hongkong:uid/125xxxxxxxx:mstdn-125xxxxxxxx/*"
]
},
{
"Action": [
"name/cos:*"
],
"Effect": "Allow",
"Principal": {
"qcs": [
"qcs::cam::uin/100000747972:uin/100000747972"
]
},
"Resource": [
"qcs::cos:ap-hongkong:uid/125xxxxxxxx:mstdn-125xxxxxxxx/*"
]
}
],
"version": "2.0"
}

@board
再次提醒可能遭受这类攻击的站长们
如果使用了腾讯云COS 无必要确认好是否关闭了公开读取权限!!
目前试是只有这里可以关闭的
是我们两位站长金钱的教训啊啊啊啊啊啊啊啊啊啊啊啊啊

登录以加入对话
Monado

Monado 是一个以任天堂为主、面向全平台游戏的、非营利性的中文向社区。在这里,你可以畅所欲言一切和游戏有关的东西,包括但不限于游戏日常、心得、感想、同人等;当然,吐槽自己的生活也完全没有问题。请在遵守所在国家或者地区法律法规的前提下自由的使用。