企业边缘应用面临的挑战
CDN是通过在全球范围内分布式地部署边缘服务器将各类互联网内容缓存到靠近用户的边缘服务器上,从而降低用户访问时延并大幅减少穿越互联网核心网的流量。互联网业务使用CDN已经成为一种必然的选择。传统网站防护基本上都是保护源站,客户购买防火墙、WAF等产品就可以保护自己核心业务的内容不被恶意窃取。但传统防护方式并不能完全满足业务流量通过CDN分发的场景:
- 部署位置在源站前,主要为了保护源站。在CDN架构中,页面基本都缓存在CDN上,爬虫可以直接从CDN上直接爬走用户敏感业务数据。
- 识别手段主要依靠在用户页面中嵌入JS,这种方式本质上修改了用户的页面,有很强的侵入性,并且只能适配web业务,针对api业务不生效。
- 处置手段一般通过频次控制,对高频的IP等特征进行限制,这种方式容易被绕过,现在爬虫基本都会采用IP代理池的方式,随机修改请求的header字端,这样很难找到特征进行频次控制。
CDN当前承接了主站大量业务,也必然要保证业务浏览和交易体验,防止内容不被恶意窃取。越来越多的业务数据缓存在CDN的边缘服务器上,边缘安全的权重越来越高。而基于边缘云的机器流量管理应运而生,应对CDN边缘安全隐患,实现用户应用数据安全保护。
边缘云的机器流量管理的实现及优势
基于CDN边缘节点的机器流量管理分析及处理流程如下图所示:
互联网访问一般分为用户正常,商业搜索引擎访问,恶意爬虫访问等,机器流量管理通过在边缘提取请求报文特征,基于报文特征识别请求类型,在边缘阻断恶意爬虫访问,保护CDN上缓存资源不被恶意爬取。
机器流量管理的优势如下:
- 基于CDN边缘网络架构实现机器流量管理能力,通过请求报文特征识别域名的请求类型,区分是正常的请求还是恶意的机器请求,帮助用户管理自己的请求,阻断恶意请求。
- 通过识别域名的请求类型,实时标记出请求的报文类型,非常直观的展示出当前的业务请求中的报文类型,客户可以直观的感知到自己的网站的访问类型分布情况,针对异常的报文类型进行处置。
- 通过处置报文类型而不是处置IP,只要恶意请求的报文类型不变,攻击者随机头部字段或者使用秒拨代理IP池都无法绕过。
机器流量管理实际结果验证
在双11业务场景,机器流量管理针对访问主站详情页的全部流量做识别,并对 Bot 流量进行细化分类。核心策略是放行搜索引擎等正规商业爬虫,限制或拦截恶意爬虫。
通过分析详情页的流量以及请求的行为特征,分析出近40%的请求都是恶意访问。在双11前,通过开启了处置策略,成功帮助主站某业务拦截了超过70%的爬虫流量。下图为开启处置前后的流量对比情况,蓝线为未开启处置策略是的流量趋势,绿线为开启处置策略后的流量趋势,拦截效果非常明显,并且不影响实际业务运行。
双11当日,基本上请求的访问特征没有变化,最终拦截数亿次恶意请求、上百万恶意IP及数千万恶意爬取商品ID。
CDN机器流量管理承担更多主站业务的防护,并且发现部分爬取主站内容的请求可以透过防护策略,即爬取的请求行为发生了变化。通过对线上突增qps分析,定位出变异爬虫主要使用的是IE的浏览器引擎,源IP大量使用秒拨代理IP,具有明显的商业爬虫特征。经上报,快速形成了应急预案,快速对异常类型进行处置。