导语:目前各个公有云厂商都会在自己的控制台上集成DDoS基础防护产品,根据竞品调研,目前在算法方面做优化最多的是阿里云,今天想和大家聊聊如何根据获取到的攻击数据,来动态分配防御资源。
0x00、前言
目前各个公有云厂商都会在自己的控制台上集成DDoS基础防护产品,根据竞品调研,目前在算法方面做优化最多的是阿里云,今天想和大家聊聊如何根据获取到的攻击数据,来动态分配防御资源。
0x01、需求分析
世界上从来没有无缘无故的爱也没有无缘无故的恨,做这个功能都是有原因的。面对阿里这么大体量的公有云公司,在几十个数据中心部署免费的防御资源,需要大量的资金投入。
@1、业务需求点
· 公有云建设初期,对外提供服务,黑客对线上服务进行DDoS,会影响公有云运行的稳定性,进而导致云上租户对公有云服务的连续性质疑,应用公有云业绩收入。
· 由于公有云很多底层资源都是共享的,包括带宽、物理机等。A用户被攻击有可能影响整个集群的稳定性,可能B、C、D。。。等很多用户被影响。
· 基础DDoS产品无盈利,公司需要通过技术手段降低成本。
@2、解决方案成本
我们先算一笔经济账,假设阿里在北上广BGP和静态单线机房30个AZ节点,每个机房带宽在100G。
方案一:使用全流量方式探测。
· 检测部分
按照目前技术水平一台服务器3万左右的服务器能处理40G的流量。那需要,3(每个机房)*30(机房数)= 90台服务器。
· 阻断部分
也分两种,第一种是在本地部署黑洞本地处理,资源在自己手中策略调整灵活度大,但是对数据中心有一定的风险性(流量已经进入到本地路由)。第二种是和上联运营商做自动化路由黑洞处理,但是黑洞IP数量有限制。资源可以复用检测部分使用的资源。
方案二、使用Netflow流探测的方式。
这种解决方案硬件投入性价比是最高的。一个数据中心一台服务器就能满足需求,但是目前市面的商业解决方案无法满足业务需求,需要投入研发人员做开发。
从上面的成本和技术要求评估:第一种方案全流量方式,黑洞本地处理同时配合上层运营商封禁。
0x02、业务优化流程
业务拓扑
业务流程
那么我们的优化重点是定义基础防护产品好坏的指标是,黑洞阈值大小、黑洞回复时长。
· 输入的数据
@1、历史攻击:攻击峰值、攻击时长、被黑洞次数
@2、安全等级:使用DDoS高防IP、Web应用防火墙、主机安全、渗透测试业务等级
@3、会员等级:历史累积公有云各个产品消费金额(安全产品除外)
· 输出数据
单个用户对应当前时刻的封禁阈值、解封时长。
由于目前资源有限,获取到的数据只有
根据我们分析的三种用户使用kmeans分类算法,大致可把用户分为3类:
(1)、0-5G
(2)、5G-12G
(3)、大于12G最高探测到的有30G
可以把这个当做模型,在不断喂数据的过程中训练这个动态模型。当然这是以5G为黑洞标准出的模型,也可以以2G起。当然还涉及到后端空闲带宽资源。
攻击频率怎么衡量呢?
把攻击持续时间歧义点处理掉。以现有的数据分析,图中花圈的数据是最影响业务最大的,因为攻击大于5G同时不止一次。在大数据集中提取这部分数据。
然后对单个IP分析
发现:一天内超过3次的封禁时间必须超过1天的时间。
0x04、总结
本文主要是针对DDoS封禁算法探讨,由于样本有限,目前还主要使用传统统计学方法判断历史攻击情况。得出黑洞阈值、攻击频率的大概的参数。