近些年国内市场,尤其是互联网行业,竞争非常激烈,也越来越饱和,于是很多产品纷纷出海。他们的发行方式多种多样,服务部署方式相应的有所不同:有自己部署在aws/gcp/azure等公有云上的,也有部署在海外IDC服务器的,这两种方式面对的安全威胁也多种多样,但有一点是共同的,那就是DDoS攻击。因此,当下研究中国企业海外业务DDoS防护解决方案,显得十分必要。
目前中国企业海外业务被DDoS情况,还没有相关报道,不过海外公有云那边可能会有比较多的数据,可惜没有公开,希望有这块数据分析的读者能分享相关数据。下面笔者仅针对了解到的几家企业的情况做些简单介绍。
公司1:大型移动工具开发商,目前主要用户来源海外,业务覆盖超过100个国家。由于发展非常迅速,他们的业务部署在AWS,同时购买了Enterprise Support。在DDoS攻击方面,他们可谓是“香饽饽”。面对年均超过100次、峰值流量几十Gbps的DDoS攻击,他们立足于AWS Marketplace和AWS Shield进行DDoS防御。
公司2:大型游戏厂商,目前主要用户来自国内,但国外业务增长速度很快,已经有近10款游戏在海外发行。面对年均超过1000次,峰值流量超过100Gbps的DDoS攻击,他们的应对方案有些不同。由于家大业大,加上自家提供公有云服务,他们选择让公有云节点随企业业务走,比如游戏业务开到哪里,清洗服务就开到哪里。如果公有云无法覆盖,则会跟当地IDC或者当地公有云合作。
这两家企业都是其所在行业的标杆企业,他们所面临的DDoS困境以及采取的应对手段十分具有代表性,也对国内企业出海有重要参考价值。下面笔者试着梳理一下具体的应对措施。
主要包括服务器内部安全、外部安全服务两种方式。其中,外部服务安全主要是公有云和IDC两种提供商。
在接入外部的DDoS防御手段前,还需先做好服务器本地安全。
这一点通常也公有云抗D最佳实践之中。
在攻击规模超过线上系统承受范围时,业务系统架构很大程度影响了所能采取的应对措施。比如使用LB+域名的方式,则接入云清洗会非常方便。如果采用的RS+IP的方式,则还要另外更换RS IP,甚至修改客户端获取的服务器列表等内容,导致整体调整成本过高,从而影响清洗效果。
国外公有云主要是Amazon Web Service(AWS)、Google Cloud Platform(GCP)以及Microsoft Azure(Azure),也可以考虑阿里云、腾讯云、金山云、Ucloud等国内公有云的海外节点。
aws专门用于DDoS防护的产品,可为ELB、CloudFront以及 Amazon Route53提供扩展的 DDoS 攻击保护。aws ddos防护整体流程图如下:
分为标准版和高级版,对比图如下:
总体来说,gcp提供的产品线比aws简单,好处是gcp在台湾有节点,而aws没有,所以对于在台湾发行的海外业务可以考虑接gcp。下面介绍gcp在ddos防护上的服务。
Azure官方提供DDoS防护服务,包括基础版和标准版两种。对比一下:
阿里云产品线非常丰富,光DDoS防护就有阿里云盾-BGP高防和阿里云盾-游戏盾两种产品,均提供四层/7层CC防护策、攻击流量图、原始/攻击日志、业务可用性监控等服务。
可以选择合作方提供的IDC高防或清洗服务,也可以接入国内CDN厂商的海外节点,比如UCloud。IDC高防或清洗,其多面向自己的用户,实现原理上不同于域名解析或者反代,而是将自己用户流量牵引到清洗设备或者直接在高防设备(通常也是IDC出口)上进行防护。因此:
比如使用云清洗的方式,则可采用DNS解析或者反代的方式。如果选择IDC清洗的方式,一般是IDC层面把网络配置和清洗设备上线后,在清洗设备端操作即可,用户无感知。
接入监控,设置流量bps/pps报警阈值
清洗触发阈值一般设置正常流量峰值的2-3倍即可,由于有些清洗算法会随机丢包,因此为了避免无攻击时被清洗,需提高触发阈值。
目前业界清洗算法大同小异,常见的清洗算法主要有:畸形包丢弃;报文特征匹配;先跟清洗设备建立tcp连接,被识别为正常连接后加入白名单;黑名单;限流等等。具体算法的选择需要根据业务协议、流量变化趋势等特征进行选择。
文章先以两家中国企业海外抗D的实践为模板,引出使用公有云和IDC两种提供商的抗D服务,希望能给有需要的企业一个参考。此外,在此声明,作者与文中涉及的企业利益无关,仅从客观调研的角度进行探讨,其中如有说的不对的地方,请读者指出,定认真听取指教。