文档首页/ Web应用防火墙 WAF/ 用户指南/ 网站接入WAF/ 通过独享模式接入将网站接入WAF
更新时间:2025-09-04 GMT+08:00
分享

通过“独享模式接入”将网站接入WAF

如果您的业务服务器部署在华为云,您可以通过WAF独享模式将您的网站域名或IP添加到WAF进行防护。

独享模式在部分区域已经停售,详见独享模式停售通知

方案概述

独享模式下,将网站接入WAF后,网站流量会通过ELB传给WAF,经过WAF检测后,异常请求将被拦截,正常请求会通过WAF独享引擎回源IP转发到源站服务器。网站接入WAF后,流量访问示意图如图1所示。

图1 网站访问示意图

流量访问说明如下:

  1. 用户在浏览器输入域名后,客户端会向DNS发送请求,查询域名解析地址。
  2. DNS返回域名解析地址。
  3. 如果无代理(例如CDN、DDos高防等),DNS返回的域名解析地址为ELB的公网IP地址,客户端通过该公网IP访问ELB。如果存在代理:
    1. DNS返回的域名解析地址为代理IP,客户端通过代理IP访问代理。
    2. 代理通过ELB的公网IP访问ELB。
  4. ELB将流量传给WAF。
  5. 经过WAF检测后,异常请求将被拦截,正常请求会通过WAF独享引擎回源IP转发到源站服务器。

接入流程

根据网站是否使用代理(例如高防、CDN、云加速等),您需要完成如下接入操作。

操作步骤

说明

步骤一:添加防护网站

介绍如何将防护域名 、源站信息等添加到WAF。

步骤二:为WAF独享引擎实例配置负载均衡

介绍如何为WAF独享引擎实例配置负载均衡器和健康检查。

步骤三:为弹性负载均衡绑定弹性公网IP

介绍如何为WAF独享引擎实例的负载均衡器绑定源站服务器的弹性公网IP,使网站请求流量经过WAF独享引擎检测。

步骤四:放行独享引擎回源IP

介绍如何放行独享引擎的回源IP。

步骤五:验证WAF独享引擎实例转发正常

介绍如何验证WAF转发和ELB运行是否正常、基础防护是否生效。

前提条件

  • 已购买独享型负载均衡。有关ELB类型的详细介绍,请参见共享型弹性负载均衡与独享型负载均衡的功能区别

    2023年4月之前的独享引擎版本,不支持与独享ELB网络型配合使用。因此,如果您使用了独享ELB网络型(TCP/UDP)负载均衡,请确认独享WAF实例已升级到最新版本(2023年4月及之后的版本),独享引擎版本详情请参见独享引擎版本迭代

  • 在该独享引擎实例所在安全组中已放开了相关端口。
    安全组建议配置以下访问规则:
    • 入方向规则

      根据业务需求添加指定端口入方向规则,放通指定端口入方向网络流量。例如,需要放通“80”端口时,您可以添加“策略”“允许”“TCP”“80”协议端口规则。

    • 出方向规则

      默认。放通全部出方向网络流量。

    有关添加安全组规则的详细操作,请参见添加安全组规则

步骤一:添加防护网站

为了将业务接入WAF防护,您需要将防护域名、源站信息等,添加到WAF。

  1. 登录Web应用防火墙控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. (可选) 如果您已开通企业项目,在左侧导航栏上方,单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
  4. 在左侧导航栏,单击“网站设置”

    在开始添加防护网站前,您可以单击页面右上角的“流程引导”,了解云模式-CNAME接入的接入流程。

  1. 在网站列表左上角,单击“添加防护网站”
  2. 选择“独享模式接入”并单击“开始配置”
  3. “添加防护网站”面板,配置基础信息,如图2所示,参数说明如表1所示。

    图2 基础信息配置
    表1 基本信息参数说明

    参数

    参数说明

    取值样例

    防护对象

    要防护的域名或IP。

    • 域名:支持单域名和泛域名。
      • WAF支持添加“*”泛域名,表示可以防护任意的域名。“防护对象”配置为“*”时,只能防护除80、443端口以外的非标端口。
      • 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。
      • 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。
    • IP:支持公网IP、私网IP。

      如果配置为私网IP,必须确保相应的网络路径是可访问的,以便于WAF能够正确地对流量进行监控和过滤。

    www.example.com

    网站名称(可选)

    自定义网站名称。

    WAF

    网站备注(可选)

    网站的备注信息。

    waftest

    防护端口

    要防护的端口。
    • 配置为80、443端口时,在下拉框中选择“标准端口”
    • 配置为其他端口时,选择可选端口范围内的端口。您可以单击“查看可添加端口”,查看WAF支持的HTTP和HTTPS端口。更多信息请参见WAF支持的端口范围

      如果配置为除80、443以外的其他端口,访问网站时,需要在网址后面增加非标准端口进行访问,否则访问网站时会出现404错误

    81

    服务器配置

    网站服务器相关信息,包括:
    • 对外协议:客户端请求访问服务器的协议类型,支持:
      • HTTP:“防护端口”选择“标准端口”时,HTTP协议默认防护的80端口。
      • HTTPS:“防护端口”选择“标准端口”时,HTTP协议默认防护的443端口。
        • HTTPS协议是HTTP的安全版本,它在HTTP基础上增加了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。因此,选择HTTPS协议时,需要配置证书。
    • 源站协议:网站服务器支持的协议类型,也是WAF转发客户端请求的协议类型,包括“HTTP”“HTTPS”两种。

      如果“对外协议”“源站协议”不一致,WAF会将“对外协议”转换为“源站协议”,使用“源站协议”来转发客户端的请求。

    • VPC:选择独享引擎实例所在的VPC。
      • 选择VPC配置前,请确保拥有VPC所在企业项目的IAM权限,且该VPC已购买过WAF独享引擎实例。
      • 为了实现业务双活,避免业务单点故障,建议在同一VPC下购买两个WAF实例。
    • 源站地址:网站服务器的私有IP地址。源站地址不能与防护对象一致。

      登录ECS或ELB控制台,在实例列表中查看对应服务器的私有IP地址。

      支持以下两种IP格式:
      • IPv4,例如:XXX.XXX.1.1
      • IPv6,例如:fe80:0000:0000:0000:0000:0000:0000:0000
    • 源站端口:WAF独享引擎转发客户端请求到服务器的业务端口。
    • 权重:负载均衡算法将按配置的权重将请求分配给源站。
      • 当负载均衡算法为“加权轮询”时,所有请求将按权重轮流分配给源站服务器。
      • 当负载均衡算法为“源IP Hash”“Session Hash”时,权重只区分是否为“0”,为“0”则不分发流量,不为“0”则分发流量。
      • 权重可填0-65536,数值越大被分发的流量越多。
      • 权重设置为“0”时,如果配置了多个服务器,该源站服务器不会再接受新请求;如果只配置一个服务器,所有请求都会分配给源站服务器。

    对外协议:HTTP

    源站协议:HTTP

    源站地址:IPv4 XXX .XXX.1.1

    源站端口:80

    证书名称

    “对外协议”设置为“HTTPS”时,需要选择网站关联的证书,支持“国际证书”“国密证书”

    • 域名和证书需要一一对应,泛域名只能使用泛域名证书。如果您没有泛域名证书,只有单域名对应的证书,则只能在WAF中按照单域名的方式逐条添加域名进行防护。
    • 如果您的证书即将到期,为了不影响网站的使用,建议您在到期前重新使用新的证书,并在WAF中同步更新网站绑定的证书。

      WAF支持证书过期时发送告警通知,您可以在“告警通知”界面配置证书过期提醒,具体的操作请参见开启告警通知

    WAF支持导入新证书选择已有证书选择SCM证书
    • 导入新证书:如果您未创建证书,单击“导入新证书”,在“导入新证书”对话框,填写证书相关参数。更多信息,请参见上传证书

      WAF当前仅支持PEM格式证书。如果证书为非PEM格式,请参考如何将非PEM格式的证书转换为PEM格式证书转换为PEM格式,再上传。

      成功导入的新证书,将同步添加到“证书管理”页面的证书列表。

    • 选择已有证书:如果已创建证书,单击下拉框,在“已有证书”中选择正确、有效的证书。
    • 选择SCM证书:如果您已经在同一个账号下使用了CCM中的证书,也可以直接在下拉框中选择SCM证书,此处选择的SCM证书名称与CCM里证书名称一致。
      • 目前华为云SCM证书只能推送到“default”企业项目下。如果您使用其他企业项目,则不能选择使用SCM推送的SSL证书。
      • 选择的SCM证书会自动在“证书管理”页面生成一条记录,该证书支持在“证书管理”页面修改证书名称,但不会同步修改CCM里显示的证书名称。

    --

    已使用七层代理

    确认WAF前是否使用七层代理。七层代理为使用了DDoS高防(七层代理)、CDN、云加速等Web代理产品。
    • 是:在WAF前使用了DDoS高防(七层代理)、CDN、云加速等Web代理产品。
      • 使用七层代理后,WAF将从Header头中的相关字段获取用户真实客户端IP。如果WAF前使用的是华为云DDoS高防,要获取客户端真实IP,需要在域名基本信息页面的“流量标识”栏,将“IP标记”配置为“$remote_addr详细操作请参见”配置攻击惩罚的流量标识
      • 在WAF前使用代理时,不能切换为“Bypass”工作模式。如何切换工作模式请参考切换防护模式
    • 否:没有使用七层代理。

    防护策略

    选择要启用的防护策略。
    • “系统自动生成策略”(默认):详细说明如下:
      • Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。

        常规检测包含:

        • “规则集”“默认规则集【中等】”
        • “防护动作”“仅记录”,即发现攻击行为后WAF只记录攻击事件不阻断攻击。
      • 网站反爬虫:默认开启扫“扫描器”检测、“防护动作”“仅记录”(发现攻击行为后WAF只记录攻击事件不阻断攻击),可防护漏洞扫描、病毒扫描等Web扫描任务,如OpenVAS、Nmap的爬虫行为。
    • 自定义防护策略:根据防护需求创建的防护策略。更多信息,请参见配置防护策略
      说明:

      专业版企业版支持选择自定义防护策略。

    系统自动生成策略

  4. 根据面板提示,单击“立即配置负载均衡”,绑定WAF独享引擎实例与负载均衡器。

    图3 立即配置负载均衡

    您也可以单击“稍后”,参照步骤二:为WAF独享引擎实例配置负载均衡步骤三:为弹性负载均衡绑定弹性公网IP步骤四:放行独享引擎回源IP完成相关操作。

步骤二:为WAF独享引擎实例配置负载均衡

添加防护网站后,您需要使用华为云弹性负载均衡(Elastic Load Balance,简称ELB)为WAF独享引擎实例配置负载均衡和健康检查,以确保WAF的可靠性和稳定性。

华为云ELB按流量单独计费。有关ELB的计费详情,请参见ELB价格详情

  1. 在ELB为负载均衡添加监听器。

    1. 在页面左上方,单击图标,选择网络 > 弹性负载均衡 ELB
    2. 单击目标负载均衡器名称,进入负载均衡详情页。
    3. “监听器”页签,单击“添加监听器”,配置监听器信息。

      关键参数配置说明如下,其他参数说明,请参见添加HTTP监听器添加HTTPS监听器

      表2 添加监听器关键参数说明

      项目

      参数

      说明

      取值样例

      配置监听器

      前端协议

      客户端与负载均衡监听器建立流量分发连接的协议。此处只能选择HTTP或HTTPS协议。

      HTTP

      前端端口

      客户端与负载均衡监听器建立流量分发连接的端口。取值范围为:[1-65535]。

      80

      配置后端分配策略

      分配策略类型

      负载均衡采用的算法,支持“加权轮询算法”“加权最少连接”“源IP算法”“连接ID算法”

      注意:

      选择“加权轮询算法”时,请关闭“会话保持”,如果开启会话保持,相同的请求会转发到相同的WAF独享引擎实例上,当WAF独享引擎实例出现故障时,再次到达该引擎的请求将会出错。

      加权轮询算法

      添加后端服务器

      配置健康检查

      “健康检查结果”“状态”必须为“正常”,否则会导致网站不能正常接入WAF。有关配置健康检查的详细操作,请参见配置健康检查

      开启健康检查

      完成添加操作后,您可以在监听器页签,查看已添加的监听器,获取ELB负载均衡器(图4①)、ELB监听器(图4②)、后端服务器组(图4③)。

      图4 查看监听器信息

  2. 在WAF为独享引擎实例配置负载均衡。

    1. 在页面左上方,单击图标,选择安全与合规 > Web应用防火墙 WAF
    2. 在左侧导航栏,选择系统管理 > 独享引擎
    3. 在目标实例所在行的“操作”列,选择更多 > 添加到ELB

      如果您所在地域为华东-上海一、华北-乌兰察布一,您也可以选择运行中的多个实例(反向代理模式)后,单击实例列表左上角的“批量添加到ELB”,批量为WAF独享引擎实例配置负载均衡。

    4. “添加到ELB”面板,选择1.c中配置的“ELB(负载均衡器)”“ELB监听器”“后端服务器组”后,单击“下一步”

      “健康检查结果”“状态”必须为“正常”,否则会导致网站不能正常接入WAF。健康检查异常的排查思路请参见健康检查异常

      图5 添加到ELB
    5. 为WAF实例配置业务“端口”“权重”后,单击“确定”

      “业务端口”需要配置为WAF独享引擎实例实际监听的业务端口,即步骤一:添加防护网站中配置的“防护端口”

步骤三:为弹性负载均衡绑定弹性公网IP

如果WAF独享引擎实例已配置负载均衡,请解绑源站服务器的弹性公网IP(Elastic IP,简称EIP),将解绑的弹性公网IP绑定到WAF独享引擎实例配置的负载均衡上。绑定后,请求流量会先经过WAF独享引擎进行攻击检测,然后转发到源站服务器,从而确保源站安全、稳定、可用。

本章节以解绑源站服务器的弹性公网IP(Elastic IP,简称EIP),将解绑的EIP绑定到WAF独享引擎的弹性负载均衡(Elastic Load Balance,简称ELB)上为例说明,具体操作请以实际业务为准。

  1. 解绑源站服务器的弹性公网IP。

    1. 在页面左上方,单击图标,选择网络 > 弹性负载均衡 ELB
    2. “负载均衡器”页面,解绑源站服务器的弹性公网IP。
      • 解绑IPv4公网IP,在目标源站的负载均衡器所在行“操作”列,选择更多 > 解绑IPv4公网IP
      • 解绑IPv6公网IP,在目标源站的负载均衡器所在行“操作”列,选择更多 > 解绑IPv6公网IP
      图6 解绑弹性公网IP
    3. 在弹出的对话框中,单击“是”,解绑EIP。

  2. 绑定源站服务器的弹性公网IP。

    “负载均衡器”页面,找到WAF独享引擎的ELB的负载均衡器,绑定源站服务器的弹性公网IP。
    • 绑定IPv4公网IP,在WAF独享引擎的ELB的负载均衡器所在行“操作”列,选择更多 > 绑定IPv4公网IP
    • 绑定IPv6公网IP,在WAF独享引擎的ELB的负载均衡器所在行“操作”列,选择更多 > 绑定IPv6公网IP
    • 在弹出对话框中,选择1.b中解绑的EIP,单击“确定”,绑定EIP。

步骤四:放行独享引擎回源IP

网站以“独享模式”成功接入WAF后,所有网站访问请求将先经过独享引擎配置的ELB然后流转到独享引擎实例进行监控,经独享引擎实例过滤后再返回到源站服务器,流量经独享引擎实例返回源站的过程称为回源。在服务器看来,接入WAF后所有源IP都会变成独享引擎实例的回源IP(即独享引擎实例对应的子网IP),以防止源站IP暴露后被黑客直接攻击。

源站服务器上的安全软件很容易认为独享引擎的回源IP是恶意IP,有可能触发屏蔽WAF回源IP的操作。一旦WAF的回源IP被屏蔽,WAF的请求将无法得到源站的正常响应,因此,网站以“独享模式”接入WAF防护后,您需要在源站服务器上设置放行创建的独享引擎实例对应的子网IP,不然可能会出现网站打不开或打开极其缓慢等情况。

根据您的源站服务器部署位置,选择以下方式进行操作。

如果您的源站服务器直接部署在华为云ECS上,请参考以下操作步骤设置安全组规则,放行独享模式回源IP。

  1. 在WAF获取所有创建的独享引擎对应的子网IP地址。

    1. 在页面左上方,单击图标,选择安全与合规 > Web应用防火墙 WAF
    2. 在左侧导航栏,选择系统管理 > 独享引擎
    3. 在独享引擎页面,单击目标独享引擎“IP地址”列的IP,即可复制独享引擎对应的子网IP地址。
      图7 获取独享引擎对应的子网IP地址

  2. 将子网IP添加到ECS安全组。

    1. 在页面左上方,单击图标,选择网络 > 弹性云服务器 ECS
    2. “弹性云服务器”页面,单击目标ECS实例名称。
    3. 在ECS实例的详情页面,选择“安全组”页签,单击“更改安全组”
    4. “更改安全组”面板,选择目标安全组或新建安全组并单击“确定”
    5. 单击安全组ID,进入安全组基本信息页面。
    6. 选择“入方向规则”页签,单击“添加规则”,在“添加入方向规则”对话框,完成如下配置后,单击“确定”。参数配置说明如表3所示。
      图8 添加入方向规则
      表3 入方向规则参数配置说明

      参数

      配置说明

      优先级

      安全组规则优先级,保持默认即可。

      策略

      安全组规则策略,配置为“允许”

      类型

      设置源站IP地址类型。

      协议端口

      安全组规则作用的协议和端口。当前场景中,协议选择“自定义TCP”,端口填写为空或1-65535,表示放行回源IP(段)的全部端口。

      关于协议和端口的详细说明如下:

      • 安全组规则中用来匹配流量的网络协议类型,支持TCP、UDP、ICMP和GRE协议。
      • 安全组规则中用来匹配流量的目的端口。取值范围为:1~65535。

        端口填写支持下格式:

        • 单个端口:例如22
        • 连续端口:例如22-30
        • 多个端口:例如22,23-30,一次最多支持20个不连续端口组, 端口组之间不能重复。
        • 全部端口:为空或1-65535

      源地址

      逐一添加1中复制的所有WAF回源IP(段)的“IP地址/掩码”

      说明:

      一条规则配置一个IP。单击“增加1条规则”,可配置多条规则,最多支持添加10条规则。

    7. 单击“确定”,安全组规则添加完成。

      成功添加安全组规则后,安全组规则将允许独享引擎回源IP地址的所有入方向流量。

      您可以使用Telnet工具测试已接入WAF防护的源站IP对应的业务端口是否能成功建立连接验证配置是否生效。

      例如,执行以下命令,测试已接入WAF防护的源站IP对外开放的443端口是否能成功建立连接。如果显示端口无法直接连通,但网站业务仍可正常访问,则表示安全组规则配置成功。

      Telnet 源站IP 443

如果您的源站服务器使用华为云ELB进行流量分发,请参考以下操作步骤设置访问控制(白名单)策略,只放行独享模式回源IP。

  1. 在WAF获取所有创建的独享引擎对应的子网IP地址。

    1. 在页面左上方,单击图标,选择安全与合规 > Web应用防火墙 WAF
    2. 在左侧导航栏,选择系统管理 > 独享引擎
    3. 在独享引擎页面,单击目标独享引擎“IP地址”列的IP,即可复制独享引擎对应的子网IP地址。
      图9 获取独享引擎对应的子网IP地址

  2. 将子网IP添加到ELB访问控制白名单。

    1. 在页面左上方,单击图标,选择网络 > 弹性负载均衡 ELB
    2. 在独享引擎绑定的ELB所在行的“名称”列中,单击ELB名称,进入ELB的详情页面。
    3. 在目标监听器所在行的“访问控制”列,单击“设置”
      图10 监听器列表
    4. 在弹出的对话框中,“访问控制”选择“白名单”
      1. 单击“创建IP地址组”,将1.c中WAF的接入IP地址添加到“IP地址组”
      2. “IP地址组”的下拉框中选择2.d.i中创建的IP地址组。
    5. 单击“确定”,白名单访问控制策略添加完成。

      成功配置访问控制策略后,访问控制策略将允许独享引擎回源IP地址的所有入方向流量。

      您可以使用Telnet工具测试已接入WAF防护的源站IP对应的业务端口是否能成功建立连接验证配置是否生效。

      例如,执行以下命令,测试已接入WAF防护的源站IP对外开放的443端口是否能成功建立连接。如果显示端口无法直接连通,但网站业务仍可正常访问,则表示安全组规则配置成功。

      Telnet 源站IP 443

步骤五:验证WAF独享引擎实例转发正常

添加防护网站后,验证WAF转发和ELB运行是否正常。

后续操作

  1. (可选)网站接入后推荐配置:域名接入成功后,您也可以根据实际需要,进行针对性的安全配置。
  2. 配置防护策略:如果默认开启的防护规则不能满足网站的安全需求,您可以配置有针对性的防护规则。
  3. 查询防护事件:查看网站防护详情。

相关文档