专栏首页黄希彤的专栏遇到 DDoS 怎么办?老司机给你支个招
原创

遇到 DDoS 怎么办?老司机给你支个招

今天云头条发了篇文章《哎!无奈,遇到DDos到底应该怎么办?阿里云将你扔进黑洞;腾讯云清退你!》,提到了一些网站在各家公有云厂商上遭遇DDoS(分布式拒绝服务攻击)后被公有云限制服务的无奈现状。我虽然从来没有正儿八经的做过安全,但是在互联网圈子混迹这么多年,也耳濡目染的知道一些基本的安全常识,而且由于协助一些公益网站做优化的关系,跟一些小黑客也有过几次小对抗,我来讲讲作为安全门外汉对这个问题的粗浅认识。

1、误解

先讲一个普遍的误解。近年来DDoS攻击越来越频繁,攻击流量越来越大,有很多人误以为是因为黑客掌握了越来越多的带宽资源可以发动越来越猛烈的攻击。实际上黑客掌握的攻击流量未必上升了,更可能的是越来越多的黑客掌握了反射式DDoS攻击的能力。

反射式的攻击形式可以这么理解:

有黑客伪装成你的样子,朝黑猩猩扔了一块石头,黑猩猩扭头一看,好哇你敢扔我石头,我砸死你,从地上检了十几块砖头都吵你丢过来。

丢一块石头给黑猩猩它会丢回来多少块石头呢?这里有个表。

(图片来自此文,也推荐感兴趣的读者阅读)

比如2015年8月25号,卖桃君还在锤子的时候,锤子有一次发布会遭遇了DDos攻击,攻击形式其实就是表中放大倍数最大的NTP反射式攻击。

但是根据2016年黑帽大会展示的新研究,攻击者正在改变DDoS DNS放大攻击战略 ,放弃NTP而采用其他形式,尤其是SSDP,原因可能是大量被利用的NTP服务器都做了修复,难以被利用了。

也就是说,看起来你遭遇了几十上百G的DDoS攻击流量,十有八九攻击你的黑客其实只使用了几个G的流量。

2、反射式攻击的局限性

从上面的介绍中我们可以看到,黑客如果要对你发起非常大流量的DDoS攻击,就不得不依赖哪些能够实施反射式攻击的协议。好消息是,这些协议中并不包含我们最常用的HTTP这样的网络服务协议。

因为采用了这些协议,黑客也就无法对一个“域名”去发起大流量的反射式攻击,而只能对一个具体的IP地址去发起攻击。

3、对抗

对抗这样的攻击形式,最重要的一点就是:

服务器的真实IP不要暴露出去,甚至于负载均衡的VIP也不要暴露出去

没事不要留一个靶子在外面给黑客没事打着玩。

那怎么把自己的服务器甚至于负载均衡的ip藏起来不让黑客知道,又能够继续提供服务呢?以前有很多公益网站也经常遭遇到黑客攻击,腾讯云的志愿者为他们提供技术对抗的基本套路就是:

使用CDN(内容分发)服务。

不熟悉CDN服务的同学可以移步搜狗百科 了解一下。(本来想贴维基百科上的词条的,发现搜狗百科的词条解释更接地气。)

基本上我们使用CDN会有两种做法:

3.1 CDN回源到云服务器或者回源到负载均衡IP。

这对于提供动态服务的网站比较适用,可以配置CDN的回源规则,让动态的请求被CDN缓存0秒,静态的请求 被CDN长时间缓存,从而在隐藏服务器IP的同时还能实现动静分离。

3.2:CDN回源到云对象存储(COS)的bucket,COS的bucket再回源到云服务器(或者云服务器主动把生成的静态资源推送给COS)。

这只适用于全静态的网站服务。这样做真实服务器被做了双重隔离,安全性更高,服务器负载更低。

4、代价

通过CDN来做网站节接入如果这么好,那为什么大家没有都这么做呢?

首先,CDN是被设计来分发静态的数据的。当然腾讯云也有设计来分发动态数据的DSA,但是目前仍在内测。因此如果你的网站主要是提供动态数据的服务的,这样的数据二次分发有可能会降低分发效率。

更重要的是,用户的访问流量会被二次计费。

比如3.1中的做法,所有已经被缓存的静态请求,你只需要为CDN流量支付流量费用。但是所有的动态请求和第一次被访问,边缘节点和中间源还没有缓存的静态资源,你不但要为CDN流量买单,在CDN回源到你的服务器上获取最新数据的时候,你还要支付虚拟机的出带宽费用。

假如是3.2中的做法,从cos回源到cvm的流量通常已经少到可以忽略了,但是从CDN回源到COS的回源流量也是需要支付费用的。

这对于小网站其实不是个问题,因为腾讯云为CDN用户每个月都赠送10G的流量包,很多小网站都用不完,因此只要CDN是采用流量结算模式也就没有额外费用

对于规模比较大的网站,如果静态化程度高,并且采用足够好的动静分离方案,总体流量费用有时也是可以相比原来更低的,但是业务场景偏动态,就有可能需要多支付一些流量成本。

而且有一些网站,由于接入了CDN以后分发能力大幅度提升,后台服务器压力大幅度降低,用户访问起来更流畅,也可能带来更多的访问量从而推高了流量费用。

总的来说,web服务体量越大,越建议进行充分的动静分离。对于大客户,建议静态的资源尽量采用CDN分发,动态的流量还是应该采购大禹这样的专业防护产品。

5、局限性

通过CDN透传的方式隐藏了服务器真实IP,能够使针对IP的DDoS攻击手段失去了攻击的靶子,不但包括了上面提到的反射式攻击手段,也包括更多传统的针对IP的攻击手段。但是对于针对域名访问的DDoS不一定有效,比如基于HTTP的DDoS(假如黑客真的掌握了庞大的攻击流量而无需通过反射式放大流量)或者CC攻击。

好消息是,传统的攻击手段很多也有更加传统的对对抗手段。比如在腾讯云CDN管理界面中的“域名管理——访问控制”界面下就提供了防盗链、IP黑白名单、IP访问限频等配置项目。很多流行的系统也会有对抗 CC 攻击的配置项可以打开,比如我以前帮助一个公益机构的Discuz论坛进行过一次CC对抗 就只是开启了配置项目。

6、安全的本质

很多人认为安全就是“无懈可击”,总是试图追求最高级别的安全。如果是非常大的机构,极其注重安全的产品,按照这个思路去做安全并不是不可以,比如直接采购专业的安全产品。

但是在我看来,这是一个“保卫者视角”看待问题的方式。没有尝试从攻击者的视角去完整的看待攻防的双方。攻击者的很多信息其实我们现在是有所了解的,他们的很多软肋我们也知道,所以无条件的死守有时不一定是最高效的。

在我看来,安全的实质就是降低保护者的成本,提升攻击者的成本,让攻击变得更加困难、更贵,让攻击获益更低,直到跨越某一个平衡点,攻击的成本高于攻击能获得收益。比如说,我们把原本非常便宜的反射式DDoS攻击、同步洪水攻击的门槛抬高到贵了几十倍的非反射式的DDoS攻击、CC攻击。如果你只是一个小网站,黑客花那么高的成本来攻击你真的值得吗?

毕竟,杀头的生意有人做,赔本的生意没人做。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 整理了最近百年的藏历数据,做了个公历藏历映射的小工具

    过去三年一直都在每年藏历新年前设法拿到新一年的藏历数据更新到自己的一个gihub项目里面,今年临近藏历新年,却发现以往的很多藏历网站都没有更新明年的数据了,正好...

    黄希彤
  • 没有扩容机器,抗住了70多倍的流量增长

    登录服务器一看 log,访问量增长的有点厉害啊,疑似 CC 攻击,打开了各种防护,流量还是居高不下...

    黄希彤
  • 服务器一秒钟丫鬟变格格

    某个产品3月24日晚上22:00到23:59之间的外网出入带宽曲线。从曲线可以看到,在晚上十点半左右,流量瞬间从5M飙升到200M。中间发生了什么呢?本文详细讲...

    黄希彤
  • 黑客成员煽动DDos攻击全球银行,多个国内银行赫然在列

    对网络安全有一定了解的用户一定听说过DDoS,DDoS攻击是目前最大的网络安全威胁之一,主要是通过将巨大流量引向目标来达到压垮和瘫痪网站的目的。就在12月11号...

    墨者盾
  • Linux Profile and Debug Tools of Performance

    happy123.me
  • 权益设计原理的证明

    像以太坊(还有比特币,未来币,以及比特股等等)这样的系统是一种全新的加密经济学机制——它是去中心化的,遍布全网的无控制权实体,而且由密码学,经济学和社会共识的结...

    AI研习社
  • 腾讯云CDN优惠活动,腾讯云CDN流量包特惠价格

    腾讯云CDN优惠活动开始了,需要购买腾讯云CDN的用户千万不要错过这次腾讯云CDN的优惠活动。

    张天华
  • 男女程序员的差别在哪?

     劳伦斯 · 布雷福德(Laurence Bradford)是编程教育网站「Learn to Code With Me」的创办人,她依托自己的网站对 504 名...

    程序员互动联盟
  • Python resource module RLIMIT_RSS not work

    kongxx
  • 可穿戴外骨骼机器人:用身体控制无人机飞行

    研究人员提出了一种用于控制固定翼无人机的可穿戴式外骨骼。命名为FlyJacket,该设备旨在帮助初学者控制无人机,同时做出直观的上半身姿势,从字面上像翅膀一样张...

    机器人网

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动