混合云接入

混合云接入是阿里云为部署在非阿里云的业务流量提供的Web应用防护和管理方案。如果您的业务部署在第三方公共云、私有云、线下IDC机房等,您可以通过混合云接入方式,通过Web应用防火墙(Web Application Firewall,简称WAF)统一管控和运维您的云上云下Web业务。本文介绍什么是混合云接入、如何部署混合云接入。

什么是混合云接入

混合云接入是将云上防护组件下沉到其他云平台或本地IDC的一种产品形态,主要目的是提供本地与云端相结合的一体化Web应用安全管理方案。

应用场景

  • 业务特殊,流量无法上公共云的本地Web业务防护。

  • 业务同时部署在阿里云、其他公共云、私有云、线下IDC、VPC内网,需要统一的Web业务防护方案。

  • 对时延敏感、可靠性要求高,需要跨多网络环境做多活容灾的统一防护。

功能优势

  • 支持云上、云下资产和防护策略的统一管控。

  • 本地化部署方案可就近防护客户业务。

  • 实时同步云上防护规则和威胁情报。

  • 可同时防护互联网和内网业务。

  • 可在统一接入层引流,旁路检测。同时支持手动bypass和自动bypass,在WAF集群发生故障时能及时逃生。

接入方式

接入方式

原理

适用场景

反向代理接入

反向代理接入模式需要将网站域名或IP接入WAF,并将DNS解析指向WAF的防护集群地址。混合云WAF集群对所有代理的访问请求进行安全检测。

适用于可变更网络架构,业务流量规模不是特别大的用户场景。例如互联网、零售、政府、金融、传媒等行业。

SDK集成

SDK集成模式需要在统一接入网关上部署SDK插件,SDK插件将网关的业务流量复制一份到WAF防护集群。该模式下,混合云WAF防护集群不参与流量转发,实现业务转发与检测分离。

适用于存在Nginx统一接入层,具有运维能力,且流量规模大,对延时和稳定性要求极高的用户。例如,头部互联网客户和对转发功能有特殊需求的客户。

使用限制

混合云接入暂不支持网页防篡改功能。

前提条件

  • 使用混合云接入前,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

  • 已开通包年包月企业版、旗舰版实例。具体操作,请参见购买WAF 3.0包年包月实例

    说明

    包年包月基础版或高级版、按量付费实例暂不支持混合云接入。

  • 已准备好所需要资源。关于所需准备的资源数量的建议,请参见准备集群资源

    说明

    混合云集群由管控、存储、防护组件组成。为了保证集群的高稳定性,不同组件建议分开部署。一个组件下包含多个节点时,建议您在节点前部署负载均衡设备。

步骤一:安装WAF客户端

WAF客户端介绍

混合云集群使用您的本地服务器部署WAF防护节点。在部署混合云集群前,您必须在规划为集群节点的本地服务器上安装WAF客户端vagent。

vagent的主要用途包括:

  • 与阿里云WAF服务端通信,从云上拉取混合云WAF安装镜像和升级镜像。

  • 监控并上报混合云组件的运行状态,确保WAF服务的可用性。

  • 实时同步云上配置信息,包括转发配置、防护规则和威胁情报,确保混合云WAF防护效果的实时性。

vagent目前仅支持通过rpm方式安装到Linux服务器系统。Linux服务器系统仅支持版本有AliOS 3.2104(64位)、Tencent OS 3.1(64位)、Centos7(64位)、Redhat7(64位)、x86麒麟v10,内核要求4.10及以上版本。

说明
  • CentOS 7已停止维护,阿里云将同时停止对该操作系统的支持。已经使用CentOS 7的用户不会受到影响,但不再更新镜像。

  • 如果您的服务器版本不在支持的范围中,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

操作步骤

  1. 登录您的本地服务器。

  2. 获取最新版本的vagent,并将vagent下载到本地服务器。

    获取方法:请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

  3. 安装vagent。

    1. 运行以下命令,安装vagent到本地服务器。

      sudo rpm -ivh t-yundun-vagent-xxxxxxx.xxxxx.rpm
      说明

      xxxxxxx.xxxxx需要替换成您下载的vagent版本号。

    2. 安装完成后,运行以下命令,查看已安装的vagent版本号,确认您已成功安装最新版本的vagent。

      rpm -qa|grep vagent
  4. 修改vagent的接入配置。

    成功安装vagent后,您必须根据混合云WAF的接入模式,修改vagent与阿里云服务端进行通信的相关配置。具体操作步骤如下:

    1. 运行以下命令,进入vagent配置文件的编辑页面。

      sudo vi /home/admin/vagent/conf/vagent.toml
    2. i键进入编辑模式,修改或添加以下内容:

      domain="wafopenapi.cn-hangzhou.aliyuncs.com" //混合云WAF服务的接入地址。具体取值说明,请参见混合云接入。
      access_key_id="yourAccessKeyId" //您的阿里云账号的AccessKey ID。
      access_key_secret="yourAccessKeySecret" //您的阿里云账号的AccessKey Secret。

      表 1. domain取值

      WAF服务地域

      混合云WAF接入模式

      domain取值

      中国内地

      公网接入(表示混合云集群通过公网连接云WAF控制台

      wafopenapi.cn-hangzhou.aliyuncs.com

      专线私网接入(表示混合云集群通过专线连接云WAF私网控制台只有当您已经搭建了高速通道,才支持使用该模式

      说明

      目前支持华东1(杭州)、华东2(上海)、华北2(北京)地域的VPC实例。如果您的VPC实例位于中国境内其他地域,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

      wafopenapi.vpc-proxy.aliyuncs.com

      非中国内地

      公网接入(表示混合云集群通过公网连接云WAF控制台

      wafopenapi.ap-southeast-1.aliyuncs.com

      专线私网接入(表示混合云集群通过专线连接云WAF私网控制台只有当您已经搭建了高速通道,才支持使用该模式

      说明

      如果您的VPC实例位于中国境外地域,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

      wafopenapi-intl.vpc-proxy.aliyuncs.com

    3. Esc键退出编辑模式。

    4. 输入:wq并按Enter键,保存已修改内容并结束编辑。

  5. 启动vagent。

    1. 运行以下命令,启动vagent。

      sudo systemctl start vagent
    2. 运行以下命令,设置开机自动启动vagent。

      sudo systemctl enable vagent

      设置开机自动启动vagent后,您将会收到以下提示,表示已经设置成功:

      Created symlink from /etc/systemd/system/multi-user.target.wants/vagent.service 
      to /usr/lib/systemd/system/vagent.service.

    如果启动失败,您可以使用以下方法查询vagent的日志信息进行分析:

    • 通过systemd工具查询。查询命令如下:

      sudo journalctl -u vagent
    • 通过vagent日志文件查询。查询命令如下:

      tail /home/admin/vagent/logs/vagent.log

    您也可以运行以下命令,停止或查看vagent:

    • 运行以下命令,停止vagent。

      sudo systemctl stop vagent
    • 运行以下命令,查看vagent状态。

      sudo systemctl status vagent
  6. 验证安装vagent是否成功。

    Linux系统中,您可以运行以下命令,验证是否已经成功安装vagent。

    ps aux | grep AliYunDunWaf
    • 如果输出结果中有AliYunDunWaf进程,表示本地服务器上已经成功安装了vagent,且vagent正在运行,可以与阿里云WAF服务端进行通信。这时,您才可以通过部署集群配置,将该服务器添加为WAF的本地防护节点。

    • 如果输出结果中没有AliYunDunWaf进程,建议您检查是否已正确执行了安装步骤,并重新尝试安装和启动vagent。如果重试后仍然不能成功安装vagent,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

步骤二:部署混合云集群

  1. 访问Web应用防火墙购买页,开启多云/混合云防护,并配置多云/混合云防护扩展节点

    说明
    • 仅包年包月企业版和旗舰版实例支持混合云接入。包年包月基础版和高级版实例、按量付费实例,暂不支持该接入方式。

    • 单一集群至少部署2个防护节点,单一防护节点最大支持防护不超过5,000 QPSHTTP业务流量,或者不超过3,000 QPSHTTPS业务流量。您可以根据集群要防护的网站业务的QPS来选择集群节点数,并通过叠加防护节点,实现性能扩容。

  2. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  3. 在左侧导航栏,单击混合云管理

  4. 混合云管理页面,单击添加集群

  5. 基本信息配置向导,完成如下配置,单击下一步

    配置项

    说明

    集群名称

    为混合云集群设置一个名称。

    集群类型

    选择要创建的混合云集群类型,可选项:

    • 反向代理模式:选择该模式后,WAF将作为反向代理集群参与业务转发和防护。

    • SDK集成模式:选择该模式后,您需要在统一接入层网关上部署SDK插件,SDK插件将复制一份流量转发到WAF防护集群。该模式下WAF防护集群不参与流量转发。

      您可以在WAF集群异常情况下,开启手动bypass。开启手动bypass后,WAF防护集群即刻进入bypass状态,对应该集群的SDK不再继续给WAF集群转发流量,您的业务将跳过WAF防护。

    重要

    选择集群类型后,不支持修改,建议您规划好要创建的混合云集群后,再进行配置。

    防护节点数

    选择混合云集群包含的防护节点的数量。

    说明

    您在所有自定义混合云集群中添加的节点个数,不能超过已购买的多云/混合云防护扩展节点规格。

    服务端口设置

    设置混合云集群使用的防护端口。集群防护端口必须包含所有要防护的网站业务所使用的协议端口。后续接入网站业务到混合云集群进行防护时,您只能从集群防护端口中选择网站业务的协议端口。

    • 混合云集群默认开启80、8080、443、8443端口。如果没有特殊需求,无需修改。

    • 如果需要添加其他端口,可手动输入。每输入一个端口,按回车确认。

      重要
      • 混合云集群不支持22、53、9100、4431、4646、8301、6060、8600、56688、15001、4985、4986、4987端口。您可以单击查看不可选端口范围,查看混合云集群的不可选端口范围。

      • 建议您仅添加必须用到的防护端口,不要添加与业务无关的端口,避免引入安全风险。

    集群接入模式

    设置混合云集群的网络接入模式。可选值:

    • 公网接入表示混合云集群通过公网连接云WAF控制台

    • 专线私网接入表示混合云集群通过专线连接云WAF私网控制台

      重要

      只有搭建高速通道后,才支持使用专线私网接入模式。具体操作,请参见高速通道

    备注

    为混合云集群添加备注说明。

  6. 节点组配置向导,单击添加节点组,按照节点组添加顺序,添加节点组后,单击下一步

    说明

    您必须先在混合云集群下添加多个节点组,再在节点组中添加节点。每个节点组需要使用一台负载均衡服务器,确保业务的负载均衡和容灾能力。如果您没有负载均衡设备,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

    配置项

    说明

    节点组名称

    为节点组设置一个名称。

    负载均衡(服务器)IP

    设置与该节点组绑定的负载均衡服务器的公网IP地址。

    节点组类型

    选择该节点组的类型。可选项:

    • 防护:对应防护组件,一个集群中可以添加多个,进行容灾。

    • 管控:对应管控组件,一个集群中可以添加多个,进行容灾。

    • 存储:对应存储组件,一个集群中仅支持添加1个。

    • 管控和存储:对应管控和存储组件,一个集群中仅支持添加1个。

    您必须按照以下顺序依次添加对应的节点组:

    • 方式一:至少添加3个节点组

      先添加1存储节点组,再添加至少1管控节点组,最后添加至少1防护节点组。

    • 方式二:至少添加2个节点组

      先添加1管控和存储节点组,再添加至少1防护节点组。

    所在地区

    节点组类型防护时,需要选择节点组所在地区。其他类型的节点组,无需设置该参数。

    备注

    为节点组添加备注说明。

  7. 节点初始化配置导航,单击添加节点,完成如下配置,单击保存

    配置项

    说明

    服务器IP地址

    设置本地服务器的公网IP地址。

    节点名称

    为节点设置一个名称。

    所在地区

    选择节点所在地域信息。

    服务器配置

    默认显示该服务器的配置信息。

    防护节点组

    选择要加入的防护节点组。

    • 您在当前集群中添加的节点个数不能超过该集群的防护节点数规格。

    • 建议您在防护节点组下添加至少2个节点,保证在线双活容灾。

    成功创建集群后,您可以单击切换集群,选择要查询的集群后,执行如下操作:

    • 基本信息区域,查看集群基本信息。您也可以单击编辑,修改集群名称、防护节点数、服务端口或备注信息。

    • 单击节点组配置,添加或修改节点组。具体操作,请参见步骤6

    • 单击添加节点,添加节点。具体操作,请参见步骤7

    • 检查节点运行状态。

      • 节点状态表示服务器是否正常运行。正常状态表示正在运行,已停止状态表示服务器已关机。

        如果服务器已关机,则该节点将无法提供WAF防护服务,请您及时检查服务器关机原因,尽快修复异常。

      • 应用状态表示节点上的WAF客户端应用程序vagent是否正常运行。正常状态表示运行正常,已停止状态表示vagent已停止运行。

        如果vagent已停止运行,则该节点可能无法正常提供WAF防护服务,建议您登录本地服务器,检查vagent的安装和运行状态,尽快修复异常。具体操作,请参见步骤一:安装WAF客户端

    重要

    为避免节点健康检查失效,部署时使用的子账号及权限不可删除。如您误删了该子账号,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

准备集群资源

您可以根据防护场景,选择对应的集群部署方案,不同方案所需要的集群资源数量不同。

防护场景

部署方案

所需资源

部署说明

安全性、高稳定性业务上线防护,追求业务和防护能力的高稳定性。

防护能力和管控能力都容灾部署。

  • 1QPS以内的HTTP业务防护量或6000 QPS以内的HTTPS业务防护量(默认):

    推荐5台服务器+2个负载均衡设备。

  • 超过默认防护量:

    按需扩容防护节点。一个防护节点支持处理5000 QPSHTTP业务或3000 QPSHTTPS业务。

  • 存储组件:1台服务器。

  • 管控组件:2台(及以上)服务器+1个负载均衡设备。

  • 防护组件:2台(及以上)服务器+1个负载均衡设备。

高稳定性业务上线防护,追求业务高稳定性。

防护能力容灾部署。

  • 1QPS以内的HTTP业务防护量或6000 QPS以内的HTTPS业务防护量(默认):

    推荐3台服务器+1个负载均衡设备。

  • 超过默认防护量:

    按需扩容防护节点。一个防护节点支持处理5000 QPSHTTP业务或3000 QPSHTTPS业务。

  • 管控和存储组件:1台服务器。

  • 防护组件:2台(及以上)服务器+1个负载均衡设备。

基本防护能力PoC测试。

最小化集群部署。

  • 1QPS以内的HTTP业务防护量或6000 QPS以内的HTTPS业务防护量(默认):

    至少2台服务器。

  • 超过默认防护量:

    按需扩容防护节点。一个防护节点支持处理5000 QPSHTTP业务或3000 QPSHTTPS业务。

  • 管控和存储组件:1台服务器。

  • 防护组件:1台(及以上)服务器。

步骤三:接入WAF

在完成上述步骤后,提供了反向代理模式、SDK集成模式两种接入WAF的方法。

反向代理模式

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,单击接入管理

  3. 混合云接入页签,单击反向代理后,单击接入

  4. 配置监听向导页面,完成如下配置,单击下一步

    配置项

    配置说明

    域名/IP

    填写要防护的域名或IP。配置说明:

    • 支持填写精确域名(例如www.aliyundoc.com);或通配符域名(例如*.aliyundoc.com)。

      说明
      • 通配符域名不能匹配对应的主域名,例如,*.aliyundoc.com不能匹配aliyundoc.com

      • 通配符域名不能匹配不同级别的子域名,例如,*.aliyundoc.com不能匹配www.example.aliyundoc.com

      • 通配符域名能够匹配所有同级别的子域名,例如,*.aliyundoc.com能够匹配www.aliyundoc.comexample.aliyundoc.com等。

      • 如果防护对象中同时存在精确域名和能够匹配该精确域名的通配符域名,精确域名的防护规则优先生效。

    • 支持填写IP,例如192.168.XX.XX。

    协议类型

    网站使用的协议类型及端口信息。

    选中HTTPHTTPS,并填写对应的端口号。每输入一个端口,按回车确认。

    说明

    您输入的端口必须在混合云集群配置的集群监听端口范围内。如果您的域名或IP需要监听的端口不在该范围内,请先在混合云集群添加新的监听端口。具体操作,请参见步骤二:部署混合云集群

    • 如果选中HTTP,您无需配置其他信息。

    • 如果选中HTTPS,您需要将关联的SSL证书上传到WAF,使WAF监听和防护网站的HTTPS业务流量。

      • 手动上传

        选中手动上传,并填写证书名称证书文件(格式示例:-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----)、私钥文件(格式示例:-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----)。

        重要
        • 如果证书是PEM、CER、CRT格式,您可以使用文本编辑器直接打开证书文件,并复制其中的文本内容;如果是其他格式(例如PFX、P7B等),您必须将证书文件转换成PEM格式后,才可以使用文本编辑器获取其中的文本内容。您可以登录数字证书管理服务控制台,使用证书格式转换工具进行转换。具体操作,请参见证书格式转换

        • 如果域名关联了多个SSL证书(例如,存在证书链),您必须将证书文件中的文本内容拼接后,再上传到WAF。

      • 选择已有证书

        如果您的证书为如下两种情况,您可以选中选择已有证书,从证书下拉列表中选择要上传到WAF的证书。

        • 证书已通过阿里云数字证书管理服务签发。

        • 证书为第三方证书,且已上传到数字证书管理服务

          重要

          选择上传到数字证书管理服务的第三方证书时,WAF控制台提示证书链完整性校验失败,使用该证书可能会影响您的业务访问,可能是选择的证书存在问题。您可以单击云盾-证书服务,在数字证书管理服务控制台重新上传新的证书。具体操作,请参见上传和共享SSL证书

      • 申请新证书

        单击立即申请,跳转到SSL证书申请页面,快速申请一张证书。

        按照页面提示配置证书后,证书将自动上传到WAF。

        说明

        快速申请证书仅支持申请付费DV(Domain Validation)型证书。如果您需要申请其他类型的证书,请通过SSL证书服务购买。更多信息,请参见购买SSL证书

    • 选中HTTPS并配置证书后,您也可以根据业务需要,进行如下操作:

      • HTTP2

        如果您的网站支持HTTP 2.0协议,您可以选中HTTP2,开启HTTP 2.0业务防护。

        说明

        HTTP 2.0协议的端口与HTTPS协议端口一致。

      • 高级配置

        • 开启HTTPS的强制跳转(高级配置)

          该功能默认不开启。如果您希望将客户端的HTTP请求强制转换为HTTPS请求(默认跳转到443端口),以提高安全性,可开启该功能。开启该功能后会默认开启HTTP严格传输安全(HTTP Strict Transport Security,HSTS),配置HSTS响应头,确保始终使用HTTPS请求连接。

          重要

          只有在未选中HTTP协议时,支持开启该功能。

        • TLS协议版本

          自定义HTTPS通信中允许使用的TLS协议版本。如果客户端使用不符合要求的协议版本,WAF会丢弃其请求流量。此处设置的协议版本越高,通信安全性越好,但兼容性会有所降低。

          建议您根据网站本身的HTTPS配置,选择允许WAF监听的TLS协议版本。如果您不清楚网站的HTTPS配置,建议使用默认选项。

          可选项:

          • 支持TLS1.0及以上版本,兼容性最高,安全性较低(默认)

          • 支持TLS1.1及以上版本,兼容性较好,安全性较好

            使用该选项后,如果客户端使用TLS 1.0版本,将无法访问网站。

          • 支持TLS1.2及以上版本,兼容性较好,安全性最高

            使用该选项后,如果客户端使用TLS 1.01.1版本,将无法访问网站。

          如果您的网站支持TLS 1.3协议,请选中开启支持TLS1.3。WAF默认不监听TLS 1.3协议的客户端请求。

        • 加密套件

          自定义HTTPS通信中允许使用的加密套件。如果客户端使用不符合要求的加密套件,WAF会丢弃其请求流量。

          默认已选择WAF支持的全部加密套件。建议您只在网站只支持特定加密套件的前提下,再修改该配置。

          可选项:

          • 全部加密套件,兼容性较高,安全性较低(默认)

          • 协议版本的自定义加密套件、请谨慎选择,避免影响业务:如果您的网站本身只支持特定的加密套件,请选择该选项,并从WAF支持的加密套件中选择网站支持的加密套件。

            如果客户端使用其他加密套件,将无法访问网站。

    WAF前是否有七层代理(高防/CDN等)

    网站在接入WAF前是否启用了其他七层代理服务(例如,DDoS高防、CDN等)。

    • 无其他代理服务,选择(默认)

      表示WAF收到客户端直接发起的业务请求(不是从其他代理服务转发的请求)。

      说明

      WAF直接取与WAF建立连接的IP(来自请求的REMOTE_ADDR字段)作为客户端IP。

    • 有其他代理服务,选择

      表示WAF收到的业务请求来自其他七层代理服务转发(不是客户端直接发起的请求)。为保证WAF可以获取真实的客户端IP进行安全分析,您需要进一步设置客户端IP判定方式。可选项:

      • X-Forwarded-For中的第一个IP作为客户端源IP(默认)

        WAF默认读取请求Header字段X-Forwarded-For(XFF)中的第一个IP地址作为客户端IP。

      • 【推荐】取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造

        如果您的网站业务已通过其他代理服务的设置,规定将客户端源IP放置在某个自定义的Header字段(例如,X-Client-IP、X-Real-IP),则您需要选择该选项,并在指定Header字段框中输入对应的Header字段。

        说明

        推荐您在业务中使用自定义Header存放客户端IP,并在WAF中配置对应Header字段。该方式可以避免攻击者伪造XFF字段,躲避WAF的检测规则,提高业务的安全性。

        支持输入多个Header字段。每输入完一个Header字段,按回车进行确认。如果设置了多个Header,WAF将按顺序尝试读取客户端IP。如果第一个Header不存在,则读取第二个,以此类推。如果所有指定Header都不存在,则读取XFF中第一个IP地址作为客户端IP。

    资源组

    从资源组列表中选择该域名所属资源组。如果不选择,则默认加入默认资源组

    说明

    您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。更多信息,请参见创建资源组

  5. 配置转发向导页面,完成如下配置,单击提交

    配置项

    说明

    节点设置

    选择防护节点组,并添加要加入到防护节点组中的服务器地址。该地址为网站对应的源站IP地址,用于接收WAF转发回源的正常业务请求(回源请求)。可选项:

    • IP

      • 支持填写多个IP地址。每填写一个IP地址,按回车进行确认。最多支持添加20个源站IP。

        说明

        如果设置了多个源站IP地址,WAF会在多个源站IP间自动进行负载均衡。

      • 支持同时配置IPv4IPv6地址,或者只配置IPv4地址,或者只配置IPv6地址。

        • 同时配置IPv4IPv6地址时,来自IPv6客户端的请求将被转发到IPv6源站,来自IPv4客户端的请求将被转发到IPv4源站。

        • 只配置IPv4地址时,IPv4IPv6请求都将通过IPv4回源,即WAF将请求转发到您设置的IPv4源站地址。

        • 只配置IPv6地址时,IPv4IPv6请求都将通过IPv6回源,即WAF将请求转发到您设置的IPv6源站地址。

    • 域名(如CNAME)

      填写回源域名时,只支持IPv4回源(暂不支持IPv6回源),即WAF只会将客户端请求转发到回源域名解析出来的IPv4地址(WAF不解析回源域名的IPv6地址)。

    如果您的某个网站部署在了多个防护节点中,您可以单击添加防护节点,将多个防护节点同时接入WAF的防护。

    公共云容灾

    开启该功能后,业务可切换到公共云链路容灾。混合云链路故障时,可将域名对应的DNS解析指向公共云容灾链路分配的CNAME地址,流量经过公共云集群防护后再回源到服务器地址。您需要添加要进行容灾的服务器地址。具体配置要求与节点设置中的服务器地址相同。更多信息,请参见服务器地址配置要求

    负载均衡算法

    如果源站有多个服务器地址,您可以选择WAF转发回源请求到源站时,在多个服务器地址间进行负载均衡的算法。可选项:

    • IP hash(默认)

      将来自同一个客户端IP的请求固定转发到的一个源站服务器地址。

    • 轮询

      将所有请求轮流分配给不同的源站服务器。

    HTTPS高级设置

    • 开启HTTP回源

      HTTP回源表示WAF使用HTTP协议向源站转发回源请求,默认回源端口是80。开启该功能后,无论客户端访问WAF的端口是80443,WAF转发的请求都会通过80端口访问源站。开启HTTP回源可以在无需改动源站服务器的前提下,通过WAF实现HTTP访问,帮助您降低网站的负载损耗。

      重要

      如果您的网站不支持HTTPS回源,请务必开启该设置。

    • 启用回源SNI

      回源SNI(Server Name Indicator extension)表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则需要开启该设置。

      选中启用回源SNI后,您可以进一步设置SNI扩展字段的值。可选项:

      • 与实际请求host保持一致(默认)

        表示WAF回源请求中SNI扩展字段的值与请求头中Host字段的值保持一致。

        例如,您配置的网站域名为*.aliyundoc.com,客户端实际请求了www.aliyundoc.com(即Host字段值),则WAF回源请求中SNI扩展字段的值为www.aliyundoc.com

      • 自定义

        表示您自定义WAF回源请求中SNI扩展字段的值。

        一般情况无需自定义SNI,除非您的业务有特殊配置要求,希望WAF在回源请求中使用与实际请求Host不一致的SNI(即此处设置的自定义SNI)。

    其它高级设置

    • 通过X-Forwarded-Proto头字段获取WAF的监听协议

      WAF 3.0 会默认为经过的 HTTP 请求自动插入 X-Forwarded-Proto 头部,用于标识与 WAF 之间的通信协议使用的是HTTP还是HTTPS协议访问代理服务器。如果您的网站应用程序无法正确处理该头部,可能会导致一些兼容性问题,影响业务正常运行。您可以选择关闭 WAF 自动插入该头部的功能,避免此类问题发生。

    • 启用流量标记

      启用流量标记可以帮助源站区分经过WAF的请求,获取客户真实源IP或源端口。

      例如,如果攻击者在域名接入WAF前,已获取源站IP信息,并通过购买其他WAF实例,将请求回源到目标源站时,您可以在源站对启用流量标记的字段进行校验。如果请求中存在指定标记字段,则为WAF检测后的正常请求,放行该请求;如果请求中不存在指定标记字段,则为攻击者请求,拦截该请求。

      您可以配置如下类型的标记字段:

      • 自定义Header

        通过配置HeaderHeader,使WAF在回源请求中添加该Header信息,标记经过WAF的请求(区分没有经过WAF的请求,便于您的后端服务统计分析)。

        例如,您可以使用ALIWAF-TAG: Yes标记经过WAF的请求,其中,ALIWAF-TAGHeader名,YesHeader值。

      • 客户端真实源IP

        通过配置真实客户端源IP所在的头部字段名,WAF可记录该头部字段并将该头部字段传递回源站。关于WAF判定客户端真实源IP的具体规则,请参见WAF前是否有七层代理(高防/CDN等)参数的描述。

      • 客户端真实源端口

        通过配置真实客户端源端口所在的头部字段名,WAF可记录该头部字段并将该头部字段传递回源站。

      重要

      请不要填写标准的HTTP头部字段(例如User-Agent等),否则会导致标准头部字段内容被自定义的字段值覆盖。

      单击新增标记,可以增加标记字段。最多支持设置5个标记字段。

    • 设置WAF回源到源站的超时时间

      • 设置新建连接超时时间:WAF与源站建立连接的超时时间,默认值为5s,可配置范围为1s~3600s。

      • 设置读连接超时时间:等待源站响应的超时时间,默认值为120s,可配置范围为1s~3600s。

      • 设置写连接超时时间:WAF向源站发送请求的超时时间,默认值为120s,可配置范围为1s~3600s。

    • 回源重试

      开启该功能后,如果回源失败,WAF会默认为每个源站尝试回源三次。关闭该功能后,如果回源失败,WAF将不再进行重试。

    • 回源长连接

      开启该功能后,您还需要进行如下设置:

      • 复用长连接的请求个数:默认值为1,000个,可配置范围为60个~1,000个。

      • 空闲长连接超时时间:默认值为15s,可配置范围为1s~60s。

      说明

      关闭该功能后,回源长连接将不支持WebSocket协议。

  6. 修改域名DNS解析设置。

    重要
    • 在修改域名DNS解析设置前,请确认已通过本地验证确保转发配置生效。如果在WAF的网站转发配置未生效时修改域名DNS,可能导致业务中断。更多信息,请参见本地验证

    • 仅接入域名时,需要修改DNS解析设置。接入IP时,可跳过该步骤。

    1. 修改域名对应的DNS A记录,将域名解析到防护节点组IP。

    2. 如果您在步骤5开启公共云容灾,在切换到容灾链路前,修改域名对应的DNS CNAME记录,并将域名解析到公共云CNAME。

      说明

      如果您使用的是阿里云的云解析DNS,可登录云解析DNS控制台,修改域名DNSA记录和CNAME记录。具体操作,请参见修改域名DNS解析设置

    完成接入后,WAF会自动生成一个防护对象,并为该防护对象默认开启基础防护规则。您可以在防护配置 > 防护对象页面,查看自动添加的防护对象,并为其配置防护规则。具体操作,请参见防护配置概述防护对象

SDK集成模式

混合云SDK集成模式,通过在您的统一接入网关上部署SDK,将网关的业务流量复制一份给旁路WAF集群做检测,实现业务转发与检测分离。如果您希望通过SDK集成模式接入WAF,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。

SDK和混合云WAF集群部署完成后,您可以执行如下操作:

  • 查看SDK所在的转发节点IP与混合云集群和防护节点组的映射关系、SDK所在转发节点状态

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

    2. 在左侧导航栏,单击接入管理

    3. 混合云接入页签,单击SDK集成

      您可以在接入列表,查看转发节点IP的映射关系和状态。服务化模式

  • 添加防护对象

    完成接入后,WAF不会自动将接入的网站域名添加为防护对象,您需要在WAF控制台的防护对象页面,将通过SDK集成模式接入WAF的域名或URL添加为防护对象。具体操作,请参见配置防护对象和防护对象组

  • 为防护对象配置防护规则

    完成防护对象添加后,您需要为防护对象配置防护规则。具体操作,请参见防护配置概述