精细化边缘安全防护:如何防止CDN域名被恶意刷量?

CDN测评 0 11621
7*24客服QQ:1787235

越是数字化时代,越要做好基建“安全”的顶层设计


随着消费及产业互联网的不断发展,数字化将实现全场景覆盖,人类的生活和生产方式也随之不断改变。


内容分发网络CDN(Content Delivery Network)能分担源站压力,避免网络拥塞,确保在不同区域、不同场景下加速网站内容的分发,可以说,CDN已然成为互联网的基础设施。


在万物互联大背景下,网络安全问题的严峻性和重要性都远超过去,一旦受到攻击,便容易“牵一发而动全身”。


因此,越是数字化时代,便越要做好基建“安全”的顶层设计。


如果没有网络安全的保障,一切都将“裸奔”。


)HQ3KZ~]1J2_KMN@_T(ER%O.png


01 域名被恶意刷量,怎么办?


当前,众多业务在CDN边缘做加速,「边缘安全」的本质是:面临网络安全问题时的第一道防线。


只要在边缘发现并解决了各种安全问题和风险,就能保证客户源站在遭受攻击时,也可以稳定服务。


近年来,CDN域名被刷量的事情屡屡发生。


CDN域名被刷量(刷带宽),本质是“以小搏大”。


由于CDN的存在是加速内容的分发,并不限速,攻击者便可以通过极低的成本买大量“肉鸡”(“肉鸡”也称傀儡机,是指可以被黑客远程控制的机器),造成网站高额的CDN带宽费用,所谓“一觉醒来,房子没了”。


CDN监控到的某域名被刷量的情况:


QPS(Queries-per-second,即每秒查询率)瞬间激增到 100,000 以上,带宽突增超过64Gbps。这类情况会导致域名产生了非常多的流量和带宽,最终导致高额账单。



image.png



随着运营商的提速,攻击成本会越来越低。


那么,如何防止被恶意刷量?


CDN 上提供了带宽封顶的功能,超过配置带宽便会停止域名CDN服务。虽然这个功能能够及时抑制刷量,但是域名也无法正常服务了,可以作为快速止损使用。本文重点介绍能够精细化应对恶意数量的方案:IP黑名单、UA黑名单、频次控制等。


IP黑名单

通过拉黑攻击请求的源IP实现精准拦截。


UA黑名单

通过拉黑攻击请求的UA(User-Agnet)实现精准拦截。


频次控制

基于频次特征拦截访问次数异常的请求,实现精细化防护。


02 多维度的特征排查


带宽监控建议通过云监控配置,配置一个超过域名日常带宽峰值一定比例的阈值作为告警的触发条件。



收到告警并判断带宽突增很明显,下一步就需要考虑采取处置策略。本文重点介绍精细化拦截的配置和防御手段。


实现精细化拦截需要对访问行为进行分析,因此建议开启实时日志功能。通过日志的实时分析,可以及时分析最新的攻击特征,从而能配置相关的策略进行精准拦截。


在域名关联之后,点击 “日志分析”,会出现日志管理页面。此时客户端对域名进行访问,这里能实时展示域名的所有请求,以及每个请求记录的日志字段,具体见下图所示。


MTXX_MH20230403_234205457(1).jpg


下面介绍攻击场景中常用的日志字段:


uri:就是对应的HTTP请求的URL, 且不带后面的query参数。对于刷量攻击,uri是非常重要的分析参数。


uri_param:请求的参数。如果被刷量的请求一直很固定或者特征很明显,可以对其请求的IP或者匹配param的请求进行黑名单处理。


refer_uri:一般来说,请求来自网站的子链接或者搜索引擎,那么值为“对应网站的网址”或者是“搜索引擎的网址”,而使用一些命令行工具比如curl的时候,就有可能伪造。如果被刷量的URL实际上不会被其他网站引用,那么一旦出现类似refer的,就可以考虑判定为异常。这类特征可以通过控制台中的Referer防盗链来实现。


return_code: 正常响应码应该是2xx。如果其他响应码比如3xx/4xx/5xx等占比较高,可以分析该请求中其它字段进行进一步分析。


remote_ip: 即请求的源IP。如果某个或者若干个Client IP访问占比很高,远超其他访问的IP,就可以考虑封禁这些IP。下文统一用IP代指源IP。


response_size:恶意刷量一般都会找大文件的URL进行反复下载。从response的统计结果分析是刷量分析的关键一步。


user_agent: 发起请求的UA,大部分简单的刷量工具可能会有相同的UA。如果看到某个UA访问特别集中,而且是不常见的UA,可以直接封禁这些UA。



03 精细化的安全防护体系


在新基建浪潮之下,对于关键基础设施的网络攻击必定只增不减。


应对未来网络安全问题,需摒弃碎片化或单点防御的思路,构建持续进化的安全能力体系。


对于刷量攻击,每个防御手段都可以产生一定的拦截效果。然而,在实际业务中,需要依据实际情况选择最适合的方式,甚至需要组合多个防御手段实现最大化的拦截效果。


本文以DCDN控制台的WAF防护功能为例,介绍相关的安全实践。


NOY`3~C8FRV5M%7_55R{0TX.png


❖ UA黑名单拦截演示


同样先运行工具模拟刷量,使域名的带宽明显突增。


由于模拟刷量的工具使用的python脚本,通过实时日志分析可以发现请求的UA比较集中,如下图所示:



分析UA,确认访问次数最高的是python-requests/2.22.0,而且还有要其他UA前缀是python-requests/的,均属于python脚本发起的请求,非常规浏览器的UA,判定属于恶意行为。配置自定义策略,规则设置为User-Agent包含python-requests/的进行拦截。




配置规则之后,域名的带宽明显下降。




❖ 频次控制演示


上文演示的拦截,不管是IP还是UA,都是精准拦截。实际攻击场景中,对应的特征集中程度未必会很明显,尤其请求的源IP可能达到成千上万甚至几十万的规模。


因此,防御的策略就需要使用基于访问频次的限制策略。提到访问频次,那么请先评估一下自己业务,正常用户是多久间隔访问一次。这里以某APP下载或者升级的场景为例,大部分IP可能只下载一两次,少部分有可能下载遇到失败,会有若干次重试,基本上都在一个合理的频次范围内。如果发生了攻击或者恶意刷量,则会出现单IP一段时间内访问频次较多的情况。因此,可以采用频次控制类型的策略对高频访问进行拦截。


同样先运行工具模拟刷量,使域名的带宽明显突增。


通过自定义策略配置频次控制功能。一般频次控制主要针对IP进行拦截。阈值的确定,可以依据网站日常访问的IP频次,也可以通过实时日志查看访问IP的分布情况。


7*24客服QQ:1787235

也许您对下面的内容还感兴趣:

留言0

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。