自定义规则

更新时间:
复制为 MD 格式

如果您的站点需要自定义控制用户的访问策略,您可以在自定义规则中设置请求匹配条件,并通过拦截、观察等方式控制匹配到的用户请求,帮助您的站点更加灵活的限制用户可访问的内容。

配置自定义规则

  1. ESA控制台选择站点管理,在站点列单击目标站点。

  2. 在左侧导航栏,选择安全防护 > WAF

  3. 单击自定义规则页签,进入自定义规则页签,单击新增规则

    • 填写规则名称

    • 如果请求匹配以下规则...区域设置要匹配的用户请求特征,请求匹配规则参见规则表达式的组成

    • 则执行…区域设置当请求命中该规则时,要执行的防护动作,详细信息请参见执行动作说明

  4. 单击确定

执行动作说明

  • 拦截:表示拦截命中规则的请求,并向发起请求的客户端返回拦截响应页面。

    说明

    若需要在拦截操作中自定义拦截页面时,请参见配置自定义页面

  • 观察:表示不拦截命中规则的请求,只通过日志记录请求命中了规则。您可以通过WAF日志,查询命中当前规则的请求,分析规则的防护效果(例如,是否有误拦截等)。观察模式方便您试运行首次配置的规则,待确认规则没有产生误拦截后,再将规则设置为拦截模式。

    说明

    只有开通日志服务,您才可以使用日志查询功能。

  • JS挑战:表示ESA向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码,则ESA在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。

  • 滑块挑战ESA向客户端返回滑动验证页面。如果客户端成功执行滑动验证,则ESA在 30 分钟(默认)内放行该客户端的所有请求,否则拦截请求。

    说明
    • 如果结果为通过(即正常用户成功完成滑块挑战),则计入流量。如果结果为拦截,则免计流量。

    • WAF自定义规则、频次控制规则的JS挑战和滑块验证仅适用于静态页面。如需兼容XMLHttpRequestFetch等异步接口响应,需在Bots中启用JS挑战和滑块验证。启用后,当请求命中规则时,ESA对客户端发起JS挑战或滑块验证,当客户端通过后将会在HTTP报文的Header中分别植入Cookie acw_sc__v2acw_sc__v3,用于表示客户端已通过验证。

配置示例

场景:通过安全分析事件分析中发现了IP192.168.0.1的客户端向主机dns.example.com发起了异常请求行为。image

配置方式

image

参数

示例值

如果请求匹配以下规则...

同时满足:

  • 主机名等于dns.example.com

  • 客户端IP等于192.168.0.1

可直接编辑使用表达式:(http.host eq "dns.example.com" and ip.src eq 192.168.0.1)

则执行…

拦截并响应默认拦截页面

防护效果:符合自定义规则条件的请求将被拦截。image

不同套餐的支持情况

功能项

免费版

基础版

标准版

高级版

企业版

自定义规则条数

5

10

50

100

100

相关文档

规则相关的功能,在生效优先级、可重入性、生效颗粒度上存在差异,详细情况请查看规则相关功能的特性说明