概述
恶意攻击者通常会对目标站点进行系统化的漏洞扫描,短时间内发送大量攻击请求来探测安全漏洞。这种高频扫描行为不仅会消耗服务器资源,更可能导致漏洞被发现和利用,进而造成数据泄露、业务中断等严重后果。高频扫描防护通过智能识别短时间内频繁命中托管规则的访客,自动封禁其后续访问,从而阻断攻击链条,缓解安全漏洞或弱点被系统化探测和利用的风险。
说明:
注1:高频扫描防护仅统计命中「配置为拦截」的托管规则的请求。配置为观察模式的托管规则命中不会计入统计。
注2:高频扫描防护属于「评估模式」的管控范围。当评估模式启用时,即使高频扫描防护配置为拦截,也不会实际拦截请求,而是仅记录日志。
注3:高频扫描防护适用于标准版套餐以上(含试用套餐)。
使用场景
高频扫描防护可有效应对多种恶意扫描攻击,典型场景包括:
漏洞扫描攻击:攻击者使用自动化工具对网站进行大规模漏洞扫描,试图发现 SQL 注入、XSS、文件包含等安全漏洞。高频扫描防护能够快速识别此类行为并自动封禁攻击源。
API 接口探测:攻击者对 API 接口进行系统化测试,尝试发现未授权访问点或参数注入漏洞。通过监控 API 请求的异常模式,及时阻断恶意探测行为。
0-Day 漏洞利用:当新的安全漏洞被公开后,攻击者会快速进行大规模扫描利用。高频扫描防护结合托管规则的实时更新,能够在攻击规模化之前进行有效拦截。
配置高频扫描防护策略
示例场景
某金融科技公司运营着在线支付和借贷业务平台,由于涉及用户资金和敏感金融数据,对安全防护要求极为严格。该平台经常遭受自动化工具的高频漏洞扫描攻击,攻击者试图在短时间内探测系统漏洞,一旦发现可利用的安全缺陷就会立即发起攻击。为确保业务安全,需要对任何疑似扫描行为进行零容忍处理。
业务特点:
金融业务对安全要求极高,不允许任何潜在的安全风险。
正常用户访问模式相对固定,很少在短时间内触发大量安全规则。
需要快速响应和阻断任何异常扫描行为。
业务连续性要求高,不能因为防护策略影响正常用户体验。
防护需求:
对任何疑似扫描行为进行即时拦截。
最小化攻击者的探测窗口期。
确保正常业务不受影响。
提供详细的攻击日志用于后续分析。
操作步骤
针对此类高安全要求的金融业务场景,建议采用以下严格的高频扫描防护配置:
1. 登录 边缘安全加速平台 EO 控制台,在左侧菜单栏中,单击边缘安全 > Web 防护。
2. 在 Web 防护页面顶部,选择相应的防护策略配置方式:
若需为整个站点配置统一策略,保持在站点级防护策略标签页
若需为特定域名配置差异化策略,单击域名级防护策略,选择目标域名,例如:
pay.example.com
3. 在页面中找到托管规则模块,定位到高频扫描防护功能区域。
4. 单击高频扫描防护右侧的配置,开启功能配置。
5. 在弹出的配置窗口中,打开启用规则的开关后,按照示例场景填写防护参数,详情可参见 配置项说明。
触发条件:窗口时长设置为 5 秒,请求数阈值设置为 1 次。
访客匹配方式:选择客户端 IP。
封禁时长:设置为 10 分钟。
处置方式:选择拦截。


6. 单击保存完成配置。规则将立即在全球边缘节点部署生效,任何客户端在 5 秒内触发1次托管规则拦截,就会被立即封禁10分钟。
配置项说明
触发条件:触发条件决定了何时启动高频扫描防护机制。高频扫描防护使用滚动窗口统计方式,在任意时间窗口内,只要匹配请求数量达到阈值,即触发防护规则。封禁期间如有新的匹配请求,不会重新计算封禁时长。统计时间窗口,支持的范围为 1-1800 秒。默认值为 60 秒。
访客匹配方式:访客匹配方式决定了如何识别和区分不同的访客。
客户端 IP:直接使用连接的客户端IP地址进行匹配。适用于直连访问场景或需要对代理服务器进行管控的情况。(推荐)
客户端 IP(优先匹配 XFF 头部):优先从 X-Forwarded-For 头部获取真实客户端IP,适用于通过其他反向代理服务访问 EdgeOne 的场景。
说明:
由于请求头部可能被篡改伪造,如您的站点通过其他反向代理接入后访问 EdgeOne,建议在选择 客户端 IP(优先匹配 XFF 头部) 方式匹配访客的同时,配置自定义规则,仅限您指定的反向代理服务访问 EdgeOne,以减少绕过防护的风险。
封禁时长:封禁时长决定了触发高频扫描防护后,对访客进行处置的持续时间。可配置时间范围:1-1440 分钟。默认值为 30 分钟。
说明:
对于触发高频扫描防护的客户端,持续对其请求进行处置。封禁期间的请求不会重新触发计数统计。
处置方式:处置方式决定了对触发高频扫描防护的访客采取的具体行动,支持以下三种:
观察:仅记录日志,不对请求进行实际处置。适用于策略测试和效果评估阶段。
拦截:直接拒绝请求并返回拦截页面。适用于明确需要阻断恶意访问的场景。(推荐)
JavaScript 挑战:向客户端发送 JavaScript 挑战,要求执行特定代码后才能继续访问。能够有效区分自动化工具和真实用户,适用于需要平衡安全性和用户体验的场景。