新用户新用户即享 DNS 与 CDN 免费套餐。立即注册

WAF 与安全

配置 WAF 托管规则集、自定义防火墙规则、速率限制、5秒盾以及防盗链、地区/UA 名单等访问控制。

10 分钟阅读 更新于 2026年10月6日

每个 CDN 域名都有一个「防火墙」页面,用来集中管理该域名在边缘节点上的安全策略。路径:CDN管理 → 域名管理 → 点击域名 → 防火墙(控制台地址 /cdn/domains/<域名>/firewall)。

防火墙页面包含四个标签页:

标签页用途
规则配置自定义防火墙规则、WAF 预设规则集、自定义 WAF 评分规则
访问控制防盗链、地区 / ASN 封禁、User-Agent 名单、访问鉴权、5秒盾(UAM)、连接防护
WAF 分析拦截与事件统计(见 日志与分析)
事件日志逐条查看被拦截、被质询的请求

配置保存后会自动下发到边缘节点,通常几秒到几十秒内生效,不需要清除缓存。

WAF 预设规则集

WAF(Web 应用防火墙)检查请求的 URI、查询参数、User-Agent、Referer、Cookie,以及表单和 JSON 格式的请求体,识别常见的攻击载荷。

  1. 打开 防火墙 → 规则配置,找到「WAF 预设规则集」卡片。

  2. 打开卡片右上角的总开关。

  3. 按类别展开,开启或关闭具体规则集:

    规则集说明
    SQL注入防护检测 SQL 注入载荷
    XSS防护检测跨站脚本载荷
    路径遍历防护检测 ../ 一类的目录穿越
    命令注入防护检测操作系统命令注入
    LFI/RFI防护检测本地 / 远程文件包含
    协议攻击防护检测异常或畸形的 HTTP 请求
    扫描器检测识别常见漏洞扫描器
    恶意机器人防护识别已知的恶意爬虫
  4. 在「CRS 引擎设置」中选择 检测模式:

    • 拦截(active):命中后直接返回 403,并记录事件。
    • 仅记录(simulate):只记录、不拦截。适合上线新规则前先观察误报。
  5. 点击 保存。

「异常分阈值」用于评分类规则:每条命中的规则累加分值,请求总分达到阈值才拦截。默认值为 5,值越低越敏感。

Note

WAF 是套餐功能。撰写本文时,CDN 专业版和企业版包含 WAF,免费版和起步版不包含;以套餐页面为准。套餐不含 WAF 时,即使打开开关也不会在边缘生效。

Tip

第一次启用时,建议先用「仅记录」模式运行一段时间,在 事件日志 中确认没有误拦正常业务请求,再切换为「拦截」。

自定义 WAF 评分规则

如果预设规则集覆盖不到你的场景,可以在「自定义 WAF 规则(评分)」卡片中补充规则:

  • 检测位置:URI(含查询串)、PATH(路径)、查询参数、请求体、请求头、Cookie、User-Agent、请求方法。选择请求头或 Cookie 时可以指定名称。
  • 匹配方式:正则匹配、SQL 注入(libinjection)、XSS(libinjection)。
  • 动作:
    • 拦截:命中即拦截,可指定状态码(默认 403)。
    • 仅记录(计分):为请求累加「分值」,累计分达到上方的异常分阈值时拦截。

自定义防火墙规则

自定义防火墙规则按「条件 + 动作」对请求进行处理,适合封禁 IP、按国家放行、保护登录接口等场景。

创建规则

  1. 在 规则配置 中点击 新增规则。
  2. 填写 规则名称;优先级 取值 1–9999,默认 100。
  3. 添加一个或多个 匹配条件。每个条件由「数据 + 键(可选)+ 运算符 + 值」组成,多个条件需 全部满足 才算命中。
  4. 选择 动作类型 并填写参数。
  5. 保存。规则列表中可以随时启用、停用或删除规则。

可用的匹配数据

数据说明
IP 地址客户端 IP。配合「在列表中」使用时,值可以是单个 IP 或 CIDR 网段
国家代码ISO 3166-1 两位代码,如 CN、US
ASN自治系统号,如 13335
URI 路径 / 路径请求路径(不含查询串)
主机名请求的 Host
请求方法GET、POST 等
User-Agent / Referer对应的请求头
请求头 / Cookie / 查询参数需要在「键」中填写名称
扩展名文件扩展名,如 jpg

运算符包括:等于、不等于、包含、不包含、以…开头、以…结尾、在列表中、不在列表中、正则匹配、大于 / 小于 / 大于等于 / 小于等于、存在、不存在。使用「在列表中」时,每行填一个值。

Note

国家与 ASN 由客户端 IP 推断。个别 IP 无法识别时,相关条件不会命中。

动作

动作效果
拦截返回错误响应,状态码可设为 400–599,默认 403
放行跳过 WAF 检查以及后续规则,常用于信任的 IP 或回调接口
JS 质询 / 托管质询向访客展示浏览器验证页(与 5秒盾相同的机制),验证通过后在有效期内不再质询
速率限制按下文的参数计数,超限后执行处置
Warning

多条规则可能同时命中一个请求。请避免让条件重叠、动作相互冲突的规则同时生效(例如同一网段既「放行」又「拦截」),否则结果可能不符合预期。

API 示例

封禁一个网段:

bash
curl -X POST "https://api.yeap.cloud/api/user/cdn/firewall-rules/create" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "domain_id": 123,
    "name": "Block bad subnet",
    "expression": {"op": "and", "conditions": [
      {"collection": "IP", "op": "in", "var": ["203.0.113.0/24"]}
    ]},
    "action": "block",
    "action_config": {"status": 403},
    "priority": 100,
    "enabled": true
  }'

列出规则:GET /api/user/cdn/firewall-rules?domain_id=123;更新:POST /api/user/cdn/firewall-rules/update(带 id);删除:DELETE /api/user/cdn/firewall-rules/delete?id=<id>。

速率限制

速率限制通过动作类型为 速率限制 的防火墙规则实现。先用条件圈定要保护的请求(例如路径以 /api/login 开头),再设置:

  • 请求数上限 与 窗口(秒):窗口内请求超过上限即视为超限。
  • 限速维度:IP 地址、请求头、Cookie、URI 路径、国家。选择请求头或 Cookie 时需填写名称(如 X-Api-Key)。
  • 作用域:「整域」表示按维度的每个取值分别计数(如每个 IP 一个计数器);「全局」表示所有命中该规则的请求共用一个计数器。
  • 超限处置:拦截(返回 429)、人机质询、仅记录、延迟(tarpit,放慢响应但不拒绝)。
Note

计数在各边缘节点上独立进行。访客的请求分散到多个节点时,全网实际放行的总量可能高于单个节点的上限。

访问控制

访问控制 标签页提供几个专用模块,各有独立开关,最后统一点击 保存访问控制。

防盗链(Referer 名单)

  • 允许空 Referer、允许同域:直接访问或同站引用时放行。
  • 白名单域名:每行一个,支持精确域名、通配(*.example.com)和正则(以 ~ 开头)。白名单不为空时,Referer 必须命中其中之一。
  • 黑名单域名:命中即拦截,优先于白名单。
  • 仅保护后缀:只对这些扩展名生效,如 .jpg、.mp4;留空表示所有路径都生效。

地区 / ASN 封禁

分别设置国家、省 / 州(ISO 3166-2 代码)和 ASN 的黑名单与白名单,每行一个。黑名单命中即拦截;某一维度的白名单不为空时,只放行名单内的访客。多个维度之间是「且」的关系。

User-Agent 名单

设置默认动作(放行 = 黑名单模式,拦截 = 白名单模式)、空 UA 的处理方式、拦截状态码,再添加规则。规则自上而下匹配,第一条命中的规则决定结果。匹配方式支持包含、通配、正则、精确、前缀、后缀。

访问鉴权

可以设置 IP 白名单 / 黑名单(支持 CIDR),也可以要求请求通过 HTTP Basic 认证、参数 Token 或签名 URL(A/B/C/D 四种类型)校验。配置多种方法时,可选择「全部通过」或「任一通过」。

5秒盾 / 攻击模式(UAM)

模式行为
关闭不主动质询
自适应平时不质询,仅在平台自动防护判定流量异常时质询
受攻击(5秒盾)所有访客先完成浏览器验证(工作量证明)再访问
强制验证码所有访客先完成验证码;目前支持 captcha.la,需要填写 Site Key 和 Secret,未填写时降级为浏览器验证

可调参数包括 最短等待(秒)(建议 ≥5)、难度(建议 ≥15)、通行证有效期(秒);填 0 表示使用默认值。白名单中的 IP / CIDR 在任何模式下都直接放行;静态资源后缀 和 放行 Bot ASN 只在「自适应」模式下生效,在「受攻击」和「强制验证码」模式下会被忽略。

Tip

遭受 CC 攻击时,先切换到「受攻击(5秒盾)」,攻击结束后再切回「关闭」或「自适应」,以免影响 API 客户端和搜索引擎爬虫。

连接防护(Slowloris)

限制单个 IP 的最大并发连接数,并识别慢速请求攻击。可设置最低请求体速率、采样窗口、宽限期、最大空闲时间和请求体最长接收时间,0 表示不限制。

相关文档

本页内容是否有帮助?