网站接入

Web应用防火墙(Web Application Firewall,简称WAF)支持对部署在混合云的域名进行防护。本文介绍如何将混合云环境下测试部署的域名接入WAF防护。

背景信息

Web应用防火墙混合云解决方案,支持在公共云、私有云、线下IDC或者机房构成的多云、跨云和混合云环境中提供统一的Web应用防护管理,打造共享和独享相结合、本地和云端相互融合的弹性、高效的一体化Web应用安全防御体系。接入WAF后,访问受防护域名的流量支持公网和私网回源(即源站服务器部署在公网或私网中)。

前提条件

  • 已购买WAF实例,且当前实例支持接入的域名数量未超过限制。
    说明 支持接入的域名数量由WAF的实例规格和扩展域名包数量决定。更多信息,请参见域名扩展包
  • 如果您购买的是中国内地的WAF实例,您必须先对域名完成ICP备案,否则您的网站将无法接入WAF防护。接入WAF操作时,可能会报错并提示您完成备案。更多信息,请参见阿里云备案服务
  • 已完成了本地WAF防护节点集群的部署,且本地WAF防护节点能与公网互通。更多信息,请参见部署混合云WAF防护集群

使用限制

使用混合云WAF防护节点防护内网业务时,暂不支持网段为172.16.0.0/16的客户端访问。

混合云网站接入

  1. 登录Web应用防火墙控制台,在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。
  2. 在左侧导航栏,选择资产中心 > 网站接入
  3. 域名列表页签,单击网站接入
    说明 进入添加域名页面后,接入模式默认为Cname接入。CNAME接入模式下,您无需再修改。
  4. 填写网站信息,单击下一步

    配置项

    说明

    域名

    填写网站域名。域名需要满足以下要求:

    • 支持使用精确域名(例如www.aliyundoc.com)和泛域名(例如*.aliyundoc.com)格式。具体说明如下:

      • 使用泛域名后,WAF将自动匹配该泛域名对应的所有子域名(例如*.aliyundoc.com能够匹配www.aliyundoc.comtest.aliyundoc.com等)。

        重要

        泛域名不支持匹配对应的主域名(例如*.aliyundoc.com不能够匹配aliyundoc.com)。如果您需要将主域名接入WAF进行防护,您需要单独添加对应的域名配置(例如单独添加aliyundoc.com)。

      • 如果同时存在精确域名和泛域名,则精确域名的转发规则和防护策略优先生效。

    • 暂不支持添加.edu域名。

    防护资源

    选择需要WAF防护的资源类型,此处您需要选择混合云集群

    协议类型

    选择网站使用的协议类型。可选项:

    • HTTP

    • HTTPS

      重要

      如果网站支持HTTPS加密认证,请选择HTTPS协议并在添加域名后上传域名的证书和私钥文件。更多信息,请参见上传HTTPS证书

      选中HTTPS后,还支持启用以下功能:

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

        HTTPS强制跳转表示将客户端的HTTP请求强制转换为HTTPS请求。开启该功能后,客户端使用HTTPS请求,通过443端口访问WAF,WAF转发的请求也会通过443端口访问源站。如果您需要强制客户端使用HTTPS请求访问网站以提高安全性,则开启该功能。

        重要
        • 只有在未选中HTTP协议时,支持开启该设置。

        • 请确保网站支持HTTPS业务再开启该设置。开启该设置后,部分浏览器将被强制设置为使用HTTPS请求访问网站。

      • (高级设置)开启HTTP回源

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

        重要

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

      • (高级设置)开启HTTPS的强制跳转开启HTTP回源均不开启

        如果客户端通过80端口访问WAF,则WAF转发的请求也会通过80端口访问源站。如果客户端通过443端口访问WAF,则WAF转发的请求也会通过443端口访问源站。

      • 启用回源SNI

        回源SNI表示WAF转发客户端请求到源站服务器,在与源站进行TLS握手时,通过SNI扩展字段(Server Name Indicator extension)指定要访问的主机,并与该主机建立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)。

    • HTTP2(必须先选中HTTPS,才支持该选项)

      如果您的网站支持HTTP 2.0协议,则您需要开启该设置。HTTP 2.0协议的端口与HTTPS协议端口保持一致,开启该设置后,您只需设置HTTPS端口即可。更多信息,请参见HTTP 2.0业务接入WAF防护是否会对源站有影响?

      说明

      只有企业版、旗舰版、独享版的WAF实例支持开启HTTP2

    节点设置

    选择防护节点组名称

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

    服务器地址

    设置网站的源站服务器地址,支持IP地址格式和域名(如CNAME)格式。完成接入后,WAF将过滤后的访问请求转发到此处设置的服务器地址。设置说明:

    • IP地址格式:填写源站的公网IP地址。需要为公网可达的IP地址。

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

      说明

      如果设置了多个IP地址,WAF将在这些地址间自动进行健康检查和负载均衡。

      非中国内地WAF实例仅支持配置IPv4地址。中国内地WAF实例支持如下配置方式:

      • 同时配置IPv4IPv6地址

        如果开启IPv4/IPv6回源协议跟随,则来自IPv6地址的请求将被转发到IPv6源站,来自IPv4地址的请求将被转发到IPv4源站。如果不开启IPv4/IPv6回源协议跟随,则不做区分,执行混合回源(即IPv4IPv6请求都有可能回源到IPv4IPv6源站)。

        重要

        使用IPv6回源时,您必须确保网站接入列表中域名的IPv6状态为已开启。更多信息,请参见开启IPv6防护

      • 只配置IPv4地址

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

      • 只配置IPv6地址

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

      服务器IP地址填写说明

      • 如果源站在阿里云,一般填写ECS的公网IP地址。

      • ECS前面有SLB时,则填写SLB的公网IP地址。

      • 当源站在阿里云外的IDC机房或者其他云服务商时,建议您PING域名查询域名的公网IP地址,再填写域名的公网IP地址。

      • 填写的IP没有在透明接入模式下开启引流。

    • 域名(如CNAME)格式:填写服务器回源域名,例如对象存储OSSCNAME等。

      使用域名格式时,支持IPv4回源,即WAF会将客户端请求转发到回源域名解析出来的IPv4地址。

      重要
      • 服务器回源域名不应和要防护的网站域名相同。

      • 如果您的源站服务器地址为OSS域名,则完成网站接入后,您必须前往OSS控制台中为该OSS域名绑定自定义域名。具体操作,请参见绑定自定义域名

    服务器端口

    添加网站使用的转发服务端口。

    说明

    目前仅支持由阿里云技术支持团队配置。

    端口必须在混合云集群已开启的端口范围内。混合云集群默认开启80、8080、443、8443端口,您在创建混合云集群时,可以自定义设置要开启的端口范围。相关操作,请参见混合云集群基本信息配置

    WAF通过此处添加的端口为网站提供流量的接入与转发服务,网站域名的业务流量只通过已添加的服务端口进行转发。对于未添加的端口,WAF不会转发任何该端口的访问请求流量到源站服务器,因此这些端口的启用不会对源站服务器造成任何安全威胁。

    重要

    网站信息中设置的协议类型服务器端口必须是源站服务器提供Web业务的协议和端口,不支持端口转换。例如,源站服务器提供Web服务的是80端口HTTP协议,域名配置也必须是一致的,设置其他端口则无法正常转发。

    默认端口:

    • 协议类型选择HTTP协议后,服务器端口默认设置为HTTP 80

    • 协议类型选择HTTPS协议后,服务器端口默认设置为HTTPS 443

      说明

      HTTP2.0协议的端口与HTTPS协议的端口保持一致。

    自定义端口:单击自定义,并根据协议类型(HTTPHTTPS)自定义对应的端口,多个端口之间使用英文逗号(,)分隔。

    单击查看可选范围可以查询所有支持使用的端口。

    负载均衡算法

    设置了多个源站服务器地址时,选择多源站服务器间的负载均衡算法。可选项:

    • IP hash(默认):将某个IP的请求定向到同一个源站服务器。

      说明

      使用IP hash时,如果源站服务器的IP地址不够分散,可能会出现负载不均的情况。

    • 轮询:将所有请求轮流分配给源站服务器。

    • Least time:通过智能DNS解析能力和升级后的Least-time回源算法,保证业务流量从接入防护节点到转发回源站服务器整个链路的时延最短。

      说明

      Least time仅在开通智能负载均衡后支持使用。更多信息,请参见智能负载均衡

    设置生效后,WAF将根据设置的负载均衡算法向多个源站地址分发回源请求,实现负载均衡。

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

    选择网站业务在接入WAF前是否开启了其他七层代理服务(例如DDoS高防、CDN等)。可选项:

    • :表示WAF收到的业务请求来自发起请求的客户端。WAF直接获取与WAF建立连接的IP(来自REMOTE_ADDR字段)作为客户端IP。

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

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

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

      说明

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

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

    启用流量标记

    设置是否启用WAF流量标记功能。

    流量标记表示WAF在转发客户端请求到源站服务器时,在请求头中添加或修改由您指定的自定义字段,用于标记该请求经过WAF转发、记录该请求的客户端IP。

    选中启用流量标记后,您需要设置标记字段。

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

    • 如果攻击者在域名接入WAF前,已获取源站IP信息,并通过购买其他WAF实例,将请求回源到目标源站时,您可以启用流量标记,并设置标记字段。当源站接收到请求后,建议对该字段进行校验。如果存在指定标记字段,则允许访问。

    标记字段分为以下类型:

    • 自定义Header

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

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

    • 客户端真实源IP

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

    • 客户端真实源端口

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

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

    资源组

    从资源组列表中选择该域名所属资源组。

    说明

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

  5. 将本机host绑定到本地WAF前的负载均衡服务器上,并测试流量是否正常通过WAF。

    说明

    目前,暂时仅支持由阿里云技术人员操作。

  6. 修改需要接入域名的DNS解析到本地负载均衡服务器。

  7. 单击完成,返回网站列表

    此时,您已成功将该域名接入混合云WAF的防护。