经常有一些网站在各家公有云厂商上遭遇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不要暴露出去,甚至于负载均衡的IP也不要暴露出去。
没事不要留一个靶子在外面给黑客没事打着玩,把源服务器IP暴露出来就等于是家里平时不关门,小偷想进就进想出就出。
那怎么把自己的服务器甚至于负载均衡的ip藏起来不让黑客知道,又能够继续提供服务呢?主机吧认为最有效的对抗套路就是:
使用高防IP或者高防CDN
高防IP是指网站业务通过高防IP转发内容,达到隐藏源服务器IP的目的,而高防IP本身具体超强的防护能力,可以起到替身防御的作用。
高防CDN则是由多个高防IP节点组成的,集成加速、防御的节点集群,具体隐藏源服务器IP的作用,而黑客不知道源服务器IP只能打CDN节点,而CDN具体多个节点组成,想要彻底瘫痪业务就需要对所有节点进行打击,这样无形中增加了攻击成本,这也是目前防御DDoS攻击最有效的方法。
4、代价
高防IP由于其防御业务的全面性,价格是相当昂贵的,以阿里云高防IP为例,保底20G峰值的高防IP价格就达到2万+人民币,而高防CDN价格也贵,保底10G峰值的高防CDN,价格3000元/月,这还只是防御成本,外加CDN流量成本价格更高。当然,阿里云的防护成本一直都是业界最高的,我们可以选一些性价比高的,比如百度云加速CDN,最便宜的套餐专业版代理价1180元/年,可以防御峰值10G,正常流量每天100G,而最高套餐30G,年付1.2万。这样一看百度云加速的价格是非常香的,有需要的可以联系主机吧购买。
5、局限性
无论是CDN还是高防IP,防御的手段都是通过隐藏了服务器真实IP,能够使针对IP的DDoS攻击手段失去了攻击的靶子,不但包括了上面提到的反射式攻击手段,也包括更多传统的针对IP的攻击手段。而一但之前已经暴露了的IP是没办法防御的,这个时候我们只能更换服务器IP了。另外针对于一些非网站业务,高防CDN是没办法防御的,因为高防CDN是通过域名防御的,而对于一些以IP为访问端的则需要用到高防IP。
6、安全的本质
很多人认为安全就是“无懈可击”,总是试图追求最高级别的安全。如果是非常大的机构,极其注重安全的产品,按照这个思路去做安全并不是不可以,比如直接采购专业的安全产品。
但是在我看来,这是一个“保卫者视角”看待问题的方式。没有尝试从攻击者的视角去完整的看待攻防的双方。攻击者的很多信息其实我们现在是有所了解的,他们的很多软肋我们也知道,所以无条件的死守有时不一定是最高效的。
在我看来,安全的实质就是降低保护者的成本,提升攻击者的成本,让攻击变得更加困难、更贵,让攻击获益更低,直到跨越某一个平衡点,攻击的成本高于攻击能获得收益。比如说,我们把原本非常便宜的反射式DDoS攻击、同步洪水攻击的门槛抬高到贵了几十倍的非反射式的DDoS攻击、CC攻击。如果你只是一个小网站,黑客花那么高的成本来攻击你真的值得吗?
毕竟,杀头的生意有人做,赔本的生意没人做。
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/249521.html