更新时间:2025-09-15 GMT+08:00
分享

配置精准访问防护规则

精准访问防护策略可对HTTP首部、Cookie、访问URL、请求参数或者客户端IP进行条件组合,定制化防护策略,为您的网站带来更精准的防护。

精准访问防护规则允许您设置访问防护规则,对常见的HTTP字段(如IP、路径、Referer、User Agent、Params等)进行条件组合,用来筛选访问请求,并对命中条件的请求设置阻断、仅记录、放行或JS挑战操作。

精准访问防护规则可以添加引用表,引用表防护规则对所有防护域名都生效,即所有防护域名都可以使用精准防护规则的引用表。

前提条件

已添加防护网站,详情操作请参见添加防护网站

约束条件

  • 添加或修改防护规则后,规则生效需要等待几分钟。规则生效后,您可以在“防护事件”页面查看防护效果。
  • 当精准访问防护规则的“防护动作”设置为“阻断”时,您可以配置攻击惩罚标准。配置攻击惩罚后,如果访问者的IP、Cookie或Params恶意请求被拦截时,边缘安全将根据攻击惩罚设置的拦截时长来封禁访问者。

应用场景

精准访问防护支持业务场景定制化的防护策略,可用于盗链防护、网站管理后台保护等场景。

操作步骤

  1. 登录EdgeSec服务控制台。
  2. 在左侧导航栏选择安全防护 > 域名接入,进入“安全防护”“域名接入”页面。
  3. 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面。

    图1 网站列表

  4. “精准访问防护”配置框中,用户可根据自己的需要更改“状态”

    图2 精准访问防护配置框

  5. “精准访问防护配置”页面左上角,单击“添加规则”
  6. 在弹出的对话框中,根据表1表 条件列表配置添加精准访问防护规则。

    图3的配置为例,其含义为:当用户访问目标域名下包含“/admin”的URL地址时,边缘安全将阻断该用户访问目标URL地址。

    如果不确定配置的精准访问防护规则是否会误拦截正常的访问请求,您可以先将精准访问防护规则的“防护动作”设置为“仅记录”,在“防护事件”页面查看防护事件,确认不会误拦截正常的访问请求后,再将该精准访问防护规则的“防护动作”设置为“阻断”

    图3 添加精准访问防护规则
    表1 规则参数说明

    参数

    参数说明

    取值样例

    规则名称

    用户自定义精准访问防护规则的名字。

    --

    规则描述

    (可选)对规则进行简单描述。

    --

    条件列表

    单击“添加”增加新的条件,一个防护规则至少包含一项条件,最多可添加30项条件,多个条件同时满足时,本条规则才生效。

    条件设置参数说明如下:
    • 字段
      说明:

      “字段”“地理位置”“ASN”时,暂不支持IPV6类型IP请求匹配。

    • 子字段:当字段选择“IP”“Params”“Cookie”或者“Header”时,请根据实际使用需求配置子字段。
      须知:

      子字段的长度不能超过2048字节,且只能由数字、字母、下划线和中划线组成。

    • 逻辑:在“逻辑”下拉列表中选择需要的逻辑关系。
      说明:
      • 选择“包含任意一个”“不包含所有”“等于任意一个”“不等于所有”“前缀为任意一个”“前缀不为所有”“后缀为任意一个”或者“后缀不为所有”时,“内容”需要选择引用表名称,创建引用表的详细操作请参见创建引用表对防护指标进行批量配置
      • “不包含所有”“不等于所有”“前缀不为所有”“后缀不为所有”是指当访问请求中字段不包含、不等于、前/后缀不为引用表中设置的任何一个值时,将进行防护动作(阻断或仅记录)。例如,设置“路径”字段的逻辑为“不包含所有”,选择了“test”引用表,如果“test”引用表中设置的值为test1、test2和test3,则当访问请求的路径不包含test1、test2或test3时,将进行防护动作。
      • 配置条件为长度相关的逻辑时,长度的值不宜过大。当用户请求的长度过大时,可能会被后端引擎之前的服务拦截,导致请求无法到达后端引擎,从而使配置的防护规则失效。
    • 内容:输入或者选择条件匹配的内容。
    说明:

    具体的配置请参见表2

    • “路径”包含“/admin/”
    • “User Agent”前缀不为“mozilla/5.0”
    • “IP”等于“192.168.2.3”
    • “Cookie[key1]”前缀不为“jsessionid”

    防护动作

    可选择“阻断”“放行”“仅记录”“JS挑战”(返回JS代码)。

    说明:
    • JS挑战不支持跨域执行。
    • JS挑战依赖JavaScript在浏览器环境中执行,如果是不支持JavaScript的环境,如纯文本终端、某些不具备完整浏览器功能的设备或环境,就无法进行JS挑战。因为这些环境无法运行用于验证用户身份和合法性的JavaScript代码,也就无法完成挑战流程。
    • JS挑战完成后,需要依赖响应页面在浏览器中渲染来恢复页面,对于响应不需要浏览器页面渲染的情况,会出现显示问题(如一直显示挑战页面)。

    “阻断”

    攻击惩罚

    “防护动作”设置为“阻断”时,您可以设置攻击惩罚标准。设置攻击惩罚后,当访问者的IP、Cookie或Params恶意请求被拦截时,边缘安全将根据惩罚标准设置的拦截时长来封禁访问者。

    长时间IP拦截

    优先级

    设置该条件规则检测的顺序值。如果您设置了多条规则,则多条规则间有先后匹配顺序,即访问请求将根据您设定的精准访问控制规则优先级依次进行匹配,优先级较小的精准访问控制规则优先匹配。

    您可以通过优先级功能对所有精准访问控制规则进行排序,以获得最优的防护效果。

    • 设置优先级:自定义优先级数值,取值范围为1~100。
    • 指定优先级位置:可以插入到已有规则之前或之后,插入后其余规则优先级会自动调整。
    须知:

    如果多条精准访问控制规则的优先级取值相同,则根据添加防护规则的先后顺序进行排序匹配。

    5

    指定生效时间

    • “立即生效”:设置后立即生效。
    • “时间段生效”:设置一段时间内需要生效的时间。
    • “周期生效”:设置一天中需要生效的时间。

    “立即生效”

    生效时间段

    “指定生效时间”设置为“周期生效”时,需设置生效时间段。

    --

    周期生效时间

    “指定生效时间”设置为“周期生效”时,需设置每天的周期生效时间。

    --

    时区

    “指定生效时间”设置为“周期生效”时,需设置时区。

    东八区

    表2 条件列表配置

    字段

    子字段

    逻辑

    内容(举例)

    路径:设置的防护路径,不包含域名,仅支持精准匹配(需要防护的路径需要与此处填写的路径完全相等。例如,需要防护的路径为“/admin”,该规则必须填写为“/admin”

    --

    “逻辑”下拉列表框中选择逻辑关系。

    /buy/phone/

    须知:

    路径设置为“/”时,表示防护网站所有路径。

    User Agent:设置为需要防护的扫描器的用户代理。

    --

    Mozilla/5.0 (Windows NT 6.1)

    IP:设置为需要防护的访问者IP地址,包含IPV4和IPV6。

    • 客户端IP
    • X-Forwarded-For

    XXX.XXX.1.1

    Params:设置为需要防护的请求参数。

    --

    201901150929

    Cookie:根据Cookie区分的Web访问者。

    • 所有字段
    • 任意子字段
    • 自定义

    jsessionid

    Referer:设置为需要防护的自定义请求访问的来源。

    例如:防护路径设置为“/admin/xxx”,若用户不希望访问者从“www.test.com”访问该页面,则“Referer”对应的“内容”设置为“http://www.test.com”

    --

    http://www.test.com

    Header:设置为需要防护的自定义HTTP首部。

    • 所有字段
    • 任意子字段
    • 自定义

    text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8

    Method:需要防护的自定义请求的方法。

    --

    GET、POST、PUT、DELETE、PATCH

    Request Line:需要防护的自定义请求行的长度。

    --

    50

    Request:需要防护的自定义请求的长度。包含请求头、请求行、请求体。

    --

    --

    ASN:自治系统号

    --

    • 属于
    • 不属于
    • 大于
    • 小于

    --

    地理位置

    --

    • 属于
    • 不属于

    --

    已知特征爬虫

    --

    • 匹配
    • 不匹配
    • 搜索引擎
    • 扫描器
    • 脚本工具
    • 其他爬虫

    IP情报标签

    说明:

    建议结合业务日志与上下文验证IP情报,避免单一维度拦截导致正常流量误阻断。

    --

    • 包含任意一个
    • 不包含任意一个

    Web攻击者

    IP威胁等级

    --

    属于

    高危

    TLS指纹

    --

    • 等于
    • 不等于

    --

  7. 单击“确定”,添加的精准访问防护规则展示在精准访问防护规则列表中。

    • 若需要修改添加的精准访问防护规则时,可单击待修改的精准访问防护规则所在行的“编辑”,修改精准访问防护规则。
    • 若需要删除添加的精准访问防护规则时,可单击待删除的精准访问防护规则所在行的“删除”,删除精准访问防护规则。

  8. (可选)您可以单击列表上方“批量修改优先级”对防护规则的优先级进行批量设置。

防护效果

假如已添加域名“www.example.com”,且配置了如图3所示的精准访问防护规则。可参照以下步骤验证防护效果:

  1. 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。

    • 不能正常访问,参照章节添加防护网站重新完成域名接入。
    • 能正常访问,执行2

  2. 清理浏览器缓存,在浏览器中访问“http://www.example.com/admin”页面或者包含/admin的任意页面,正常情况下,边缘安全会阻断满足条件的访问请求,返回拦截页面。

配置示例-不允许某一地区来源IP访问请求

假如防护域名“www.example.com”已接入边缘安全,当您不允许某一地区的IP可以访问防护域名,例如,不允许来源“北京”“新加坡”地区的IP可以访问防护域名,请参照以下步骤处理。

  1. 添加一条精准访问防护规则,字段为“地理位置”,设置“北京”“新加坡”地区“拦截”的防护动作。
  2. 开启精准访问防护规则。

    图4 精准访问防护配置框

  3. 清理浏览器缓存,在浏览器中访问“http://www.example.com”页面。

    “北京”“新加坡”地区的源IP访问页面时,边缘安全将拦截该访问请求,拦截页面示例如图 拦截攻击请求所示。

    图5 拦截攻击请求

  4. 返回边缘安全管理控制台,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,您可以查看到“北京”“新加坡”地区的源IP都被拦截。

相关文档