实战 -- 没备案的小网站如何合理利用云主机厂商的资源抗注18G/s的MEMCACHED UDP DRDOS 攻击

最近,同事在首都在线的一个BBS小网站被DDOS攻击了。服务器放在首都在线香港,没有备案(因为BBS现在即使在国内做备案,也几乎不可能通过),直接被首都在线给放IP黑洞里,而且默认是48小时,开工单过去,也得封24小时。技术反馈是18Gb/s的流量,不封是不行的。有什么方法合理的使用云主机厂商的资源,防注这DDOS吗?

换IP地址

第一个想到的是更换首都在线云主机的IP地址,但是对方是对着我们的域名打的,换IP地址不能解决问题。换了一打,新IP马上就被黑洞了。

投诉无门

因为没有备案,所以也无从向公安相关部门投诉的。

用阿里云云主机做代理

阿里云是标称提供5G/s的DDOS流量的大云主机提供商,从国内访问阿里云香港也比较快,所以,我的第一个想法当然是用阿里云去试一下。

方法是在阿里云香港申请一台按时间收费流量收费的低配置T5 ubuntu云主机,上面安装nginx 做proxy代理到首都在线源站,费用大概在 0.11元/h,非常的便宜,但是可以享受到5G/s的防DDOS。

但是5G/s并不能扛住,对方是18G/s的流量 ,打个十几分钟,就会被阿里云放黑洞里云了。但释放时间要快很多,第一次1个小时,后面会慢慢增加到5小时,但比首都在线解封快多,而且还提供了流量图及攻击cap日志,这个服务是首都在线这种小云主机商没有的。从CAP日志分析来看,所有的攻击都是udp 攻击 ,攻击的类型是udp反射攻击,DNS/NTP/MEMCAHED都有,但大多是MEMCACHED攻击流量 ,网上查了一下,MEMCACHED udp 反射攻击最高可以进行6万倍的流量放大,也就是说我有10M带宽和足够的 MEMCACHED udp反射源,理论上就可以打出600G/s的流量,如果是合理的放大1万倍,就可以打出100G/s的流量。大家可以看一下相关的介绍
https://blog.cloudflare.com/memcrashed-major-amplification-attacks-from-port-11211/

下图是当时攻击时,阿里云提供的流量图:

下图是阿里云提供的攻击流量CAP记录文件分析情况图:

从图来看,基本上都是发向udp 11211(memcached)的流量

知道了主要攻击方式,向阿里云提工单,要求不要把我的代理IP放黑洞,是否可以在电信运营商层面封相应的udp 包,回答当然是不行的。多提交几次工单, 阿里云高防IP运营专员来电话了,当然是建议我们买他们1个月2.8W元的高防IP。问为什么这么贵?回答是DDOS流量防护是要上层IDC机房配合的,电信、联通、移动为什么配合你,当然是要多收很多钱了。建了9个高防机房,这些都是成本。当然,对一个没有任何收入的小BBS网站来说,这是不可能的事情。花点小钱也就算了,花大钱,没门。

用DNS来分散流量

就这样,相应的DDOS攻击一直没有停,1~2个小时从黑洞解封,过会又被打入黑洞。于是所信用DNS来做个双IP的解析,域名的一个IP指向自己,另一个指向阿里云的官网的IP。也就是把近一半的DDOS流量导向阿里云。这样,延长了被打放黑洞的时间,同时耗费攻击都的流量,同时可能有近一半运气好的用户可以访问到我们的网站。但还是会被扔进黑洞,问题没有解决。

用阿里云的DCDN来彻底解决 MEMCACHED DRDOS 攻击

阿里云DCDN全名是全站加速,它能加速静态内容,也能加速动态内容,而且支持HTTPS,收费可以通过流量包的方式,按流量(HTTP静态)及访问次数(HTTPS静态/动态)收费。目前阿里云已经支持全球CDN,也就是说,如果你选择全球CDN,你的域名是不用备案的。而CDN天然是防UDP DOS攻击的,因为它从来不会接受UDP的连接,也不会按UDP的流量来计费。买好流量包,配置好全站加速站点,改DNS,问题解决。
注: 这个方案只能防UDP DRDOS(这种MEMCACHED UDP DRDOS因为可以放大万倍,所以可以打出高流量 ,但对CDN无效)。但对于对着你应用层过来的TCP DDOS以及CC攻击效果会有一点,但会让你多花很多钱。比如HTTPS 按访问次数收费的话。所以,要通过攻击数据如阿里云提供的CAP文件,来分析DDOS的攻击类型,然后合理的利用云资源来解决。有些方案,只要合理利用,还是花不了很多钱的。

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