You need to enable JavaScript to run this app.
导航
通过 CNAME 接入
最近更新时间:2024.08.07 20:50:16首次发布时间:2021.10.15 18:40:46

如果您的业务未配置负载均衡,建议通过 CNAME 方式接入云 WAF 实例。在火山引擎 Web 应用防火墙控制台配置防护域名参数和 WAF 回源参数后,您只需要修改防护域名的 DNS 解析记录并放行火山引擎 Web 应用防火墙的回源 IP 地址,即可完成域名的安全防护配置。本文介绍通过 CNAME 接入防护的操作步骤。

前提条件

  • 您已创建云 WAF 实例。创建相关操作,请参考创建 WAF 实例
  • 所需防护域名已备案,且未添加到云 WAF 实例。备案相关操作,请参考备案流程

注意事项

WAF CNAME 接入支持 WebSocket 和 WebSockets 协议,且默认为启用状态,暂不支持关闭。

流程说明

步骤一:添加域名

  1. 登录 Web 应用防火墙控制台

  2. 在顶部菜单栏选择实例所属地域。

  3. 在左侧导航选择网站设置,然后单击新建站点

  4. 选择接入方式为 CNAME

  5. 填写要接入 WAF 的网站基础信息,包括网站配置接入能力源站配置回源能力
    图片

    参数

    说明

    配置示例

    网站配置

    防护域名

    填写需要接入防护的域名,支持泛域名或精准域名。域名须经过 ICP 备案,未备案域名将无法正常添加。

    说明

    如需同时配置泛域名和域名主体本身,请分别配置。如:需要同时配置*.b.a.comb.a.com,需要分别接入域名并配置策略。

    www.test.com

    协议类型

    需要接入 WAF 的网站所使用的通信协议,可选 HTTP、HTTPS 协议,勾选目标协议后,可在协议下方的输入框输入端口号。

    • 协议选择:勾选 HTTPS 协议后需要选择对应证书。如只勾选 HTTPS 协议,则 HTTP 请求将默认重定向至 HTTPS。
    • 端口号配置:
      • HTTP 协议默认支持 80 端口,HTTPS 默认支持 443 端口。
      • 协议支持配置的端口数量因版本而异。
      • 端口号输入后按回车键可继续输入其他端口号。
      • 支持编辑或删除已输入的端口号。

      注意

      输入的端口号需在可添加端口范围内且不能重复,单击查看可添加端口可搜索查看对应协议下可添加的端口号。

    • 更多设置:
      • 协议跟随:开启后,访问请求的“回源协议”与“访问协议”保持一致。为保证正常回源,请同时选中 HTTP 和 HTTPS 并确认源站支持已选中的协议类型。
      • HTTP 2.0:开启前需要勾选 HTTPS 协议类型,开启后支持 HTTP 2.0 协议接入防护,以 HTTP 1.0/1.1 协议转发回源。
      • IPv6 防护:开启后支持对 IPv6 客户端请求的防护,可在回源配置中配置 IPv4 和 IPv6 源站地址。开启协议跟随后,IPv4 请求将转发 IPv4 源站,IPv6 请求转发 IPv6 源站。
    • HTTP:80、81
    • HTTPS:443、4443
    • 协议跟随:关闭
    • HTTP 2.0:关闭
    • IPv6 防护:关闭

    证书选择

    勾选 HTTPS 协议后需要选择对应证书,支持选择已上传的证书或者新增证书。

    因启用 HTTPS 协议,故需要选择相关证书

    日志采集

    选择当前域名的日志服务的启用状态。

    • 开启:域名规则创建完成后开始采集该域名产生的日志数据。
    • 关闭:域名规则创建完成后不会采集该域名产生的日志数据。

    说明

    如果需要开启日志服务,需要先完成 WAF 访问日志服务的跨服务授权,让 WAF 服务获取日志采集和存储权限。

    开启日志采集

    DDoS 原生防护

    如您需要对实例开启 DDoS 原生防护,可启用该功能,并选择相关 DDoS 原生防护实例。

    说明

    请确保您已创建对应的 DDoS 原生防护实例。创建说明请参考创建 DDoS 原生防护实例(企业版)DDoS 原生防护实例(高级版)

    注意

    如您在之前配置并开启了 WAF 关联 EIP 实例的云防火墙防护策略,在您选择开启 DDoS 原生防护(企业版)后,WAF 的 EIP 会被与 DDoS 原生防护(企业版)关联的增强型防护 EIP 替代,此时 WAF 实例不受已有的云防火墙防护策略保护。如需要开启云防火墙防护,请重新配置。

    暂不开启

    接入能力

    代理配置

    需要配置的网站在接入 WAF 前是否使用了高防、CDN 等七层代理。

    • :WAF 前没有配置代理,WAF 取与 WAF 建立连接的 IP(取 X-Real-Ip)作为客户端 IP。
    • :WAF 前配置了代理,表示 WAF 收到的业务请求来自其他七层代理服务转发,而非直接来自发起请求的客户端,需要进一步配置客户端 IP 判定方式。
      • X-Forwarded-For 字段获取客户端真实 IP:通过 X-Forwarded-For 字段中第一个公网 IP 地址作为客户端真实 IP 地址。

        注意

        该方式存在攻击者伪造 X-Forwarded-For 字段的风险。

      • 自定义 Header 字段:按匹配字段添加顺序获取客户端 IP 并将其作为客户端真实 IP 。如匹配字段无法获取客户端 IP,则将通过 X-Forwarded-For 字段获取;如 X-Forwarded-For 字段由于伪造非法 IP 无法获取,则取 X-Real-Ip 字段作为客户端 IP。

        说明

        单实例每域名最多可配置 5 个自定义 Header 字段。

    TLS 配置

    如果勾选了 HTTPS 协议类型,需设置 TLS 参数,即设置允许使用的 TLS 协议版本和加密套件,不匹配的请求将默认被丢弃。为提升业务安全和兼容性,建议您使用系统默认配置。

    • TLS 协议:默认全选。

      注意

      • 修改时至少选择一个协议版本,暂不支持单独选中 TLSv1.3 版本。
      • 选择多个版本时需注意版本号需要保持连续。例如,您不能仅选择 TLSv1 和 TLSv1.3。
    • 加密套件:默认选择全部加密套件。

      注意

      使用未被选中的加密套件的请求将无法正常访问,请谨慎修改。

    保持默认(全选)

    长连接

    配置客户端与 WAF 之间的长连接限制。

    • 长连接保持时间:客户端与 WAF 之间的长连接保持时间。默认为 75 秒,支持配置 0~900 秒。
    • 复用长连接请求数:单个已建立的 TCP 连接上可以重复发送多个请求的个数。默认为 100 个,支持配置 60~1000 个。

    保持默认:

    • 长连接保持时间:75 秒
    • 复用长连接请求数:100 个

    请求 Body 最大值

    可接收客户端请求正文的最大值。默认为 60 MB,支持配置 1~10240 MB。

    保持默认:60 MB

    源站配置

    回源方式

    • 公网回源:回源地址为公网 IP。
    • VPC 内私有 IP 地址:回源地址为私有 IP,需选择对应火山引擎 VPC。

    公网回源

    负载均衡

    • 加权轮询(WRR):权重值越高的后端服务器,被轮询到的次数(概率)越高。
    • 加权最小连接数(WLC):将请求分发给“当前连接/权重”比值最小的后端服务器。
    • 源地址哈希(SH):基于源 IP 地址的一致性哈希,相同源地址的请求会调度到相同的后端服务器。

    加权轮询

    源站配置

    • 分组:
      • 默认分组:默认包含全部未自定义配置回源规则的接入端口。当自定义分组规则未命中,默认匹配默认分组规则。
      • 自定义分组:
        • 单击添加可生成一个自定义分组,需要配置生效的端口范围。
        • 支持编辑自定义分组名称,不超过 15 个字符,支持中文、英文、数字和下划线。
        • 支持删除自定义分组,删除分组后将清空组内回源配置,并对组内接入端口按照默认分组配置执行回源操作。
    • 接入端口配置:
      • 默认分组的接入端口范围为全部未自定义配置回源规则的接入端口。
      • 自定义分组支持在添加的端口范围内选择多个目标接口。不同自定义分组间不得重复选择。

      说明

      例如,您在网站配置中选择了 HTTP 协议下的80818283端口,和 HTTPS 协议下的4434443端口,且在源站配置的自定义分组 1 中选择了 HTTP 协议下的8081端口,则余下的82834434443端口都将适用默认分组的回源规则配置。

    • 源站地址配置:
      • 源站协议:即从 WAF 回源至源站的回源协议,支持 HTTP/HTTPS 回源。

        注意

        未开启协议跟随时,同一地域下不同分组间的源站协议将全局保持一致。例如:您将自定义分组中的某源站配置的协议设置为 HTTP 协议,则所有分组(包括默认分组)下的源站协议都将设置为 HTTP 协议。

      • 源站地址:需要接入 WAF 的网站所提供服务的源站 IP 地址。
      • 源站端口:源站地址对应的端口。
      • 权重:表示后端服务器收到请求的概率,支持设置 1-100 的任意整数。

        说明

        权重数字不直接代表比重。
        如您希望多个源站的轮询概率相同,可设置同样的权重值。
        源站权重之和可以大于 100。

        • 当负载均衡算法为加权轮询时,每个源站被轮询的概率为(该源站的权重)/(源站组中所有源站权重之和)。因此权重越大,收到请求的概率越大。
        • 当负载均衡算法为加权最小连接数时,计算数值为(当前连接数)/(该源站的权重),值最小的源站收到请求的概率最大。
        • 当监听器调度算法为源地址哈希时,无需配置权重。

      说明

      每个最源站地址组最多支持添加 20 个源站。

    说明

    由于网站配置勾选了 HTTP 和 HTTPS 协议,并且开启了协议跟随,所以需要分别配置支持 HTTP 和 HTTPS 协议的源站信息。

    例如:
    在默认分组中,添加以下 2 条源站配置。

    • 源站 1 :
      • 源站协议:HTTP
      • 源站地址:192.1..
      • 源站端口:80
      • 权重:100
    • 源站 2:
      • 源站协议:HTTPS
      • 源站地址:192.2..
      • 源站端口:443
      • 权重:40

    说明

    由于负载均衡算法为加权轮询,源站 1(权重为 100) 的轮询概率更高。

    回源能力

    建立超时时间

    WAF 和后端服务器的建连超时时间,建议大于健康检查超时时间。默认为 4 秒,支持配置 4~120 秒。

    保持默认:4 秒

    写连接超时时间

    WAF 将请求传输给后端服务器的超时时间。默认为 60 秒,支持配置 30~3600 秒。

    保持默认:60 秒

    读连接超时时间

    WAF 从后端服务器读取响应的超时时间。默认为 60 秒,支持配置 30~3600 秒。

    保持默认:60 秒

    回源长连接

    WAF 回源时,长连接可复用的个数。默认为 100 个,支持配置 60~1000 个。

    保持默认:100 个

    回源重试

    WAF 回源失败后,可重试的次数。默认为 3 次,支持配置 1~10 次。

    保持默认:3 次

    空闲长连接超时时间

    WAF 与后端服务器建立请求的长连接空闲时间。默认为 15 秒,支持配置 1~60 秒。

    保持默认:15 秒

  6. 单击提交
    站点添加成功后,WAF 会在页面返回防护域名的 CNAME 值和 WAF 的回源 IP 地址。

步骤二:放行 WAF 回源 IP

在业务接入 Web 应用防火墙之后,所有的请求都会通过 WAF 的回源 IP 段返回到源站。这会导致每个回源 IP 上的请求量增加,从而容易触发安全策略的误拦截或限速,因此需要对 WAF 的回源 IP 段进行放行。
如果源站已经配置了防火墙或安装了安全软件,您复制以下回源 IP 地址,并将它们添加到源站的防火墙、访问控制列表(ACL)或者其他任何安全软件的白名单中。这样可以确保回源 IP 不会受到源站安全策略的影响。
您可以在添加完成后的返回页面,单击复制全部 IP 地址,获取需要放行的回源 IP 信息。
图片

步骤三:验证转发配置

建议您在放行回源 IP 后,验证 WAF 实例的业务转发配置是否生效,避免因配置未生效导致业务切换过程中发生中断。验证操作详情请参见验证转发配置

步骤四:修改域名 DNS

访问 Web 应用的 DNS 解析服务商,将 DNS 服务记录类型设置为 CNAME,将记录值修改为刚获取到的 WAF CNAME 值。
图片
待 DNS 解析生效后,防护域名的请求流量就会转发到 WAF。您可以在网站设置页面查看添加的网站信息,接入成功的网站状态和防护模式如下。
图片

步骤五:设置防护策略

域名接入后,默认开启漏洞防护策略(正常模式)。您也可自定义其他防护策略,关于防护策略设置的更多详情,请参见防护策略类型

说明

默认开启的漏洞防护策略将执行观察动作,即放行请求流量,但会将请求行为上报至攻击日志。

下文以配置一条黑名单防护策略,限制 IP 地址192.1.1.1的访问请求为例。

  1. 登录 Web 应用防火墙控制台

  2. 在顶部菜单栏选择实例所属地域。

  3. 在左侧导航选择防护策略>访问管控

  4. 开启待防护域名的黑名单访问功能。

    1. 在页面上方选择需要添加访问黑名单策略的域名。
    2. 单击访问黑名单
    3. 开启策略启用开关。
      图片
  5. 单击添加黑名单,配置规则参数。

    参数

    说明

    配置示例

    基本信息

    规则名称

    防护规则名称。

    说明

    • 以中文、字母、数字开头。
    • 允许字母、数字、中文、点“.”、下划线“_”和短横线“-”。
    • 长度为 1-128 个字符。

    Block_rule1

    规则描述

    填写规则相关备注信息,例如拦截原因。

    拦截对应 IP 的访问

    防护域名

    • 选择域名:选择已经接入防护的域名,支持选择多个域名。
    • 选择域名组:选择已经创建的域名组,支持选择多个域名组。

    选择域名组

    规则条件

    IP 地址

    • 手动添加:手动输入需要加为白名单的 IP 地址,支持输入单个 IP 地址、IP 地址段或全部 IP 地址(*)。
    • 引用地址组:选择已经创建的 IP 地址组,支持选择多个地址组。
    • 选择地理位置:勾选需要限制的 IP 来源区域,支持选择多个区域。

    手动添加:192.1.1.1

    特征描述

    • 请求路径:填写需要拦截 IP 地址的网站路径,可以是具体的某个页面 URL,也可以针对整个网站。
      • 某个具体的 URL 地址,例如需要拦截对test.com/test.html路径的访问,则填写 /test.html
      • 针对整个网站,则填写/*即可。
      • 支持填写通配符*,仅可出现一次,例如/test/*
      • 多个网站路径可用英文逗号分隔。
    • 添加条件:设置其他匹配字段、逻辑符和匹配内容。
      • 匹配字段:选择匹配字段,目前支持请求协议、请求 uri、请求方法、请求路径、请求参数、请求头等字段。
      • 逻辑符:选择逻辑符,目前支持大于、大于等于、等于、小于、小于等于、不等于等逻辑关系。
      • 匹配内容:填写该条规则需要匹配的具体内容。
    • 多个条件之间为“且”的关系,即当多个条件都满足,方可触发规则。

    例如,拦截来自访问源 IP 地址至/test.html路径,且请求方法为POST的访问请求,则可以设置以下特征:

    • 请求路径 等于 /test.html
    • 请求方法 等于 POST
    • 请求路径:/test.html
    • 添加条件:请求方法 等于 POST

    执行动作

    • 观察:放行请求流量,但会将请求行为上报至攻击日志。
    • 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。

    拦截

    生效配置

    规则开关

    开启或关闭当前规则。

    开启

  6. 单击确定,完成规则配置。
    配置完成后,则所有来自源 IP 192.1.1.1的访问请求都将被拦截,且在攻击日志中可查看对应记录。

后续操作