Web应用防火墙(WAF)提供CNAME接入和透明接入两种方式,使您的网站流量可以受到WAF的保护。如果您的源站服务器为ECS服务器或者部署在阿里云公网SLB上,那么除了使用CNAME接入,您还可以选择云原生的透明接入方式。

在透明接入模式下,无需修改域名DNS解析、设置源站保护,同时无需改变服务器获取真实源IP的方式,保护您SLB和ECS上的Web业务正常运转。

透明接入支持接入七层SLB实例、四层SLB实例、ECS源站上的Web流量。

前提条件

前提条件类型 描述 补充说明
WAF实例版本 已开通WAF包年包月服务的高级版、企业版、旗舰版,或者WAF按量计费服务。 详细版本介绍,请参见套餐规格与功能说明
WAF实例地域 已开通中国内地地域的WAF实例。 目前,仅中国内地的WAF实例支持透明接入,海外地区的WAF实例暂不支持透明接入。
云服务实例的类型 已创建IPv4公网SLB实例。 透明接入不支持私网SLB和IPv6版本的公网SLB实例。
SLB配置 需要透明接入的SLB实例拥有公网IP,且端口未开启双向认证。 如果您使用了私网SLB+EIP,也支持使用透明接入。
SLB和ECS地域 您的公网SLB实例和ECS实例地域必须位于西南1(成都)、华北2(北京)、华东1(杭州)、华东2(上海)、华南1(深圳)。 由于历史网络架构的原因,部分公网SLB不支持透明接入。
具体开通咨询,请通过下面钉钉服务群二维码联系我们。二维码
域名备案 需要防护的网站域名如果托管在中国内地(大陆)的服务器上,该域名需要完成ICP备案。
(可选)证书状态
注意 如果您要接入七层SLB实例上的Web流量,必须满足该前提条件。接入四层SLB实例或ECS源站上Web流量时,无需满足该前提条件。
由于透明接入WAF的证书同步机制的限制,要求您在七层SLB实例端口中配置的证书必须从阿里云签发证书列表中选择。因此,执行透明接入前,您必须对透明接入配置端口上使用的证书,完成以下操作:
  1. 必须先将该证书上传到SSL证书控制台进行统一管理,或直接从SSL证书控制台购买和申请证书。
  2. 证书上传到SSL证书控制台或在SSL证书控制台完成证书申请后,您需要在负载均衡SLB控制台为该透明接入配置的端口配置监听时,选择该证书并完成配置。
说明 以上操作顺序不可颠倒,否则会导致您无法在WAF控制台透明接入模块的七层SLB类型列表中看到该端口。
如果您先在SLB中完成证书配置,而没有先在SSL证书控制台上传证书或申请证书,SLB无法将该证书自动同步到WAF中,您将无法在WAF控制台透明接入模块的七层SLB类型列表中看到该端口,最终导致您无法完成网站接入。相关内容,请参见上传证书
下图展示了在负载均衡SLB控制台为该端口配置监听时,如何正确选择该证书:SLB端口证书

功能优势

透明接入模式具有以下优势:
  • 无需修改DNS解析,无需设置源站保护,防护更简单、安全。
  • 全透明代理防护,无需回源配置,源站即可直接获取访问者的真实IP。
  • 联动阿里云SSL证书服务对证书(支持非阿里云证书)进行统一管理,运维更便捷。
  • 支持任意非标业务端口接入WAF防护(旗舰版适用)。

注意事项

  • 域名首次透明接入WAF时,可能会导致Web业务出现秒级闪断。您可以在总览页面查看到当前业务QPS有明显下降。
  • 透明接入的域名不支持网页防篡改功能。如果您需要防护的域名有网页防篡改的需求,建议您使用CNAME接入的方式。相关文档,请参见网站接入

接入限制

限制项 说明 补充说明
WAF实例支持接入(包含CNAME接入和透明接入方式)的不同业务端口的数量 不同WAF实例版本支持的端口号和端口总数量不同。具体说明,请参见各版本支持的端口
注意 该限制同时适用于CNAME接入和透明接入,即您使用CNAME接入和透明接入方式添加的业务端口总数不能超过WAF实例版本中的限制。
WAF实例支持添加的透明引流配置的数量
  • 高级版:20条
  • 企业版:50条
  • 旗舰版:100条
一条透明引流配置表示您在透明接入模式下开启的一个引流服务器(SLB或ECS实例)IP+端口。

例如,您在某个SLB实例A上配置了80端口、8443端口,在B实例上配置了80端口、443端口,那么当前的透明引流配置条数为4条。

添加域名

您在透明模式下执行网站接入时,必须先添加端口号,再添加需要防护的域名信息。如果域名所属的网站业务流量对应的IP和网站业务转发端口不处于已迁引状态,单独添加域名将无防护效果。

  1. 登录Web应用防火墙控制台
  2. 在左侧导航栏,选择资产中心 > 网站接入
  3. 可选:在顶部菜单栏左上角,选择中国内地地域。
    目前,仅中国内地的WAF实例支持透明接入。如果WAF控制台已默认展示中国内地地域,则无需切换地域。
  4. 域名列表页签,单击网站接入
  5. 可选:域名一键接入页面,单击下方的手动添加其他网站
    如果域名一键接入页面没有出现,请跳过该步骤。
  6. 添加域名页面,完成添加域名的配置。
    首次执行透明接入时,需要完成云资源授权。首次接入授权
    参数 说明
    域名 输入要防护的域名或IP地址。 支持以下域名类型:
    • 通配符域名

      例如:*.aliyun.com。使用通配符域名后,Web应用防火墙将自动匹配该通配符域名对应的所有子域名。

    • 精确域名

      例如:例如www.aliyun.com。如果同时存在通配符域名和精确域名配置,则精确域名的转发规则和防护策略优先生效。

    说明 暂不支持添加.edu域名。如果您需要添加.edu域名,请提交工单联系售后技术支持。
    接入模式 选择透明接入
    端口号 选择需要透明接入的域名网站已开启的HTTP/HTTPS Web服务端口。最少选择一个端口。具体设置方法,请参见该参数说明表下方的端口号设置说明

    选择端口后,通过该端口访问网站的流量会经过WAF,并受到WAF的检测和防护。

    对于未选择的端口,通过该端口访问网站的流量将不会经过WAF,将会直接从客户端发送到源站服务器。

    各版本支持的端口类型和数量说明如下:
    • 高级版:仅支持80、8080、443、8443端口;不支持添加这4个标准端口以外的任意端口。
    • 企业版:支持防护由WAF指定的非标准端口,数量限制为10个(包含80、8080、443、8443端口在内;关于端口号的详细说明,请参见WAF支持的端口);不支持防护您业务中的自定义端口。
    • 旗舰版:支持防护50个任意的非标准端口(0~65535区间内,包含80、8080、443、8443端口和您业务中的自定义端口;关于端口号的详细说明,请参见WAF支持的端口)。

    关于不同版本实例支持防护的规格,请参见套餐规格与功能说明

    WAF前是否有七层代理(高防/CDN等) 如果在Web应用防火墙前有配置其他七层代理服务(例如:DDoS高防、CDN)进行业务转发,请务必选择,否则Web应用防火墙将无法获取访问网站的客户端真实IP。更多信息,请参见以下文档:

    如果在WAF前未配置其他七层代理服务进行业务转发,请选择

    流量标记 填写一个空闲的Header字段名称和自定义Header字段值,用来标识经过WAF转发到源站的Web请求。

    Web请求经过WAF后,WAF会在请求中添加此处指定的字段,方便您的后端服务识别WAF转发的流量和对流量进行相关统计,实现精准的源站保护(访问控制)、防护效果分析等。

    注意 如果Web请求中本身已包含了此处定义的Header字段,WAF将用此处的设定值覆盖原Web请求中对应字段的内容。

    更多信息,请参见设置流量标记

    资源组 从资源组列表中选择域名所属的资源组。
    说明 您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。更多信息,请参见创建资源组
    端口号设置说明
    不同源站类型设置端口号的操作不同,具体说明如下:
    • 七层SLB类型:在七层SLB类型实例列表中,为要接入的七层SLB实例选择对应的端口号
      注意 此处选择的端口,必须与源站服务器提供网站服务的端口保持一致。否则,该端口转发的流量将被WAF丢弃,无法到达源站服务器。WAF不同版本支持的端口范围不同,具体请参见上表中端口号参数的说明。
      配置端口

      七层SLB类型实例列表仅展示协议类型为HTTP/HTTPS的公网SLB实例,或者SLB中未配置任何监听协议的实例。公网SLB实例端口监听协议类型如果配置的是TCP协议、SLB是私网类型或者该端口证书未上传到阿里云SSL证书服务中进行统一管理,将不会展示在此处。

      七层SLB类型实例列表中,协议类型为--,表示SLB中未配置任何监听协议。您需要先前往负载均衡SLB控制台配置HTTP/HTTPS监听端口,然后返回WAF控制台透明接入模块,单击七层SLB类型列表右上角刷新图标,同步SLB配置。

    • 四层SLB类型:在四层SLB类型实例列表中,为要接入的四层SLB实例选择对应的端口号(如果是HTTPS端口,必须上传对应证书)。四层SLB类型
      操作步骤如下:
      1. 单击添加
      2. 添加端口对话框,选择一个端口号和对应的协议(HTTPHTTPS)。
      3. 可选:如果是HTTP端口,无需执行该步骤。如果是HTTPS端口,按照页面提示,上传对应的默认证书扩展证书(最多可以添加3个)。
        证书说明如下:
        • 默认证书表示服务器在收到客户端的HTTPS请求时,默认返回给客户端的证书。如果您的服务器只使用了一个SSL证书,则只需要上传默认证书。
        • 扩展证书表示服务器在收到客户端的HTTPS请求时,通过SNI字段匹配后(检查请求中SNI扩展包含的域名是否和扩展证书的域名匹配),返回给客户端的匹配证书。如果客户端发送的SNI和扩展证书不匹配,则使用默认证书。

          SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。它的工作原理是:在与服务器建立SSL连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。更多信息,请参见SNI兼容性导致HTTPS访问异常(服务器证书不可信)

        您可以从以下上传方式中选择一种方式上传证书:
        • 手动上传:需要手动填写证书名称证书文件内容、证书私钥内容。更多信息,请参见上传HTTPS证书
        • 选择已有证书(推荐):只需从SSL证书服务中已有证书选择透明接入时要使用的证书。

          如果您的证书不在SSL证书服务的证书列表中,您可以单击云盾-证书服务,先将您的证书上传到SSL证书服务进行统一管理,再选择已有证书。关于上传第三方证书到SSL证书服务的具体操作,请参见上传证书

      4. 单击保存
      5. 从已添加的端口号中,单击复选项图标,选中要开启引流的端口号。
    • ECS类型:在ECS类型实例列表中,为要接入的ECS实例手动添加端口号(如果是HTTPS端口,必须上传对应证书)。ECS类型
      操作步骤如下:
      1. 单击添加
      2. 添加端口对话框,填写一个端口号并选择对应的协议(HTTPHTTPS)。

        您可以单击查看可选范围,查询支持填写的端口号。

      3. 可选:如果是HTTP端口,无需执行该步骤。如果是HTTPS端口,按照页面提示,上传对应的默认证书扩展证书(最多可以添加3个)。
        证书说明如下:
        • 默认证书表示服务器在收到客户端的HTTPS请求时,默认返回给客户端的证书。如果您的服务器只使用了一个SSL证书,则只需要上传默认证书。
        • 扩展证书表示服务器在收到客户端的HTTPS请求时,通过SNI字段匹配后(检查请求中SNI扩展包含的域名是否和扩展证书的域名匹配),返回给客户端的匹配证书。如果客户端发送的SNI和扩展证书不匹配,则使用默认证书。

          SNI(Server Name Indication)是为了解决一个服务器使用多个域名和证书的SSL/TLS扩展。它的工作原理是:在与服务器建立SSL连接之前,先发送要访问站点的域名(Hostname),这样服务器会根据这个域名返回一个合适的证书。更多信息,请参见SNI兼容性导致HTTPS访问异常(服务器证书不可信)

        您可以从以下上传方式中选择一种方式上传证书:
        • 手动上传:需要手动填写证书名称证书文件内容、证书私钥内容。更多信息,请参见上传HTTPS证书
        • 选择已有证书(推荐):只需从SSL证书服务中已有证书选择透明接入时要使用的证书。

          如果您的证书不在SSL证书服务的证书列表中,您可以单击云盾-证书服务,先将您的证书上传到SSL证书服务进行统一管理,再选择已有证书。关于上传第三方证书到SSL证书服务的具体操作,请参见上传证书

      4. 单击保存
      5. 从已添加的端口号中,单击复选项图标,选中要开启引流的端口号。
  7. 单击下一步
  8. 检查并确认模块中,检查已配置的域名信息,并单击下一步
    说明 完成接入域名后,如果再次添加同一个域名,WAF将提示域名重复配置
    成功添加域名后,WAF将对请求该域名对应的IP+端口的流量进行检测,并将处理后的正常请求返回到源站服务器。

查看服务器列表信息

完成域名接入后,您可以查看该域名所在的源站服务器的详细防护信息,以及在需要紧急容灾的情况下强制关闭引流或删除引流端口。

  1. 登录Web应用防火墙控制台
  2. 在左侧导航栏,选择单击资产中心 > 网站接入
    目前,仅中国内地的WAF实例支持透明接入。WAF控制台默认展示中国内地地域,因此,您无需在网站接入页面左上角切换地域。
  3. 网站接入页面,单击服务器列表
  4. 服务器列表页签,查看已接入WAF防护的SLB、ECS实例的防护状态。
    防护状态服务器列表中,Web流量状态表示该实例是否已受到WAF的防护。说明如下:
    • 未防护:网站未接入Web应用防火墙进行防护。
    • 部分防护:该泛解析域名下有部分端口已接入了Web应用防火墙进行防护。建议您排查剩余未接入的端口,及时接入WAF。
      说明 您可以参考下一步,定位到剩余未接入WAF防护的端口信息。
    • 运行中:网站已接入Web应用防火墙进行防护,Web应用防火墙检测到网站流量且提供全面防护。
  5. 单击实例ID/名称列的扩展图标,展开该服务器的防护详情列表,查看该服务器详细端口地址、对应的协议、证书信息和对应的Web流量状态。
    服务器详情
  6. 可选:强制关闭引流和删除引流端口。
    • 对于已开启引流的服务器(SLB或ECS实例)IP+端口,如果您需要临时关闭WAF引流,则可以在防护详情列表中,单击强制关闭引流关闭引流

      强制关闭引流后,该服务器IP+端口的流量将不会经过WAF防护。后续您可以在防护详情列表中单击强制开启引流,重新为该端口开启引流。

    • 对于已开启引流的服务器(SLB或ECS实例)IP+端口,如果您不再需要WAF处理对应流量,则可以在防护详情列表中,单击删除删除

      删除端口后,该服务器IP+端口的流量将不会经过WAF防护。后续如果您需要重新为该端口开启WAF防护,必须重新添加端口。

后续步骤

完成接入流程后,网站访问流量将经过WAF并受到WAF的防护。WAF包含多种防护检测模块,帮助网站防御不同类型的安全威胁,其中规则防护引擎CC安全防护模块默认开启,分别用于防御常见的Web应用攻击(例如SQL注入、XSS跨站、webshell上传等)和CC攻击,其他防护模块需要您手动开启并配置具体防护规则。更多信息,请参见网站防护配置概述

相关文档

CNAME接入

上传已有证书到SSL证书控制台