HASH GAME - Online Skill Game GET 300
起初我们想偷懒,攻防演练计划以UDPFlood流量型攻击为主(我们听说过的攻击流量最大的几次攻击都是UDPFlood类型的,例如NTP反射),混合10%的SYNFlood流量型攻击。这样做的好处是防御起来相对简单。但是,通过多次调试,我们发现乐视云网络有安全策略,禁止大量发送UDP。在不方便调整乐视网络安全策略的情况下,我们“被迫”采用全SYN Flood流量型攻击,同时混合50万QPS的CC攻击。这对整个攻防演练的防御增加了不少压力。
目前国内有三大流量途径:电信、联通和海外。网站用户通常为了让各条线路的访问速度达到最快,会对自己的网站做分线路的解析。攻击者发起攻击时也同样不会是从单点发起攻击,其发起攻击的“肉鸡”服务器也是遍布全球。如果“肉鸡”依据域名解析实施攻击,则会被三条线路分担流量。在这种情况下,我们通过电信节点来分担电信过来的攻击流量和请求;通过CloudFlare遍布全球的Anycast节点,来分担海外的攻击流量和请求。目前业内能够实现全球防御部署能力的只有百度云加速。
攻击者的最终目标是让服务器宕机,当他发现攻击没有持续有效时,会进一步分析线路关系,最终定位到一个关键节点上,实施关键节点逐个击破的策略。如果定位到海外,那就让CloudFlare的Anycast节点去消化这些攻击流量;如果是定位到国内,在我们没有Anycast的情况下,需要百度去建立一个远远大于普通CDN节点的“阿尔法”级别的超级抗攻击节点。然而目前城域网能够支撑的出口流量只有几百G,还不足以满足Tbps级别的压制能力。在引入了电信云堤后,这个问题也有了明确的解决思路:通过云堤提供的近源压制策略,在运营商层面使用路由黑洞技术,在各个跨网的关键点上消灭到指定目标的非电信流量。这样一来,我们就可以只建立一个“阿尔法”级ADC即可。事实上,百度也的确在上海电信建成了一个这样带宽高达数百G的“阿尔法”级ADC。
基于上述考虑,百度云加速抗攻击系统采用“替身式”防御:网络层的攻击流量全部会在抗攻击节点上清洗掉,不让攻击流量透到源站;ADN采用两层交换机IPHash分发机制,建立多个集群去分担流量,实现了流量的负载均衡,极大的保障了服务的高可用性及灵活的扩展性。同时,每个集群内部还有备用机组,采用IP漂移技术,针对有故障的设备,备用机会实时切换接管服务,在保障IPHash一致性的前提下实现了高可靠性。在攻击流量检测和清洗方面,百度云加速抗攻击系统采用流量指纹模型,实现秒级告警和毫秒级清洗能力。在清洗的方式上,区别于传统的SYN-Proxy模式,百度云加速抗攻击系统建立了IP跟踪定位模型,结合IP白名单、IP线路属性等特征进行甄别,因此在防御DDoS攻击过程中,不影响正常用户的正常访问。