通过自定义防护功能抵御异常UA攻击

更新时间:2025-03-26 07:14:43

在当前网络安全环境下,防护源站免受恶意攻击至关重要。异常的用户代理(User-Agent,简称UA)常被用于执行各种攻击,如爬虫抓取、漏洞扫描、DDoS攻击等。本文将介绍如何利用Web应用防火墙(Web Application Firewall,简称WAF)3.0的自定义防护功能来防御异常用户代理(UA)对源站的攻击。

网络架构概述

本示例的网络架构如下:WAF拦截异常流量,确保正常用户流量安全到达云服务器。

image

异常UA攻击概述

异常UA攻击通常指攻击者伪造或篡改HTTP请求中的User-Agent头,以隐藏真实身份或绕过安全防护措施。这类攻击可能包括:

  • 恶意爬虫:大量抓取网站内容,占用带宽和资源。

  • 漏洞扫描:自动化扫描网站漏洞,寻找可利用的安全漏洞。

  • DDoS攻击:发送大量请求,导致服务器过载无法正常响应。

  • 欺骗与绕过:通过伪造UA绕过特定的安全策略或访问控制。

前提条件

操作步骤

步骤一:收集和分析UA数据

在配置防护规则之前,首先需要了解正常用户访问时使用的User-Agent信息。这有助于区分正常流量和异常流量。本示例中七层CLB已开启日志访问,并可以在日志服务中查看并分析日志信息。CLB开启日志并查看分析的具体操作请参见开启数据采集功能

  1. 登录日志服务控制台选择您的目标projectlogstore,进入日志界面。image

  2. CLB开启日志采集后,日志服务会采集经过CLB的请求报文信息,具体的字段请参见负载均衡7层访问日志的字段详情。其中http_user_agent就是负载均衡收到的请求报文中的UA。单击http_user_agent并选择数量最多的UA值,界面会筛选出指定时间内,包含该UA值的全部日志信息。

    image

    可以发现UA值为Apache-HttpClient/4.5.13 (Java/1.8.0_381)的请求占据了这个时段99%,15分钟内有4368笔请求的UA值为Apache-HttpClient/4.5.13 (Java/1.8.0_381)。

步骤二:创建WAF自定义规则

如果某域名或接口被攻击者恶意访问,导致日志中存在大量伪造的非正常 User-Agent,例如空值、随机字符串等,您需要根据业务场景识别异常请求。

在本示例中,查看步骤一统计的数据,我们发现同一UA的请求数量突然激增,远远超出正常水平,这表明可能存在异常流量。根据这种情况,我们需要按照以下操作步骤创建自定义规则,使WAF能够有效拦截符合这些规则条件的异常流量:

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,选择防护配置 > Web 核心防护

  3. Web 核心防护页面下方自定义规则区域,单击新建模板

    说明

    如果您是第一次创建自定义规则模板,您也可以在Web 核心防护页面上方的自定义规则卡片区域,单击立即配置

  4. 新建模板-自定义规则页面下单击新建规则,为当前模板新建自定义规则。

    1. 规则名称:本示例规则名称为异常UA拦截

    2. 匹配条件:匹配字段选择User-Agent,逻辑符选择不包含任一值,在本示例中符合业务场景的匹配内容为AndroidiPhoneiPadMacWindowsLinux。您可以根据您实际的业务需求,填写最符合场景的匹配内容,以确保规则的有效性和精确性。

    3. 规则动作拦截

    image

  5. 点击确定后,规则配置中生成规则名称为异常UA拦截的自定义规则,您需要记录对应的规则ID将在之后的报表中查看该规则ID的拦截效果,该示例的规则ID20766535。

    image

  6. 新建模板-自定义规则页面,在待选择对象区域中选择需要防护的防护对象防护对象组,添加到已选择对象区域。

    image

  7. 单击确定,页面弹出添加成功的提示后,表示自定义规则模板新建成功。

验证

自定义规则生效后,可以通过以下几种方法验证WAF的防护效果,并查看日志中的请求报文信息以及报表中规则的生效情况。

查看WAF日志

WAF日志可查看被成功拦截的异常UA请求,final_actionblock表示该请求被拦截,详情的日志字段信息请查阅日志字段说明

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,选择检测与响应 > 日志服务

  3. 日志服务页面上方,选择CLB防护对象。如下图所示,异常UA流量被WAF拦截,并在日志中记录。

    image

查看WAF安全报表

WAF安全报表中可以查看WAF自定义规则的防护效果。

  • 登录Web应用防火墙3.0控制台

  • 在左侧导航栏,选择检测与响应 > 安全报表。在安全报表页面,选择自定义规则页签,选择接入的CLB防护对象。

    image

    top10规则详情区域,可见步骤二创建的拦截异常UA规则的命中次数。

查看业务日志

异常流量拦截生效后,业务服务器的日志将不会再接收到异常流量的请求,本示例中如下图可见CLB接收到的流量详情,在15分钟内,CLB实例不再接收到被WAF拦截的UA异常请求。

image

  • 本页导读 (1)
  • 网络架构概述
  • 异常UA攻击概述
  • 前提条件
  • 操作步骤
  • 步骤一:收集和分析UA数据
  • 步骤二:创建WAF自定义规则
  • 验证
  • 查看WAF日志
  • 查看WAF安全报表
  • 查看业务日志