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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • IP黑名单

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

  • UA黑名单

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

  • 频次控制

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

02 多维度的特征排查

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

云监控请参考:https://help.aliyun.com/product/28572.html

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

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

实时日志开通过程请参考:https://help.aliyun.com/document_detail/121168.html

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

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

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防护功能为例,介绍相关的安全实践。

❖ IP黑名单演示

先运行工具模拟刷量,访问的URL为/test/app5m.apk ,确保域名的带宽明显突增。下文所有实践中的模拟刷量都会采用相同的方式。

查看实时日志,看下response_size的统计结果,有个5.244MB的文件访问比例很高,其uri 为/test/app5m.apk。当然,还可以再观察uri维度的统计分析做最终的确认。

分析该URL的来源IP,发现都来自*.11.32.x 这个网段(本次演示使用的网段),如下图所示:

创建IP黑名单的策略,拦截上面分析到的网段。

监控页面看带宽明显的降下来了。

❖ 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的分布情况。

通过监控页面查看域名的带宽,如下图所示明显降下来了。

下图是频次控制策略拦截的IP统计:

这里提醒一下:配置频次控制策略需要结合防御效果动态调整。

在一开始为了快速实现防御,可以基于经验值进行配置频次阈值。如果配置之后发现刷量抑制效果不好,可以收紧策略。反之如果发现影响到正常业务,就需要适当放宽松策略。

安全能力不是天然长在边缘的,今年7月,阿里云对全站加速DCDN产品进行了全面升级,针对边缘安全防护与数据运维能力进行了全方位优化。

升级后DCDN产品,在更靠近客户端的DCDN边缘节点上集成了WAF防护能力,可应对OWASP威胁、有效管理爬虫流量保障业务安全、防止源站入侵。

所有客户端请求到达DCDN边缘节点后都将经过清洗过滤,正常请求被放行后加速回源或返回缓存,恶意请求被拦截,有效实现爬虫甄别并阻断攻击流量

同时,基于运维便捷、配置高效的需求,我们也提供了智能防护的功能,实现大流量CC防御下无人值守。

阿里云全站加速DCDN致力于打造领先的全球边缘安全加速平台,以自身卓越的产品特性为用户提供高效安全、稳定流畅的内容分发服务。

精细化边缘安全防护:如何防止CDN域名被恶意刷量?的更多相关文章

  1. 什么是CDN 域名预热

    通常大家理解的预热功能是,缓存预热.将需要预热的资源推送到CDN边缘节点,用户访问时将不需要再回源站,可以直接命中缓存.这样可以加快资源的首次访问,同时缓解突增回源流量给源站造成的压力.这里说的是域名 ...

  2. CDN域名集合

    akamai-staging.net akamaized.net akamai.net cloudfront.net amazonaws.com azioncdn.net cachefly.net c ...

  3. vue项目中获取cdn域名插件

    import axios from 'axios' let CdnPath = {} CdnPath.install = function (Vue, options) { Vue.prototype ...

  4. 【安全开发】Android安全编码规范

    申明:本文非笔者原创,原文转载自:https://github.com/SecurityPaper/SecurityPaper-web/blob/master/_posts/2.SDL%E8%A7%8 ...

  5. 打造移动应用与游戏安全防线,腾讯WeTest安全服务全线升级

    当移动互联网渗透到千家万户,与工业控制.智慧交通.实时社交.休闲娱乐紧密结合时,应用安全就变得尤为重要. 尤其在网络强相关的APP流行年代,当APP应用客户端上传与获取信息,大多通过接口在服务器双向通 ...

  6. 七牛云域名DV SSL证书申请流程以及CDN融合加速配置

    从2017年起,苹果ios以及微信小程序都陆续要求请求连接request地址是使用HTTPS协议的.所以在项目开发阶段就要考虑解决https的问题,同时这也是为项目实际安全所考虑.最近我也是在折腾项目 ...

  7. 阿里云 CDN 业务基于边缘容器的云原生转型实践

    导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...

  8. 什么是边缘CDN和虚拟CDN (vCDN)?

    关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ 如今CDN有哪些局限性? 现如今,内容和游戏提供商正面临着越来越大的压力,它们需要向最终用户提 ...

  9. 关于CDN与缓存(浏览器和CDN)

    本文目录:一.引入 二.CDN定义 三.关于缓存 四.浏览器缓存 一.引入 客户端直接从源站点获取数据,当服务器访问量大时会影响访问速度,进而影响用户体验,且无法保证客户端与源站点间的距离足够短,适合 ...

  10. 【CDN+】 CDN项目的两大核心--缓存与回源

    前言 项目中碰到CDN专用名词: 回源, 然后不知道什么意思,反过来查询了一下CDN相关的一些基本术语,特做记录 CDN基础概念 CDN (Content Delivery Network,即内容分发 ...

随机推荐

  1. 记录一次 postgresql 优化案例( 嵌套循环改HASH JOIN )

    今天同事给我一条5秒的SQL看看能不能优化. 表数据量: select count(1) from AAAA union all select count(1) from XXXXX; count - ...

  2. 微信开放平台微信公众平台微信小程序openid合法性验证

    我们获得了微信用户的openid,往往要把openid保存到服务器中的数据库里.有些场景需要检验openid的合法性,官方给了相应的验证接口如下: https://api.weixin.qq.com/ ...

  3. 2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以

    2023-11-25:用go语言,给定一个数组arr,长度为n,表示n个格子的分数,并且这些格子首尾相连, 孩子不能选相邻的格子,不能回头选,不能选超过一圈, 但是孩子可以决定从任何位置开始选,也可以 ...

  4. 新建vue项目,并引入element ui和axios的步骤

    一.新建vue项目 (1)win+R进入命令行  使用cmd (2)切换到需要创建vue项目的盘符下    直接D:就能切换到D盘 (3)使用vue ui指令 进入图形化创建vue项目的界面(注意在创 ...

  5. GOF23--23种设计模式(一)

    一.什么是设计模式 设计模式(Design  Pattern)是前辈们对代码开发经验的总结,是解决一系列特定问题的套路. 它不是语法规定,而是一套用来提高代码复用性,可读性,可维护性,稳健性,安全性的 ...

  6. MongoDB是一个NoSQL数据库,有着多种不同的命令和操作。以下是一些常见的MongoDB命令:

    show dbs:列出所有数据库 use db_name:切换到指定的数据库 db.dropDatabase():删除当前数据库 db.createCollection("collectio ...

  7. Stream API学习笔记

    Java8 中Stream API介绍   Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象.这种风格将要处理的元素集合看作一种流, ...

  8. 数字孪生和GIS融合为智慧水利带来了什么?

    数字孪生和GIS的融合为智慧水利领域带来了巨大的变革和机遇.数字孪生技术的出现,使得水利管理者和决策者能够更好地理解和管理水资源,提高水利设施的效率和可持续性.而GIS作为空间数据管理和分析工具,为数 ...

  9. 利用腾讯快捷登录协议截取 QQ ClientKey / QQKey 实战课程

    本文主要通过利用腾讯网页快捷登录协议来模拟访问并截取已登录 QQ 客户端的Token.Uin.ClientKey.Skey.P_skey等. Step 1. https://ssl.xui.ptlog ...

  10. 初探Git:理解和使用版本控制的魔法

    遥远的古代,有一位美丽的仙女叫做嫦娥.她的丈夫后羿获得了令人长生不老的鹿骨露.一天,嫦娥在好奇心的驱使下,独自偷喝了这瓶仙药. 喝下仙药的瞬间,嫦娥发现自己开始飘起,越飘越高,最后飘向了月亮.嫦娥惊慌 ...