最佳实践 | 多场景下的EdgeOne防盗刷实践指南

2024-09-02 12:02:07 浏览数 (1)

CDN 盗刷是指未经授权的用户通过非法手段大量获取网站资源,消耗网站带宽和服务器资源的行为。相比于 DDoS 攻击直接影响网站可用性,CDN 盗刷更多的是消耗网站的带宽等计算资源,产生突发高带宽或者大流量,导致高于日常消费金额的账单,网站运营成本急剧升高。CDN 盗刷的常见手段包括:

  • 通过自动化工具、代理服务器或僵尸网络发送大量虚假请求;
  • 通过自动化工具不断下载大文件或进行大量数据传输;
  • 通过压力测试工具发送大量并发请求,对服务器进行超负荷测试。

预防措施

设置用量封顶策略

对网站关键指标(如带宽、流量、请求数等)添加用量封顶策略进行控制,设置合理的用量上限和告警阈值,是防止因盗刷攻击产生高额账单消耗的有效策略。一旦出现告警,立刻排查实时请求是否正常,并进行相应处理。

配置示例:配置用量封顶策略。在添加封顶策略窗口中,选择生效站点,并根据以下建议配置封顶策略。

开启实时日志推送

EdgeOne 通过分析 L7(应用层)访问日志数据,为您提供了多维度、可视化的流量分析展示,主要包括流量、请求数等指标的时间趋势曲线、国家/地区分布和 TOP 排行等数据。这些功能将帮助您快速感知潜在的盗刷攻击。

为了实现精细化的防护措施,建议开启「实时日志推送」功能。该功能能够以较低的时延将请求访问日志投递到您指定的目的地,支持通过控制台或 API 配置。从请求发起到目的地接收日志的延迟在 5 分钟以内,适合需要实时监控和快速排障的场景,如防范 CDN 盗刷。通过对访问行为进行实时分析,可以及时识别并分析盗刷攻击特征,从而配置相应的策略进行精准拦截。以下是各日志类型记录的请求范围:

  • 站点加速日志:记录域名访问日志,默认仅记录防护后的请求日志,不记录防护拦截请求日志。站点加速日志记录了域名访问日志,包括所有通过 CDN 的L7请求日志。这些日志能够提供全面的访问情况,帮助识别异常高频请求、异常流量和潜在的盗刷行为。
  • 速率限制和 CC 攻击防护日志:仅记录命中 L7 防护-速率限制、CC 攻击防护模块安全规则的请求日志,不论是否被拦截。可帮助识别试图通过高频请求刷流量的行为。
  • 托管规则日志:仅记录命中 L7 防护-托管规则模块安全规则的请求日志,不论是否被拦截。可帮助检测基于托管规则的防护情况,识别潜在的攻击和盗刷行为。
  • 自定义规则日志:仅记录命中 L7 防护-自定义规则模块安全规则的请求日志,不论是否被拦截。可帮助识别符合自定义规则的异常请求,防止特定类型的盗刷行为。
  • Bot 管理日志:仅记录命中 L7 防护- Bot 管理模块安全规则的请求日志,不论是否被拦截。可帮助识别由自动化脚本或恶意 Bot 引发的盗刷行为。

若您需要推送 HTTP 请求头、HTTP 响应头或 Cookie 中的某些字段值,您可以通过自定义推送日志字段功能将此类信息精确记录在日志中。

排查措施

在设置如前文所述的预防措施后,若收到告警并判断用量突增明显,下一步就需要考虑开展深入排查。本节重点介绍如何利用 EdgeOne 的流量分析和日志分析功能,对疑似盗刷流量进行多维度特征分析定位。

流量分析

EdgeOne 通过分析 L7(应用层)访问日志数据,为您提供了多维度、可视化的 流量分析展示,主要包括流量、请求数等指标的时间趋势曲线、国家/地区分布和 TOP 排行等数据。在盗刷攻击排查场景下,建议通过数据筛选与过滤,结合 TOP 排行,重点关注以下数据:

  • Referer 分布:空 Referer 或非法 Referer 的集中出现,往往是撞库、爬虫等恶意请求的标志。
  • URLs 资源类型的访问量变化:若少数 URL 或资源类型的请求量突增,远超其他资源,提示可能正遭受针对性的盗刷。
  • 客户端 IP TOP:观察是否存在少量 IP 贡献了大部分请求,评估基于 IP 的请求频率控制的可行性。

操作步骤:

  1. 登录边缘安全加速平台 EO 控制台,在左侧菜单栏中,单击站点列表,在站点列表内单击出现用量告警的站点,进入站点详情页面。
  2. 在站点详情页面,单击数据分析 > 流量分析,进入流量分析页面。
  3. 在流量分析页面,选择日期为疑似遭受盗刷攻击的时间段。
  • 在流量分析页面,查看以下维度的 TOP 排行:
  • Hosts:客户端请求的子域名。
  • URLs:客户端请求的具体资源路径。
  • 资源类型:客户端请求的资源类型,例如:“.png”“.json”等。
  • 客户端 IP 地址:客户端请求的具体来源 IP 地址。
  • Referers:客户端请求的 Referer 信息。
  • 客户端设备类型:
    • 设备类型:客户端请求所使用的硬件设备类型,取值有:
      • TV:电视。
      • Tablet:平板电脑。
      • Mobile:手机。
      • Desktop:电脑。
      • Other:其他。
    • 浏览器:客户端请求使用的浏览器类型。
    • 操作系统:客户端请求使用的操作系统类型
  • 在流量分析页面,单击添加筛选,添加如下建议筛选条件,聚焦异常流量,单击确定。
  • Referer:定位空 Referer 请求;
  • URL:包含 TOP 5 URLs,定位可疑的热点资源;
  • 资源类型:包含 TOP 5 资源类型,定位热点资源的类型分布;
  • 客户端设备/浏览器/操作系统:等于Other; Empty,定位可疑的非常规客户端。
  1. 观察筛选后的各项指标分布,识别明显偏离正常水平的数据,分析其与盗刷的关联性。

离线日志分析

为进一步发现盗刷请求的更多特征,需要对告警发生时段的离线日志进行深入分析。通过字段进行综合分析,可以从源 IP、URL 路径、请求参数、User-Agent、Referer 来源等多个维度描绘盗刷请求画像,为下一步制定精准的应对措施奠定数据基础。离线日志分析进行盗刷排查中可重点关注的日志字段及相应说明如下:

更多字段及相应说明,请参七层访问日志字段说明(https://cloud.tencent.com/document/product/1552/105791)

应对措施

针对网站盗刷这一复杂多变的攻击场景,没有一招鲜吃遍天的招式。EdgeOne 提供了丰富的访问控制、速率限制等防护功能,可灵活组合应用,因此需要根据攻击特征、业务实际情况等因素,选择最优的防护配置组合。下面从个人站点运营者和线上业务站点的不同视角,给出具体的 EdgeOne 防盗刷实践教程。

中小网站平台

场景一:基于流量分析的异常来源 IP 快速拦截

场景示例

通过流量分析 Top 5 资源类型,发现某 5.244MB 文件的访问占比异常偏高。进一步排查该文件 URI 为/test/app5m.apk,并确认其请求客户端 IP 集中在1.11.32.0/24网段。基于以上线索,可迅速创建 IP 黑名单策略,拦截该恶意网段,遏制潜在的盗刷行为。

配置推荐

推荐您使用 EdgeOne Web 防护功能的自定义规则,配置防护策略,具体操作,请参见自定义规则(https://cloud.tencent.com/document/product/1552/93129)。

对于个人版用户,可以在基础访问管控中,配置规则类型为客户端 IP 管控,匹配方式选择为客户端 IP 等于,匹配内容为1.11.32.0/24,处置方式为拦截。

对于基础版及以上用户,可以在精准匹配策略中,配置匹配字段为客户端 IP 等于  1.11.32.0/24,并且请求路径(Path)等于/test/app5m.apk的用户,执行动作为JavaScript 挑战。

中小网站平台

场景二:基于日志分析的异常 User-Agent 快速拦截

场景示例

实时日志显示,某时段内 RequestUA 分布异常集中,进一步分析发现访问次数最高的是 python-requests/2.22.0,并同时有大量请求使用了python-requests/等 Python 脚本特有的 User-Agent 标识。由于这类请求明显偏离常规浏览器的 User-Agent 特征,可判定为自动化请求,甚至是恶意爬虫。据此可配置 User-Agent 黑名单规则,精准拦截含特定 User-Agent 标识的可疑请求。

配置推荐

推荐您使用 EdgeOne Web 防护功能的自定义规则,配置防护策略,具体操作,请参见自定义规则(https://cloud.tencent.com/document/product/1552/93129)。

对于个人版用户,可以在基础访问管控中,配置规则类型为 User-Agent 管控,匹配方式为请求 User-Agent 等于,匹配内容为python-requests/2.22.0,处置方式为拦截

对于基础版及以上用户,可以在精准匹配策略中,配置匹配字段为 User-Agent 包含python-requests/的请求,处置方式为JavaScript 挑战

中小网站平台

场景三:基于已知恶意 User-Agent 预防拦截

场景示例

对于已知的常见盗刷工具,可提前配置其特征 User-Agent 字符串到自定义规则中。在站点全局或重点路径下预防性开启该规则,可最大程度降低被此类工具盗刷的风险。常见盗刷 User-Agent 如:空 User-Agent; curl/xx.xx; Wget/xx.xx; ApacheBench/xx.xx; python-requests/xx.xx。

配置示例

推荐您使用 EdgeOne Web 防护功能的自定义规则,配置防护策略,具体操作,请参见自定义规则(https://cloud.tencent.com/document/product/1552/93129)。

对于个人版用户,可以在基础访问管控中配置两条规则;

  • 规则 1:配置规则类型为 User-Agent 管控,匹配方式为请求 User-Agent 为空,处置方式为拦截

规则 2:在基础访问管控中,配置规则类型为User-Agent 管控,匹配方式为请求 User-Agent 通配符匹配,匹配内容为curl/; Wget/; ApacheBench/; python-requests/,处置方式为拦截

对于基础版及以上用户,可以在精准匹配策略中配置如下两条规则:

  • 规则 1:精准匹配策略中,配置匹配字段为 User-Agent 包含curl/; Wget/; ApacheBench/; python-requests/ 的请求,执行动作为 JavaScript 挑战

规则 2:精准匹配策略中,配置匹配字段为User-Agent内容为空的请求,执行动作为JavaScript 挑战

中小网站平台

场景四:仅放行常见 User-Agent(临时高防)

在遭受大规模 User-Agent 分散式盗刷时,若难以逐一梳理恶意 User-Agent 的特征,可利用反向逻辑,仅允许常见正常浏览器、App 的合法 User-Agent 访问。该方式可一次性过滤大量可疑请求,但因规则力度大,存在一定误判风险,应结合其他维度特征谨慎使用

配置推荐

推荐您使用 EdgeOne Web 防护功能的自定义规则,配置防护策略,具体操作,请参见自定义规则(https://cloud.tencent.com/document/product/1552/93129)。

对于个人版用户,可以在基础访问管控中,配置规则类型为 User-Agent 管控,匹配方式为请求 User-Agent 通配符不匹配,匹配内容为*Linux*; *Macintosh*; *Android*; *iPhone*; *iPad*; *Windows*,处置方式为拦截。

对于基础版及以上用户,可以在精准匹配规则中,配置匹配字段为 User-Agent 不包含Android, iPhone, iPad, Mac, Windows, Linux的请求,执行动作为JavaScript 挑战。

中小网站平台

场景五:设置 CC 攻击单 IP 高频访问限制(临时高防)

CC 攻击防护通过速率基线学习、头部特征统计分析和客户端 IP 情报等方式识别 CC 攻击,并进行处置。EdgeOne 提供了三种预设 CC 攻击防护策略:

  • 高频访问请求限制:用于应对通过高频和大量并发的连接请求占用服务器资源的 CC 攻击行为,可基于单 IP 源限制访问频次限制。
  • 慢速攻击防护:用于应对通过大量慢速连接请求占用服务器资源的 CC 攻击行为,可基于单会话限制访问连接最低速率,淘汰慢速连接客户端。
  • 智能客户端过滤:融合了速率基线学习、头部特征统计分析和客户端 IP 情报,实时动态生成防护规则。针对来自高危客户端、或者携带高危头部特征的请求进行人机验证。智能客户端过滤默认开启且对符合规则的客户端执行 JavaScript 挑战。

在发生网站疑似遭受盗刷攻击或出现异常用量告警时,建议临时将高频访问请求限制设置为自适应 - 紧急级别,处置方式为 JavaScript 挑战。此举可高效阻止恶意 IP 的大量请求,有效防范盗刷和其他攻击行为。具体操作,请参见CC 攻击防护(https://cloud.tencent.com/document/product/1552/93128)。

中小网站平台

场景六:基于业务水位进行个性化频次控制

在与 DDoS 强攻击的区别是,盗刷往往更加隐蔽,需要结合特定业务场景来进行判断,制定个性化的频次限制策略,以避免误拦截合法用户。无论是针对 IP 还是 User-Agent 的拦截策略都属于精准拦截。然而,在实际攻击中,攻击特征可能不会明显,特别是源 IP 的请求量可能高达数十万。

结合业务场景的防御策略首先需要网站管理者评估业务的正常访问模式,确定业务流量基线。例如在 App 的下载或升级场景下,大多数 IP 通常只会进行一两次下载,少数情况下可能因失败而多次尝试,但通常在合理的频次范围内。如果出现异常的高频率访问,很可能是攻击或恶意刷量的迹象。

在网站遭受盗刷攻击时,域名的带宽将显著增加。为了应对这种情况,推荐您使用 EdgeOne Web 防护功能的速率限制,根据正常业务水位设定阈值,配置限速策略,或通过实时日志监控和调整策略。具体操作,请参见速率限制(https://cloud.tencent.com/document/product/1552/93130)。

基于业务基线的游戏包下载限频

场景示例

某游戏平台提供多款游戏的安装包和更新包下载服务,通过 EdgeOne 加速分发。游戏包的下载 URL 具有固定的模式,例如:

游戏 A 安装包: https://cdn.example.com/games/A/installer_v1.0.zip

游戏 A 更新包: https://cdn.example.com/games/A/patch_v1.1.zip

游戏 B 安装包: https://cdn.example.com/games/B/installer_v2.0.exe

游戏 B 更新包: https://cdn.example.com/games/B/patch_v2.1.exe

游戏版本发布当天,单 IP 下载次数通常为 1 次,个别网络问题导致的重试下载不超过 3 次。但某些 IP 在版本发布后频繁下载安装包和更新包,远超正常用户的行为,触发用量告警。推测可能是盗版网站或分享社区在抓取游戏包,或攻击者意图消耗带宽,可通过配置速率限制规则及时阻断这些恶意请求。

配置推荐

在精准速率限制中,配置匹配对象为自定义防护对象,匹配字段为请求 URL 包含games/; installer/; patch/AND 请求方式(Method)等于GET。统计方式为单个客户端 IP 请求到 EdgeOne 节点时触发,触发方式为计数周期 10 分钟内,超过 3 时触发,触发后,保持该触发状态 1 小时,执行动作为 JavaScript 挑战。详细操作步骤,请参见速率限制(https://cloud.tencent.com/document/product/1552/93130)。

基于日志分析的异常 User-Agent 限频

场景示例

某站点被攻击者大量访问导致用量告警,通过查看实时日志发现访问 IP 分散,可能是分布式攻击,但 User-Agent 非常集中,如:Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0),与正常业务不符。对比平常未被攻击的时间段,发现正常 User-Agent 多样化,覆盖不同浏览器和设备。该可疑 User-Agent 平时访问量极低,此次激增占据大部分流量,基本可判定为 CDN 盗刷攻击,可通过配置速率限制规则及时阻断这些恶意请求。

配置示例

精准速率限制规则中,配置匹配对象为自定义防护对象,匹配字段为 User-Agent 等于Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0),触发方式为计数周期 1 分钟内,计数超过 400 次时触发,统计方式为单个客户端 IP 请求到 EdgeOne 节点时触发,触发后,保持该触发状态 30 分钟,执行动作为 JavaScript 挑战。详细操作步骤,请参见速率限制(https://cloud.tencent.com/document/product/1552/93130)。

EdgeOne防盗链实践教程

除了针对盗刷本身的直接防护措施外,网站还应重视对资源本身的保护,采取主动防御。防盗链是避免网站资源被未授权使用的重要手段。

盗链是指未经网站所有者许可,在其他网站上非法引用、使用原站点的资源(如图片、视频、软件包等),消耗原站点的带宽和资源的行为。它不仅侵犯了原站点的合法权益,也可能对其产生不利的 SEO 影响。因此积极采取防盗链措施十分必要。

EdgeOne 提供了完善的防盗链解决方案,可从 Referer 防盗链、Token 防盗链、远程鉴权等多个角度对盗链行为进行管控,保护您的内容免受未经授权的盗链访问,提升加速服务的安全性。更多详情,可参考EdgeOne防盗链实践教程(https://cloud.tencent.com/document/product/1552/108736)。

企业级业务平台

对于面临盗刷威胁的线上业务站点,除了采用个人站点常用的通用防护手段外,建议选择 EdgeOne 标准版或企业版,并开通 Bot 管理 功能,利用其内置的人工智能引擎和丰富的行为特征分析,您将获得更智能、更省心的 Bot 管理体验,从容应对各类盗刷攻击。

Bot 智能分析模块采用先进的机器学习算法,通过海量数据训练形成威胁识别模型。该模型从请求速率、IP 情报、URL 序列、SSL/TLS 指纹等多维度提取请求的关键行为特征,通过聚类分析、相似度比对等技术,准确判断请求来源是否为自动化程序,以及是否具有恶意目的,以全方位、立体化的分析方法降低了对合法请求的误伤。

此外,EdgeOne 企业版还支持 JA3 指纹特征,网站管理员可针对自身业务场景,预设高危 Bot 的指纹条件,实现对特定攻击工具的精准拦截。例如,将恶意爬虫常用的 Python 库、无头浏览器等指纹纳入盗刷防御规则,即可自动拦截相关流量,让防护更加主动和高效。

腾讯云EdgeOne 周年庆回馈新老用户,全新推出试用版套餐,体验web防护-精准匹配策略、Bot管理等高级防护能力,无惧盗刷攻击,全面防护您的业务安全!

0 人点赞