透明接入模式只需将需要防护的网站信息添加到WAF,无需修改域名的DNS解析设置,即可实现WAF防护。如果您的源站服务器为ECS服务器或者部署在阿里云公网SLB上,那么除了使用CNAME接入模式,还可以选择云原生的透明接入模式。本文介绍如何使用透明接入模式接入WAF。

关于CNAME接入和透明接入的更多信息,请参见使用教程

使用限制

限制项类型 描述
云服务实例类型 透明接入不支持私网SLB和IPv6版本的公网SLB实例。
SLB和ECS地域 支持位于如下地域的公网SLB实例和ECS实例:西南1(成都)、华北2(北京)、华北3(张家口)、华东1(杭州)、华东2(上海)、华南1(深圳)、中国(香港)、马来西亚(吉隆坡)、印度尼西亚(雅加达)。
  • 如果您的公网SLB实例和ECS实例地域位于西南1(成都)、华北2(北京)、华北3(张家口)、华东1(杭州)、华东2(上海)、华南1(深圳),那么对应的WAF实例地域为中国内地
  • 如果您的公网SLB实例和ECS实例地域位于中国(香港)、马来西亚(吉隆坡)、印度尼西亚(雅加达),那么对应的WAF实例地域为非中国内地

由于历史网络架构的原因,部分公网SLB不支持透明接入。

具体开通咨询,请使用钉钉加入阿里云WAF云原生接入咨询群聊(群号:32208925),联系我们。

引流端口配置的数量 不同版本的WAF实例支持添加的引流端口配置的数量如下:
  • 高级版:不超过20条。
  • 企业版:不超过50条。
  • 旗舰版:不超过100条。
  • 按量计费版本:不超过20条。

透明接入对指定源站服务器的具体端口生效,即您可以针对某个源站服务器(具有公网IP)的具体端口(例如80、443等)开启透明接入。开启透明接入后,该服务器端口的流量被引流到WAF进行防护。

例如,您同时为SLB实例A的80、443端口,及另一个SLB实例B的80、443端口开启透明接入,则共添加了4个引流端口配置(SLB实例A的80端口、SLB实例A的443端口、SLB实例B的80端口、SLB实例B的443端口)。

业务同时接入DDoS高防和WAF 如果您的业务需要同时接入DDoS高防和WAF,则只有在业务通过域名接入(即七层接入模式)接入DDoS高防时,该业务才支持通过透明接入模式接入WAF。

如果业务通过端口接入(即四层接入模式)接入DDoS高防,则该业务暂不支持通过透明接入模式接入WAF。针对这种情况,推荐您使用CNAME接入模式,将该业务接入WAF进行防护。更多信息,请参见网站接入(CNAME接入)

前提条件

  • 已开通Web应用防火墙实例。具体操作,请参见开通Web应用防火墙
  • 已创建的云服务实例为IPv4公网的SLB实例,且该SLB实例拥有公网IP,端口未开启双向认证。
    说明 如果您使用了私网SLB+EIP,也支持使用透明接入。
  • 托管在中国内地服务器上的网站域名,已完成阿里云ICP备案。在阿里云ICP代备案管理系统提交ICP备案订单时,系统会根据您提交的基本信息自动识别本次提交订单的ICP备案类型,自动为您匹配对应备案类型需进行的ICP备案流程。更多信息,请参见ICP备案
  • 透明接入配置端口上使用的证书已按先后顺序完成如下操作:
    1. 已上传到数字证书管理服务控制台统一管理,或直接从数字证书管理服务控制台购买和申请证书。
    2. 已在负载均衡SLB控制台为该透明接入配置的端口配置监听时,选择该证书并完成配置。
    注意 如果您要接入七层SLB实例上的Web流量,必须满足该前提条件。接入四层SLB实例或ECS源站上Web流量时,无需满足该前提条件。
  • 已完成云资源访问授权。具体操作,请参见授权WAF访问云资源

步骤一:添加域名

您可以通过添加域名的方式,接入WAF。

警告 域名首次透明接入WAF时,可能会导致Web业务出现秒级闪断。该闪断会自动恢复,不会对您的业务造成影响。
  1. 登录Web应用防火墙控制台,并在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。
  2. 在左侧导航栏,选择资产中心 > 网站接入
  3. 域名列表页签,单击网站接入
  4. 添加域名页面,选择接入模式透明接入
  5. 添加域名信息模块,配置域名和源站服务端口等。
    配置项 说明
    域名 填写网站域名。支持使用精确域名(例如,www.aliyundoc.com)和泛域名(例如,*.aliyundoc.com)格式。具体说明如下:
    • 使用泛域名后,WAF将自动匹配该泛域名对应的所有子域名(例如,*.aliyundoc.com能够匹配www.aliyundoc.comtest.aliyundoc.com等)。
      注意 泛域名不支持匹配对应的主域名(例如,*.aliyundoc.com不能够匹配aliyundoc.com)。如果您需要将主域名接入WAF进行防护,您需要单独添加对应的域名配置(例如,单独添加aliyundoc.com)。
    • 如果同时存在泛域名和精确域名配置,则精确域名的转发规则和防护策略优先生效。
    源站服务端口 WAF支持ALB类型七层SLB类型四层SLB类型ECS类型实例的源站服务端口开启透明接入。您可根据需要接入WAF的实例类型,在源站服务端口配置区域选择对应页签。例如,您部署了应用型负载均衡(ALB)实例作为Web服务的入口,需要为ALB实例监听端口上的流量开启WAF防护,单击ALB类型页签。

    您可在相应页签,完成如下配置:

    • 实例列表:展示云服务中已创建的实例,端口号列展示了该实例下已创建的HTTP或HTTPS的监听端口。您需要为该监听端口开启WAF防护,具体操作,请参见ALB实例端口引流
    • 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判定方式

        如果您的网站业务已通过其他代理服务的设置,规定将客户端源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流量标记功能。
      选中启用流量标记后,您需要设置标记字段。启用流量标记标记字段分为以下类型:
      • 自定义Header:需要设置Header名Header值,使WAF在回源请求中添加该Header信息,标记请求经过WAF(区分没有经过WAF的请求,便于您的后端服务统计分析)。

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

        注意 请不要填写标准的HTTP头部字段(例如User-Agent等),否则会导致标准头部字段内容被自定义的字段值覆盖。
      • 客户端IP:设置记录IP的Header名,使WAF在回源请求中,将该Header的值修改为客户端IP。关于WAF判定客户端IP的具体规则,请参见WAF前是否有七层代理(高防/CDN等)参数的描述。

        如果您的后端服务需要从指定的自定义Header(例如,example-client-ip)中获取客户端IP进行业务分析,则您可以将该Header设置为记录IP的Header名

        注意 请不要填写标准的HTTP头部字段(例如User-Agent等),否则会导致标准头部字段内容被自定义的字段值覆盖。
    • 资源组:从资源组列表中选择该域名所属资源组。
      说明 您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。更多信息,请参见创建资源组
  6. 检查并确认模块,检查已配置的透明接入信息,并单击下一步
  7. 添加完成模块,单击完成,返回网站列表
    域名添加完成后,您可以在域名列表中查看已添加域名及源站信息,并可以根据需要编辑、删除域名配置。

    WAF默认对您在添加域名信息中开启的源站服务端口上的流量进行检测,并将处理后的正常请求返回到源站服务器。您可以根据业务实际需要,在服务器列表页签,修改源站服务端口的流量防护状态。具体操作,请参见步骤二:查看服务器列表信息

步骤二:查看服务器列表信息

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

网站接入页面,单击服务器列表页签,查看已接入WAF防护的源站服务器资产(包含ALB实例、SLB实例、ECS实例)。
  1. 单击实例前的icon图标,展开查看该实例下已添加到WAF防护的端口。
    防护状态
    Web流量状态说明:
    • Web流量状态(图示①)表示该端口的流量目前是否经过WAF防护,可取值开启关闭。您可以单击操作列下的关闭引流开启引流,修改端口引流状态。
      说明 关闭端口引流后,该服务器端口的流量将不会经过WAF防护。
    • Web流量状态(图示②)表示该实例下端口接入WAF防护的整体状态,可取值未防护部分防护运行中
  2. 如果实例为四层SLB类型、ECS类型,您可以单击端口操作列下的删除,并在提示对话框中单击确定,删除某个不再需要流量防护的端口。

    后续如果您需要重新为该端口开启WAF防护,必须重新添加端口。

后续步骤

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

相关文档

CNAME接入

上传已有证书到数字证书管理服务控制台