躺枪
本文讲的是 秒极黑洞 解决大规模DDoS攻击导致的“躺枪”,对于一个数据中心来说,大流量DDoS攻击常常带来的一个额外的不良结果是“连带效应” (collateral effect),即黑客对A用户的攻击会影响到B甚至更多用户的业务,很多网站业务受到影响而无法提供正常业务;尽管黑客实际上攻击的对象并非是这些网站。对于这种不幸遭到“连带”的情况,有一种更为通俗的称谓——“躺枪”。
“躺枪”在云数据中心环境下同样可能发生,其发生的根本原因是资源的共享,即众多网站共享数据中心的出口带宽。如果攻击者的攻击流量很大,导致数据中心出口发生拥塞情况,那么数据中心的很多网站业务都会受到影响。
如何规避“躺枪“情况的发生呢?扩充出口带宽固然是一种手段,但是扩带宽不能完全规避”躺枪“情况的发生。黑客的大流量攻击往往体现为突发,即在很短时间内达到一个相对峰值,给防护一方扩充带宽的时间其实很少。即便防护一方实现带宽快速扩充,黑客还可能提高攻击流量,迅速吞噬掉扩充的带宽。因此,简单地扩充带宽并非一种良策。
如何有效避免“躺枪“的情况
那么如何有效避免“躺枪“的情况呢?俗话说,天下武功,唯快不破。DDoS防护亦然。其实,手段非常“简单”,就是迅速将被攻击用户的流量丢弃掉。到底多快好呢?答案是越快越好,如果能实现秒级,那么对其他用户来说,几乎是无感知的。
从技术实现上来说,就是“秒级”黑洞。
众所周知,黑洞是一种常见的抗DDoS手段,将对目的IP的所有流量(包括攻击流量)投入黑洞路由中全部丢弃。正是由于黑洞表面上的简单暴力而备受争议——毕竟被攻击目标事实上无法访问,攻击者的目标实现了。
然而,从另一个角度上来说,黑洞的执行可以最大程度上保证其他用户的业务正常使用。毕竟,一个用户的业务损失不能拉上其他众多用户来一起买单。
我们来探讨一个关键的问题——“秒级”黑洞是否可能实现?答案是肯定的。这里有两个关键的技术点,即秒级检测和秒级响应,一方面,要求对大流量攻击的发现在秒级;另一方面,黑洞操作也需要在秒级。
如何实现秒级黑洞
接下来的问题更有趣,秒级是什么概念?几十秒?还是几秒?
回答这个问题需要站在业务角度上——哪个用户可以忍受几十秒甚至更长的业务延迟?因此,秒级的概念当然是个位数的,再进一步说,需要在5秒甚至更短的时间区间内。
5秒!这可能吗?
我们看一个实际数据:阿里云云盾DDoS防护服务的黑洞时间是3秒——1秒完成攻击检测,2秒完成黑洞策略的下发和执行。
具体来说,首先,和大多数基于NetFlow的DDoS检测手段不同,阿里云云盾流量采集基于分光的方式。分光可以实现近乎实时的流量采集,相对来说,基于NetFlow的采集需要十几秒甚至几十秒。其次,阿里云云盾的检测与黑洞联动是完全自动化的,即一旦发现有大规模DDoS情况的发生,系统将自动化完成黑洞策略的下发和执行。自动化保证了2秒的高效率。如果人工/手工的方式,延迟可能是分钟级甚至更长。
对于绝大多数系统来说,实现3秒黑洞最为关键的技术瓶颈就是1秒检测发现DDoS攻击。除了分光完成流量采集之外,如何在1秒内完成对海量流量的分析是最大的挑战。最为常规的手段是单台服务器完成流量分析。极为个别的系统可以实现服务器集群处理;然而,集群化处理的服务器数量往往是双机或极为有限的个位数。不管怎样,对于一个几十G甚至几百G出口的数据中心来说,即便采用双机或稍多一些服务器并行处理,也不可能实现1秒检测。
阿里云云盾同样采用了集群化处理,不过,阿里云云盾进行流量分析的一个服务器集群即为500台服务器。500台服务器单集群的并行处理是实现1秒检测的关键。
因此,从技术角度上讲,“分光采集+3秒黑洞”保证了用户在阿里云环境下避免“躺枪”情况的发生。
如何避免被3秒黑洞情况的发生
最后的一个问题,可能也是被3秒黑洞用户最为关心的——如何避免被3秒黑洞情况的发生呢?
对于采用阿里云云盾基本防护服务的用户来说,如果攻击流量在短时间内超过一定的数值,为了保护其他用户业务不受连带影响,阿里云云盾会执行黑洞的策略。对于业务连续性和可用性要求较高的用户来说,阿里云云盾提供高防IP服务。采用高防IP服务的用户服务器将部署在高防数据中心中,获得较普通用户更高的防护能力。当前,高防数据中心单点防护能力为300Gbps,同时可以实现多数据中心联动防护以获得更高的防护带宽。
原文发布时间为:七月 23, 2015
本文作者:Martin
本文来自云栖社区合作伙伴安全牛,了解相关信息可以关注安全牛。
原文链接:http://www.aqniu.com/tools-tech/8856.html