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

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

网络架构概述

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


一键部署

为了让您体验WAF抵御异常UA攻击的功能,我们提供了一键部署服务,帮助您快速搭建网络架构。

重要

  • 一键部署过程中ECS和CLB会产生一定费用,如何收费请参见ECS按量付费CLB按量付费

  • 创建的资源不再需要时,请及时进行释放或退订,避免产生额外的费用。

一键部署会为您创建一个专有网络VPC、一个交换机、一个安全组(允许22、80、443端口访问)、一个开通公网访问的按量付费ECS实例、一个CLB(监听端口为80)。您可以单击一键部署进入调试页面,发起调试后点击预览并执行。部署完成后,需要您将Web服务部署到您的ECS服务器,并为七层CLB(HTTP/HTTPS)开启WAF防护

2025-03-12_14-36-06 (1)

异常UA攻击概述

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

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

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

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

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

前提条件

操作步骤

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

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

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

    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. 规则名称:本示例规则名称为Abnormal_UA_Interception

    2. 匹配条件:匹配字段选择User-Agent,逻辑符选择包含,在本示例中符合业务场景的匹配内容为Apache-HttpClient/4.5.13 (Java/1.8.0_381)

      您可以根据您实际的业务需求,填写最符合场景的匹配内容,以确保规则的有效性和精确性。

    3. 规则动作拦截

    image

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

    image

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

    image

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

验证

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

查看WAF日志

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

说明

查看WAF日志需要防护对象已开启日志服务

  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值