配置自定义防护策略

自定义防护策略允许您自定义基于精确匹配条件的访问控制规则和访问频率限制规则。自定义防护策略支持随业务场景定制,可用于盗链防护、网站管理后台保护等场景。

前提条件

背景信息

自定义防护策略通过自定义规则实现,自定义规则分为以下类型:

  • 访问控制规则:根据客户端IP、请求URL及常见的请求头字段定义请求特征匹配条件,对命中匹配条件的请求执行相应处置。例如,您可以使用自定义规则拦截访问指定URI的请求、对包含指定User-Agent内容的请求进行校验等。关于自定义规则支持匹配的请求特征字段,请参见匹配条件说明

  • 频率控制规则:在访问控制匹配条件的基础上,定义访问频率检测条件,对访问频率异常的统计对象执行相应处置。例如,如果同一个IP或会话在短时间内频繁命中匹配条件,您可以通过启用频率控制,在一段时间内拦截该IP或会话的请求。

新建防护策略-自定义策略

  1. 登录DCDN控制台

  2. 在左侧导航栏,单击WAF防护 > 防护策略

  3. 防护策略页面,单击新建策略

  4. 创建防护策略页面,配置防护信息。

    配置模块

    配置项

    说明

    策略信息

    策略类型

    选择自定义防护策略

    策略名称

    您自定义的策略名称,支持输入中文字符、英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。

    设置为默认策略

    当前策略类型的默认策略开关。

    说明
    • 一个策略类型只能设置一个默认策略,默认策略创建后无法更换。

    • 若当前策略类型已有默认策略,则该开关不可配置。

    规则信息

    规则

    当前自定义防护策略规则信息。具体配置方法,请参考自定义规则参数说明

    说明

    最多支持添加10条规则,如果需要增加规则数量配额,需要填写信息申请。

    防护域名

    选择关联策略关系

    防护域名可以关联多个同类型策略。若域名上已有其他同类型策略,该域名的关联策略可选择新增或替换为当前策略。已关联默认策略的域名仅支持替换。取值:

    • 添加并替换原关联策略:解绑已关联的策略并替换至当前策略。

    • 添加并保留原关联策略:当前策略与已绑定的策略同时存在,互不影响。

    防护域名

    选择需要接入当前防护策略中的域名。

  5. 单击创建策略

    新建的防护策略默认开启。

自定义规则参数说明

您可以在新建自定义防护策略时新建自定义规则,或者在新建自定义防护策略后,为已有防护策略新建规则。

配置项

说明

规则名称

您自定义的规则名称,支持使用中文字符、英文字符(大小写)、数字(0~9)及下划线(_),最大输入64个字符。

匹配条件

设置该规则要匹配的请求特征。

单击新增条件,添加一个条件。一个规则中最多可以添加五个条件。如果定义了多个条件,则只有当多个条件同时满足时,才算命中规则。

每个条件由匹配字段逻辑符匹配内容组成。配置示例请参考匹配条件配置示例

关于匹配字段和逻辑符的详细说明,请参见匹配条件说明

频率设置

选择是否启用频率控制。频率控制表示如果来自同一统计对象(IP、会话等)的请求频繁地命中规则,则在一段时间内,对该统计对象的所有访问执行相应处置。

启用频率控制后,您需要设置频率控制参数。具体参数描述,请参见频率控制参数。如果不启用频率控制,则无需设置频率控制参数。

规则动作

选择当请求命中该规则时,要执行的防护动作,取值:

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

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

  • 滑块:表示WAF向客户端返回滑动验证页面。如果客户端成功执行滑动验证,则WAF在一段时间(默认30分钟)内放行该客户端的所有请求(不需要重复验证),否则拦截请求。

  • 观察:表示不拦截命中规则的请求,只通过日志记录请求命中了规则。您可以通过WAF日志,查询命中当前规则的请求,分析规则的防护效果(例如,是否有误拦截等)。

    说明

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

    观察模式方便您试运行首次配置的规则,待确认规则没有产生误拦截后,再将规则设置为拦截模式。

如果打开频率设置开关,您需要配置以下频率控制参数。

类型

配置项

说明

示例

频率检测条件

统计对象

选择请求频率的统计对象,取值:

  • IP:表示统计同一个IP发起请求的频率。

  • 自定义Header:表示统计包含指定Header的请求的频率。

  • 自定义参数:表示统计包含指定参数的请求的频率。

  • 自定义Cookie:表示统计包含指定Cookie的请求的频率。

  • Session:表示统计来自同一个会话发起请求的频率。

统计对象为IP、统计时长为60秒、阈值为10次,表示如果某个客户端IP在60秒内命中匹配条件的次数超过10次,则对该IP触发黑名单处置。

说明

由于DCDN由分布式节点组成,因此该阈值并非100%准确。建议您实际配置时,配置比期望值稍低的阈值。

统计时长(秒)

设置统计周期。

  • 取值范围:5~1800。

  • 单位:秒。

阈值

  • 请求数阈值(次):设置在统计时长内,允许统计对象命中匹配条件的最大次数。

    • 取值范围:2~50000。

    • 单位:次。

    • 如果在统计时长内,一个统计对象命中规则的次数超过该阈值,则对该对象触发黑名单处置。

  • 流量阈值:设置在统计时长(秒)内,允许统计对象命中匹配条件的最大流量。

  • 同时设置请求数阈值(次)与流量阈值

响应码检测条件

响应码

选择是否在频率检测的基础上,启用响应码检测(表示对象既要满足频率检测条件,还要满足特定的响应码特征,才会触发黑名单处置)。

启用响应码检测时,需设置要统计的响应码。

(在以上频率检测条件示例基础上)响应码为404、数量为5,表示如果某个客户端IP在60秒内命中匹配条件的次数超过10次,并且获得404响应的次数超过5次,则对该IP触发黑名单处置。

按数量

设置在统计时长内,允许指定的响应码在请求响应中出现的最大次数。

说明

数量与比例(%)二选一。

比例(%)

设置在统计时长内,允许指定的响应码在请求响应中的最大占比。

说明

数量与比例(%)二选一。

黑名单处置

黑名单生效范围

设置黑名单处置的生效范围,取值:

  • 仅作用于当前规则的匹配条件:表示只处置满足当前规则匹配条件的请求。

  • 作用于整个域名:表示处置受限制对象的所有请求。

表示将命中频率检测条件的统计对象加入黑名单,在一段时间(黑名单超时时间)内,对来自该对象的请求(可通过黑名单生效范围设置作用于所有请求、命中匹配条件的请求)执行规则动作中定义的处置。

黑名单超时(秒)

设置黑名单处置的生效时长。

  • 取值范围:60~86400。

  • 单位:秒。

相关API