混合云接入是阿里云为部署在非阿里云的业务流量提供的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),联系产品技术专家进行咨询。
操作步骤
登录您的本地服务器。
获取最新版本的vagent,并将vagent下载到本地服务器。
获取方法:请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。
安装vagent。
运行以下命令,安装vagent到本地服务器。
sudo rpm -ivh t-yundun-vagent-xxxxxxx.xxxxx.rpm
说明xxxxxxx.xxxxx
需要替换成您下载的vagent版本号。安装完成后,运行以下命令,查看已安装的vagent版本号,确认您已成功安装最新版本的vagent。
rpm -qa|grep vagent
修改vagent的接入配置。
成功安装vagent后,您必须根据混合云WAF的接入模式,修改vagent与阿里云服务端进行通信的相关配置。具体操作步骤如下:
运行以下命令,进入vagent配置文件的编辑页面。
sudo vi /home/admin/vagent/conf/vagent.toml
按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
按Esc键退出编辑模式。
输入:wq并按Enter键,保存已修改内容并结束编辑。
启动vagent。
运行以下命令,启动vagent。
sudo systemctl start vagent
运行以下命令,设置开机自动启动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是否成功。
在Linux系统中,您可以运行以下命令,验证是否已经成功安装vagent。
ps aux | grep AliYunDunWaf
如果输出结果中有
AliYunDunWaf
进程,表示本地服务器上已经成功安装了vagent,且vagent正在运行,可以与阿里云WAF服务端进行通信。这时,您才可以通过部署集群配置,将该服务器添加为WAF的本地防护节点。如果输出结果中没有
AliYunDunWaf
进程,建议您检查是否已正确执行了安装步骤,并重新尝试安装和启动vagent。如果重试后仍然不能成功安装vagent,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。
步骤二:部署混合云集群
访问Web应用防火墙购买页,开启多云/混合云防护,并配置多云/混合云防护扩展节点。
说明仅包年包月企业版和旗舰版实例支持混合云接入。包年包月基础版和高级版实例、按量付费实例,暂不支持该接入方式。
单一集群至少部署2个防护节点,单一防护节点最大支持防护不超过5,000 QPS的HTTP业务流量,或者不超过3,000 QPS的HTTPS业务流量。您可以根据集群要防护的网站业务的QPS来选择集群节点数,并通过叠加防护节点,实现性能扩容。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,单击混合云管理。
在混合云管理页面,单击添加集群。
在基本信息配置向导,完成如下配置,单击下一步。
配置项
说明
集群名称
为混合云集群设置一个名称。
集群类型
选择要创建的混合云集群类型,可选项:
反向代理模式:选择该模式后,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私网控制台。
重要只有搭建高速通道后,才支持使用专线私网接入模式。具体操作,请参见高速通道。
备注
为混合云集群添加备注说明。
在节点组配置向导,单击添加节点组,按照节点组添加顺序,添加节点组后,单击下一步。
说明您必须先在混合云集群下添加多个节点组,再在节点组中添加节点。每个节点组需要使用一台负载均衡服务器,确保业务的负载均衡和容灾能力。如果您没有负载均衡设备,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。
配置项
说明
节点组名称
为节点组设置一个名称。
负载均衡(服务器)IP
设置与该节点组绑定的负载均衡服务器的公网IP地址。
节点组类型
选择该节点组的类型。可选项:
防护:对应防护组件,一个集群中可以添加多个,进行容灾。
管控:对应管控组件,一个集群中可以添加多个,进行容灾。
存储:对应存储组件,一个集群中仅支持添加1个。
管控和存储:对应管控和存储组件,一个集群中仅支持添加1个。
您必须按照以下顺序依次添加对应的节点组:
方式一:至少添加3个节点组
先添加1个存储节点组,再添加至少1个管控节点组,最后添加至少1个防护节点组。
方式二:至少添加2个节点组
先添加1个管控和存储节点组,再添加至少1个防护节点组。
所在地区
当节点组类型为防护时,需要选择节点组所在地区。其他类型的节点组,无需设置该参数。
备注
为节点组添加备注说明。
在节点初始化配置导航,单击添加节点,完成如下配置,单击保存。
配置项
说明
服务器IP地址
设置本地服务器的公网IP地址。
节点名称
为节点设置一个名称。
所在地区
选择节点所在地域信息。
服务器配置
默认显示该服务器的配置信息。
防护节点组
选择要加入的防护节点组。
您在当前集群中添加的节点个数不能超过该集群的防护节点数规格。
建议您在防护节点组下添加至少2个节点,保证在线双活容灾。
成功创建集群后,您可以单击切换集群,选择要查询的集群后,执行如下操作:
在基本信息区域,查看集群基本信息。您也可以单击编辑,修改集群名称、防护节点数、服务端口或备注信息。
检查节点运行状态。
节点状态表示服务器是否正常运行。正常状态表示正在运行,已停止状态表示服务器已关机。
如果服务器已关机,则该节点将无法提供WAF防护服务,请您及时检查服务器关机原因,尽快修复异常。
应用状态表示节点上的WAF客户端应用程序vagent是否正常运行。正常状态表示运行正常,已停止状态表示vagent已停止运行。
如果vagent已停止运行,则该节点可能无法正常提供WAF防护服务,建议您登录本地服务器,检查vagent的安装和运行状态,尽快修复异常。具体操作,请参见步骤一:安装WAF客户端。
重要为避免节点健康检查失效,部署时使用的子账号及权限不可删除。如您误删了该子账号,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。
准备集群资源
您可以根据防护场景,选择对应的集群部署方案,不同方案所需要的集群资源数量不同。
防护场景 | 部署方案 | 所需资源 | 部署说明 |
安全性、高稳定性业务上线防护,追求业务和防护能力的高稳定性。 | 防护能力和管控能力都容灾部署。 |
|
|
高稳定性业务上线防护,追求业务高稳定性。 | 防护能力容灾部署。 |
|
|
基本防护能力PoC测试。 | 最小化集群部署。 |
|
|
步骤三:接入WAF
在完成上述步骤后,提供了反向代理模式、SDK集成模式两种接入WAF的方法。
反向代理模式
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,单击接入管理。
在混合云接入页签,单击反向代理后,单击接入。
在配置监听向导页面,完成如下配置,单击下一步。
配置项
配置说明
域名/IP
填写要防护的域名或IP。配置说明:
支持填写精确域名(例如
www.aliyundoc.com
);或通配符域名(例如*.aliyundoc.com
)。说明通配符域名不能匹配对应的主域名,例如,
*.aliyundoc.com
不能匹配aliyundoc.com
。通配符域名不能匹配不同级别的子域名,例如,
*.aliyundoc.com
不能匹配www.example.aliyundoc.com
。通配符域名能够匹配所有同级别的子域名,例如,
*.aliyundoc.com
能够匹配www.aliyundoc.com
、example.aliyundoc.com
等。如果防护对象中同时存在精确域名和能够匹配该精确域名的通配符域名,精确域名的防护规则优先生效。
支持填写IP,例如192.168.XX.XX。
协议类型
网站使用的协议类型及端口信息。
选中HTTP或HTTPS,并填写对应的端口号。每输入一个端口,按回车确认。
说明您输入的端口必须在混合云集群配置的集群监听端口范围内。如果您的域名或IP需要监听的端口不在该范围内,请先在混合云集群添加新的监听端口。具体操作,请参见步骤二:部署混合云集群。
如果选中HTTP,您无需配置其他信息。
如果选中HTTPS,您需要将关联的SSL证书上传到WAF,使WAF监听和防护网站的HTTPS业务流量。
申请新证书
单击立即申请,跳转到SSL证书申请页面,快速申请一张证书。
按照页面提示配置证书后,证书将自动上传到WAF。
说明快速申请证书仅支持申请付费DV(Domain Validation)型证书。如果您需要申请其他类型的证书,请通过SSL证书服务购买。更多信息,请参见购买SSL证书。
选中HTTPS并配置证书后,您也可以根据业务需要,进行如下操作:
HTTP2
如果您的网站支持HTTP 2.0协议,您可以选中HTTP2,开启HTTP 2.0业务防护。
说明HTTP 2.0协议的端口与HTTPS协议端口一致。
高级配置
WAF前是否有七层代理(高防/CDN等)
网站在接入WAF前是否启用了其他七层代理服务(例如,DDoS高防、CDN等)。
资源组
从资源组列表中选择该域名所属资源组。如果不选择,则默认加入默认资源组。
说明您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。更多信息,请参见创建资源组。
在配置转发向导页面,完成如下配置,单击提交。
配置项
说明
节点设置
选择防护节点组,并添加要加入到防护节点组中的服务器地址。该地址为网站对应的源站IP地址,用于接收WAF转发回源的正常业务请求(回源请求)。可选项:
IP
支持填写多个IP地址。每填写一个IP地址,按回车进行确认。最多支持添加20个源站IP。
说明如果设置了多个源站IP地址,WAF会在多个源站IP间自动进行负载均衡。
支持同时配置IPv4和IPv6地址,或者只配置IPv4地址,或者只配置IPv6地址。
同时配置IPv4和IPv6地址时,来自IPv6客户端的请求将被转发到IPv6源站,来自IPv4客户端的请求将被转发到IPv4源站。
只配置IPv4地址时,IPv4和IPv6请求都将通过IPv4回源,即WAF将请求转发到您设置的IPv4源站地址。
只配置IPv6地址时,IPv4和IPv6请求都将通过IPv6回源,即WAF将请求转发到您设置的IPv6源站地址。
域名(如CNAME)
填写回源域名时,只支持IPv4回源(暂不支持IPv6回源),即WAF只会将客户端请求转发到回源域名解析出来的IPv4地址(WAF不解析回源域名的IPv6地址)。
如果您的某个网站部署在了多个防护节点中,您可以单击添加防护节点,将多个防护节点同时接入WAF的防护。
公共云容灾
开启该功能后,业务可切换到公共云链路容灾。混合云链路故障时,可将域名对应的DNS解析指向公共云容灾链路分配的CNAME地址,流量经过公共云集群防护后再回源到服务器地址。您需要添加要进行容灾的服务器地址。具体配置要求与节点设置中的服务器地址相同。更多信息,请参见服务器地址配置要求。
负载均衡算法
如果源站有多个服务器地址,您可以选择WAF转发回源请求到源站时,在多个服务器地址间进行负载均衡的算法。可选项:
HTTPS高级设置
其它高级设置
修改域名DNS解析设置。
重要在修改域名DNS解析设置前,请确认已通过本地验证确保转发配置生效。如果在WAF的网站转发配置未生效时修改域名DNS,可能导致业务中断。更多信息,请参见本地验证。
仅接入域名时,需要修改DNS解析设置。接入IP时,可跳过该步骤。
修改域名对应的DNS A记录,将域名解析到防护节点组IP。
如果您在步骤5开启公共云容灾,在切换到容灾链路前,修改域名对应的DNS CNAME记录,并将域名解析到公共云CNAME。
说明如果您使用的是阿里云的云解析DNS,可登录云解析DNS控制台,修改域名DNS的A记录和CNAME记录。具体操作,请参见修改域名DNS解析设置。
完成接入后,WAF会自动生成一个防护对象,并为该防护对象默认开启基础防护规则。您可以在防护配置概述。
页面,查看自动添加的防护对象,并为其配置防护规则。具体操作,请参见
SDK集成模式
混合云SDK集成模式,通过在您的统一接入网关上部署SDK,将网关的业务流量复制一份给旁路WAF集群做检测,实现业务转发与检测分离。如果您希望通过SDK集成模式接入WAF,请加入钉群(钉群号:34657699),联系产品技术专家进行咨询。
SDK和混合云WAF集群部署完成后,您可以执行如下操作:
查看SDK所在的转发节点IP与混合云集群和防护节点组的映射关系、SDK所在转发节点状态
在左侧导航栏,单击接入管理。
混合云接入页签,单击SDK集成。
您可以在接入列表,查看转发节点IP的映射关系和状态。
添加防护对象
完成接入后,WAF不会自动将接入的网站域名添加为防护对象,您需要在WAF控制台的防护对象页面,将通过SDK集成模式接入WAF的域名或URL添加为防护对象。具体操作,请参见配置防护对象和防护对象组。
为防护对象配置防护规则
完成防护对象添加后,您需要为防护对象配置防护规则。具体操作,请参见防护配置概述。