通过配置反爬虫防护策略阻止爬虫攻击
网络爬虫为网络信息收集与查询提供了极大的便利,但同时也对网络安全产生以下负面影响:
- 网络爬虫会根据特定策略尽可能多的“爬过”网站中的高价值信息,占用服务器带宽,增加服务器的负载
- 恶意用户利用网络爬虫对Web服务发动DoS攻击,可能使Web服务资源耗尽而不能提供正常服务
- 恶意用户利用网络爬虫抓取各种敏感信息,造成网站的核心数据被窃取,损害企业经济利益
Web应用防火墙可以通过Robot检测(识别User-Agent)、网站反爬虫(检查浏览器合法性)和CC攻击防护(限制访问频率)三个反爬虫策略,全方位帮您解决业务网站遭受的爬虫问题。
前提条件
域名已成功接入WAF。
开启Robot检测(识别User-Agent)
开启Robot检测后,WAF可以检测和拦截恶意爬虫、扫描器、网马等威胁。
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域或项目。
- 单击页面左上方的,选择 。
- 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
- 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。
- 确认“Web基础防护”的状态为。
图1 Web基础防护配置框
- 在“防护配置”页面,开启“常规检测”和“Webshell检测”开关。
- 选择“网站反爬虫”配置框,开启网站反爬虫。
- :开启状态。
- :关闭状态。
- 在“特征反爬虫”页面,根据您的业务场景,开启合适的防护功能。
图2 特征反爬虫防护
当WAF检测到恶意爬虫、扫描器等对网站进行爬取时,将立即拦截并记录该事件,您可以在“防护事件”页面查看爬虫防护日志。
开启网站反爬虫(检查浏览器合法性)
开启网站反爬虫,WAF可以动态分析网站业务模型,结合人机识别技术和数据风控手段,精准识别爬虫行为。
- 登录管理控制台。
- 单击管理控制台左上角的,选择区域或项目。
- 单击页面左上方的,选择 。
- 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
- 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。
- 选择“网站反爬虫”配置框,开启网站反爬虫。
- :开启状态。
- :关闭状态。
- 选择“JS脚本反爬虫”页签,用户可根据业务需求更改JS脚本反爬虫的“状态”。
默认关闭JS脚本反爬虫,单击,在弹出的“警告”提示框中,单击“确定”,开启JS脚本反爬虫。
防护动作:拦截、仅记录、人机验证。
人机验证:JavaScript挑战失败,弹出验证码提示,输入正确的验证码,请求将不受访问限制
- 根据业务配置JS脚本反爬虫规则,相关参数说明如表1所示。
JS脚本反爬虫规则提供了“防护所有请求”和“防护指定请求”两种防护动作。
表1 JS脚本反爬虫参数说明 参数
参数说明
示例
规则名称
自定义规则名称。
waf
规则描述
可选参数,设置该规则的备注信息。
-
生效时间
立即生效。
立即生效
条件列表
条件设置参数说明如下:
- 字段:在下拉列表中选择需要防护的字段,当前仅支持“路径”、“User Agent”。
- 子字段
- 逻辑:在“逻辑”下拉列表中选择需要的逻辑关系。
说明:
当“逻辑”关系选择“包含任意一个”、“不包含任意一个”、“等于任意一个”、“不等于任意一个”、“前缀为任意一个”、“前缀不为任意一个”、“后缀为任意一个”或者“后缀不为任意一个”时,需要选择引用表。
- 内容:输入或者选择条件匹配的内容。
“路径”包含“/admin/”
优先级
设置该条件规则检测的顺序值。如果您设置了多条规则,则多条规则间有先后匹配顺序,即访问请求将根据您设定的优先级依次进行匹配,优先级较小的规则优先匹配。
5
开启该防护后,非浏览器的访问将不能获取业务页面。
配置CC攻击防护(限制访问频率)
开启CC攻击防护,限制单个IP/Cookie/Referer访问者对您的网站上特定路径(URL)的访问频率,缓解CC攻击对业务的影响。