在当前网络安全环境下,防护源站免受恶意攻击至关重要。异常的用户代理(User-Agent,简称UA)常被用于执行各种攻击,如爬虫抓取、漏洞扫描、DDoS攻击等。本文将介绍如何利用Web应用防火墙(Web Application Firewall,简称WAF)3.0的自定义防护功能来防御异常用户代理(UA)对源站的攻击。
网络架构概述
本示例的网络架构如下:WAF拦截异常流量,确保正常用户流量安全到达云服务器。
异常UA攻击概述
异常UA攻击通常指攻击者伪造或篡改HTTP请求中的User-Agent头,以隐藏真实身份或绕过安全防护措施。这类攻击可能包括:
恶意爬虫:大量抓取网站内容,占用带宽和资源。
漏洞扫描:自动化扫描网站漏洞,寻找可利用的安全漏洞。
DDoS攻击:发送大量请求,导致服务器过载无法正常响应。
欺骗与绕过:通过伪造UA绕过特定的安全策略或访问控制。
前提条件
已将Web业务添加为WAF 3.0的防护对象和防护对象组。
操作步骤
步骤一:收集和分析UA数据
在配置防护规则之前,首先需要了解正常用户访问时使用的User-Agent信息。这有助于区分正常流量和异常流量。本示例中七层CLB已开启日志访问,并可以在日志服务中查看并分析日志信息。CLB开启日志并查看分析的具体操作请参见开启数据采集功能。
登录日志服务控制台。选择您的目标project与logstore,进入日志界面。
CLB开启日志采集后,日志服务会采集经过CLB的请求报文信息,具体的字段请参见负载均衡7层访问日志的字段详情。其中http_user_agent就是负载均衡收到的请求报文中的UA。单击http_user_agent并选择数量最多的UA值,界面会筛选出指定时间内,包含该UA值的全部日志信息。
可以发现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能够有效拦截符合这些规则条件的异常流量:
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择。
在Web 核心防护页面下方自定义规则区域,单击新建模板。
如果您是第一次创建自定义规则模板,您也可以在Web 核心防护页面上方的自定义规则卡片区域,单击立即配置。
在新建模板-自定义规则页面下单击新建规则,为当前模板新建自定义规则。
规则名称:本示例规则名称为异常UA拦截
匹配条件:匹配字段选择User-Agent,逻辑符选择不包含任一值,在本示例中符合业务场景的匹配内容为Android、iPhone、iPad、Mac、Windows和Linux。您可以根据您实际的业务需求,填写最符合场景的匹配内容,以确保规则的有效性和精确性。
规则动作:拦截
点击确定后,规则配置中生成规则名称为异常UA拦截的自定义规则,您需要记录对应的规则ID将在之后的报表中查看该规则ID的拦截效果,该示例的规则ID为20766535。
在新建模板-自定义规则页面,在待选择对象区域中选择需要防护的防护对象或防护对象组,添加到已选择对象区域。
单击确定,页面弹出添加成功的提示后,表示自定义规则模板新建成功。
验证
自定义规则生效后,可以通过以下几种方法验证WAF的防护效果,并查看日志中的请求报文信息以及报表中规则的生效情况。
查看WAF日志
WAF日志可查看被成功拦截的异常UA请求,final_action为block表示该请求被拦截,详情的日志字段信息请查阅日志字段说明。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择 。
在日志服务页面上方,选择CLB防护对象。如下图所示,异常UA流量被WAF拦截,并在日志中记录。
查看WAF安全报表
WAF安全报表中可以查看WAF自定义规则的防护效果。
在左侧导航栏,选择。在安全报表页面,选择自定义规则页签,选择接入的CLB防护对象。
在top10规则详情区域,可见步骤二创建的拦截异常UA规则的命中次数。
查看业务日志
异常流量拦截生效后,业务服务器的日志将不会再接收到异常流量的请求,本示例中如下图可见CLB接收到的流量详情,在15分钟内,CLB实例不再接收到被WAF拦截的UA异常请求。
- 本页导读 (1)
- 网络架构概述
- 异常UA攻击概述
- 前提条件
- 操作步骤
- 步骤一:收集和分析UA数据
- 步骤二:创建WAF自定义规则
- 验证
- 查看WAF日志
- 查看WAF安全报表
- 查看业务日志