更新时间:2026-05-20 GMT+08:00
分享

通过拦截UA实现防盗刷

很多攻击者使用伪造的UA(User-Agent)访问加速域名资源,可以通过日志分析和筛选出这些UA信息,然后拦截这部分UA的访问。

什么是UA

用户代理(User Agent,UA)是客户端向服务器标识自身软硬件配置的特殊字符串,包含操作系统、浏览器版本、渲染引擎等信息,以便服务器适配不同页面布局或功能。UA的格式通常如下:

User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36
  • 浏览器默认以Mozilla/5.0开头
  • PC端和移动端
    • PC端一般携带Windows NT、Macintosh、Linux等系统标识。
    • 移动端一般携带Android、iPhone/iPad、Mobile等标识。
  • 浏览器内核一般有Chrome、Safari 、Edge、Firefox

识别攻击UA

相比于正常UA,攻击者伪造的UA可能有以下的问题

  1. User-agent异常或畸形:这类UA包含Python等自动化工具特征、明显格式错乱的UA(例如Mozilla///)、明显不合理的UA(例如www.example.com)。
  2. User-agent不合理:例如,对于微信推广的H5页面,正常用户都应该通过微信发起访问,如果UA来自于Windows桌面浏览器(例如MSIE 6.0),则明显是不合理的。

通过CDN提供的日志和报表能力,分析和提取异常UA。可以通过以下几种方式分析和筛选异常UA:

  1. 分析离线日志:通过查看对应时段的离线访问日志,分析HTTP请求信息,识别异常IP地址、防盗链等信息,以便针对性设置防护规则。详细信息请参考通过日志分析恶意访问地址
  2. 分析实时日志:如果在发生攻击行为之前,域名已经接入实时日志,可以通过实时日志分析更多客户端信息,如X-Forwarded-For字段、请求时间等。
    1. 可通过LTS为CDN定制的仪表盘分析日志信息,详见CDN仪表盘模板
    2. 也可以登录LTS服务控制台,选择华北-北京四region,在日志管理页面单击对应的日志组日志流名称,分析该日志组中相关日志详情。
    • 如需使用实时日志功能,可参考实时日志将域名的实时日志上报至LTS。
    • 开通实时日志后,CDN节点实时日志推送暂不收费(后续是否会收费请关注产品动态),基础存储与分析相关费用由云日志服务(LTS)收。
  3. 查看运营报表:CDN支持定制热门URL、热门Referer、热门UA和热门客户端IP等报表,如果在发生攻击前被攻击的域名已经定制了运营报表,可以下载攻击时段的报表分析相关信息,详见运营报表

    实时日志和运营报表均需要提前配置,如果因攻击产生高额账单时未配置这两项功能,只能通过离线日志分析历史数据。

拦截UA

分析出异常UA后,可以通过以下方式拦截异常UA访问。

  1. 配置UA黑名单过滤可疑User-Agent。
    1. 登录CDN控制台
    2. 在左侧菜单栏中,选择域名管理
    3. 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
    4. 选择“访问控制”页签。
    5. 在User-Agent黑白名单配置模块,打开开关,进入“编辑User-Agent黑白名单”页面。

      类型:选择黑名单

      可根据业务需要勾选拒绝空User-Agent访问

      规则:输入筛选的异常UA,本文以www.example.com为例
      图1 配置User-Agent黑白名单
  2. 通过配置规则引擎功能,实现IP访问拦截。
    1. 登录CDN控制台
    2. 在左侧菜单栏中,选择域名管理
    3. 选择“规则引擎”页签,单击创建规则,进入配置界面。

      条件:选择User-Agent

      运算符:选择包含任意一个

      :输入已分析出异常UA,本文以www.example.com为例

      区分大小写:关闭

      执行动作:选择访问控制,类型选择拒绝

      图2 配置规则引擎
  3. 开通边缘安全防护:可以使用边缘安全服务提供的精准访问防护能力,阻断异常UA访问,达到防盗刷效果。

相关文档