全部产品
Search
文档中心

Web 应用防火墙:透明接入

更新时间:Apr 23, 2024

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

说明

如果您的实例已升级到WAF 3.0版本,您可以通过云产品接入(包含WAF 2.0的透明接入)的方式,将您的ECS实例、CLB实例、ALB实例等接入WAF。更多信息,请参见云产品接入

使用限制

限制项类型

描述

云服务实例类型

透明接入不支持私网SLB和IPv6版本的公网SLB实例。

SLB和ECS地域

支持的地域包括:

  • 中国内地:西南1(成都)、华北2(北京)、华北3(张家口)、华东1(杭州)、华东2(上海)、华南1(深圳)

  • 非中国内地:中国(香港)、马来西亚(吉隆坡)、印度尼西亚(雅加达)

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

引流端口配置的数量

不同版本的WAF实例支持添加的引流端口配置的数量如下:

  • 高级版:不超过20条。

  • 企业版:不超过50条。

  • 旗舰版:不超过100条。

透明接入对指定源站服务器的具体端口生效,即您可以针对某个源站服务器(具有公网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端口)。

支持的端口范围

支持防护0~65535范围内的任意标准端口和非标端口。更多信息,请参见WAF支持的端口

说明

仅包年包月企业版、旗舰版、独享版实例支持使用非标端口。

业务同时接入DDoS高防和WAF

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

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

前提条件

  • 已开通Web应用防火墙实例。

  • 已创建的云服务实例为IPv4公网的SLB实例,且该SLB实例拥有公网IP,端口未开启双向认证。

    说明

    如果您使用了私网SLB+EIP,也支持使用透明接入。

  • 托管在中国内地服务器上的网站域名,已完成阿里云ICP备案。在阿里云ICP代备案管理系统提交ICP备案订单时,系统会根据您提交的基本信息自动识别本次提交订单的ICP备案类型,自动为您匹配对应备案类型需进行的ICP备案流程。更多信息,请参见ICP备案场景

  • 透明接入配置端口上使用的证书已按先后顺序完成如下操作:

    1. 已上传到数字证书管理服务控制台统一管理,或直接从数字证书管理服务控制台购买和申请证书。

    2. 已在负载均衡SLB控制台为该透明接入配置的端口配置监听时,选择该证书并完成配置。

    说明

    如果您要接入七层SLB实例上的Web流量,必须满足该前提条件。接入四层SLB实例或ECS源站上的Web流量时,无需满足该前提条件。

  • 已完成云资源访问授权。具体操作,请参见授权WAF访问云资源

步骤一:添加域名

重要
  • 实例首次接入WAF时,Web业务可能会出现秒级闪断。在客户端可自动重连的情况下该闪断会自动恢复,不会对您的业务造成影响,请您关注业务并根据业务系统评估准备重连或回源等相关容灾机制。

  • 实例接入WAF后,如果进行如下操作,监听端口会自动取消接入。您需要重新添加端口,否则,业务流量将不会经过WAF防护。

    • 配置了七层监听的CLB实例:更换实例上绑定的公网IP、监听端口的证书更换为第三方证书、开启双向认证

    • ECS实例和配置了四层监听的CLB实例:更换实例上绑定的公网IP、开启双向认证

  • ECS引流是对EIP或公网IP进行的引流。

  • ECS解绑EIP后引流会被自动删除。

  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的源站服务器端口。

    WAF支持ALB类型七层SLB类型四层SLB类型ECS类型实例的源站服务端口开启透明接入。您可根据需要接入WAF的实例类型,在源站服务端口配置区域选择对应页签。例如,您部署了应用型负载均衡(ALB)实例作为Web服务的入口,需要为ALB实例监听端口上的流量开启WAF防护,单击ALB类型页签。

    您可在相应页签进行如下操作:

    • 添加端口

      • ALB类型七层SLB类型的端口会自动同步到WAF,您需要选中要添加的端口即可。

      • 四层SLB类型ECS类型的端口需要手动添加,您可以单击添加,为源站服务器端口开启引流。

        添加服务器端口后,您可以在实例列表选中该端口。同时,您也可以在服务器列表删除或关闭引流。具体操作,请参见查看源站服务器和管理引流端口

    • 选中实例的监听端口,为端口开启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放置在某个自定义的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实例,将请求回源到目标源站时,您可以启用流量标记,并设置标记字段。当源站接收到请求后,建议对该字段进行校验。如果存在指定的标记字段,则允许访问。

    标记字段分为以下类型:

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

      资源组

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

      说明

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

    • 检查并确认模块,检查已配置的透明接入信息,并单击下一步

    • 添加完成模块,单击完成,返回网站列表

      域名添加完成后,您可以在域名列表中查看已添加域名及源站信息,并可以根据需要编辑、删除域名配置。

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

    步骤二:查看和管理引流端口

    查看源站服务器和管理引流端口

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

    1. 网站接入页面,单击服务器列表页签。

    2. 单击实例前的展开图标,展开查看该实例下已添加到WAF防护的端口。

      防护状态

      说明

      四层SLB类型ECS类型实例的端口不会自动同步到服务器列表,您需要手动添加端口。具体操作,请参见添加端口

      Web流量状态说明:

      • Web流量状态(图示①)表示该端口的流量目前是否经过WAF防护,可选项开启关闭。您可以单击操作列下的关闭引流开启引流,修改端口引流状态。

        说明

        关闭端口引流后,该服务器端口的流量将不会经过WAF防护。

      • Web流量状态(图示②)表示该实例下端口接入WAF防护的整体状态,可选项未防护部分防护运行中

    3. 可选:如果实例为四层SLB类型、ECS类型,您可以单击端口操作列下的删除,并在提示对话框中单击确定,删除某个不再需要流量防护的端口。

    更新引流端口配置的证书

    • ALB实例七层SLB实例:无需在WAF重新上传证书。

      • 如果实例监听端口配置的证书被更新,您只需要在SLB实例中更新证书,WAF会自动同步。同步时长约30分钟。

        重要
        • 如果监听端口证书更换为通过第三方平台(非阿里云)购买的证书,您需要在更新证书后,重新将实例接入WAF。

        • 如果对应的负载均衡实例关联有过期证书,则WAF侧无法同步最新证书,需要将过期证书删除后再同步最新证书。

      • 如果WAF自动同步的证书未生效,您可以在服务器列表页签,单击更新图标,手动更新实例监听端口配置的证书。

    • ECS实例四层SLB实例:需要在WAF重新上传证书。

      您可以在服务器列表页签,定位到需要更新证书的实例,单击目标端口操作列的编辑,通过手动上传选择已有证书的方式上传证书。上传证书

    后续步骤

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

    相关文档