通过CNAME接入为网站开启WAF防护

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

为保护暴露在公网的网站免受Web攻击,可以为其开启Web应用防火墙(WAF 3.0)防护。该模式无需变更现有网络架构,仅需将网站域名接入WAF,并通过修改DNS解析将流量指向WAF。流量经安全检测与过滤后,合法请求将被转发至源站服务器。此模式适用于部署在任意云服务商或本地数据中心的公网网站。

接入原理

CNAME接入的核心原理是利用DNS解析实现流量调度。通过将域名的DNS解析记录修改为指向WAF提供的CNAME地址,使公网流量经WAF进行转发。

image
  • 源站服务器:部署网站的服务器。若服务器前存在负载均衡(如ALB、CLB、NLB)或NAT网关等设备,则源站服务器为WAF完成防护后,流量抵达的下一跳设备。

  • 回源:WAF完成安全检测后,将正常流量转发至源站服务器。WAF通过公网IP地址段向源站发起回源请求,您必须在源站服务器的防火墙或安全组中放行该IP地址段,以确保回源流量正常到达。

说明

WAF集群在北京、杭州、深圳、中国香港、新加坡、马来西亚、美西、德国、印尼、迪拜和日本共部署了11个防护节点。当业务接入公共集群进行防护时,将根据源站服务器IP自动匹配最佳区域的防护资源。

适用范围

在开始配置前,需满足以下条件:

  • 域名所有权:拥有目标域名的DNS解析管理权限,用于后续修改解析记录。

  • 域名证书:若需防护 HTTPS 业务,需准备对应域名的 SSL 证书。

  • 域名备案:若服务器位于中国内地,则域名需完成 ICP 备案。更多信息,请参见如何查看域名ICP备案信息?

快速接入

进入接入管理页面,在顶部菜单栏选择资源组和地域(中国内地非中国内地),然后在CNAME接入页签单击接入

步骤一:配置监听

  1. 填写域名,仅支持填写一个需防护的域名,包括精确域名(如www.aliyundoc.com)或通配符域名(如*.aliyundoc.com)。

    • 通配符域名匹配规则

      • 仅能匹配同级别子域名。例如*.aliyundoc.com能够匹配www.aliyundoc.comexample.aliyundoc.com等,但不能匹配www.example.aliyundoc.com

      • 当通配符应用于二级域名(如*.aliyundoc.com)时,能够匹配二级域名本身(即aliyundoc.com)。

      • 当通配符应用于三级域名(如*.example.aliyundoc.com)时,不能匹配三级域名本身(即example.aliyundoc.com)。

    • 优先级规则:当精确域名和通配符域名同时接入,且需防护的域名同时匹配这两者时,系统优先应用精确域名的防护规则。

    为确认域名所有权,需完成归属权验证。若填写域名后系统提示需验证,请从以下两种验证方式中任选其一进行验证。

    • DNS解析验证:在域名解析服务商处,手动添加WAF提供的TXT记录。推荐采用此方式。

    • 文件验证:将WAF提供的验证文件上传至域名源站服务器的指定根目录。需具备源站服务器操作权限,并配置安全组策略,允许所有IP访问,以确保WAF可从公网验证该文件。

    DNS解析验证

    1. 在验证提示区域,单击方法1:DNS解析验证页签。

    2. 根据WAF控制台提供的记录类型主机记录记录值,在您的域名解析服务商添加TXT记录。

      若使用阿里云云解析DNS,请参考以下步骤操作;若使用其他域名解析服务商,请在其系统中进行类似配置。

      1. 公网权威解析页面,找到目标主域名,并单击右侧的解析设置

      2. 单击添加记录,填写以下参数后,单击确定。其余未提及参数保持默认即可。

        • 记录类型:选择TXT

        • 主机记录:复制并填写域名的前缀,例如verification

        • 记录值:复制并填写WAF生成的记录值,例如verify_8fca29dec226****

    3. 等待TXT解析生效。域名首次配置TXT解析记录后将实时生效,但修改TXT解析记录通常将在10分钟后生效(生效时间取决于域名DNS解析配置的TTL时长,默认为10分钟)。

    4. 返回WAF控制台,单击“点击验证”。

      • 显示验证成功:域名归属权验证完成。

      • 显示验证失败:请按以下步骤排查:

        1. 检查TXT记录:确保添加的主机记录和记录值与WAF控制台提供的信息完全一致。如有差异,请删除错误记录并重新添加,然后重新验证。

        2. 等待DNS生效:DNS记录配置后可能不会立即生效,生效时间取决于域名服务器中设置的TTL缓存时间。建议等待10分钟后重新验证。

        3. 更换验证方式:如多次尝试仍无法通过验证,建议使用"方法2:文件验证"。

    文件验证

    1. 在验证提示区域,单击方法2: 文件验证页签。

    2. 单击下载验证文件链接(图示①),下载验证文件。image..png

      重要
      • 验证文件仅在下载后的3天内有效,若逾期未完成文件验证,则需要重新下载。

      • 请勿对验证文件执行任何修改操作,例如编辑、重命名等。

      • WAF将根据选择的协议类型访问源站服务器,请确保源站服务器放行了对应的安全组或防火墙规则:

        • 选择HTTP时,需要放行入方向TCP协议80端口,访问来源为0.0.0.0/0。

        • 选择HTTPS时,需要放行入方向TCP协议443端口,访问来源为0.0.0.0/0。

    3. 手动将验证文件上传至域名源站服务器(例如ECS、OSS、CVM、COS、EC2等)网页的根目录(图示②)。

      说明

      若添加的域名为通配符域名,例如*.aliyun.com,则需要将验证文档上传到aliyun.com的根目录。

      上传完成后,可以参考如下方法,查看验证文档是否上传成功。

      Windows

      在指定根目录,查看验证文件。image..png

      Linux

      执行如下命令,查看验证文档。image..png

    4. 返回WAF控制台,单击“点击验证”。

      • 显示验证成功:域名归属权验证完成。

      • 显示验证失败:请根据报错信息进行排查:

        问题描述

        解决方案

        无法访问域名

        1. 检查域名 DNS 解析,确保存在指向源站服务器的解析记录。以阿里云云解析DNS为例,操作请参见添加解析记录

        2. 检查源站服务器安全组或防火墙规则,确保放行公网访问请求。以ECS安全组为例,操作请参见添加安全组规则

        验证文件不存在

        重新在域名源站服务器中上传验证文件。

        文件内容不正确

        1. 前往您域名的源站服务器,删除不正确的验证文件。

        2. 重新上传验证文件。

    5. 由于允许所有IP访问的安全组规则存在安全风险,若源站服务器初始安全组配置中未包含0.0.0.0/0规则,建议在完成所有权验证后,删除用于验证而添加的安全组规则。

  2. 选择网站协议类型(HTTPHTTPS),并填写相应配置信息,可同时配置两种协议。

    说明

    WAF 共享虚拟主机定制版不支持 HTTPS。

    HTTP

    1. HTTP端口

      填写用户访问网站时使用的端口,建议HTTP协议使用80端口。如需自定义端口,支持在端口范围内进行修改,每输入一个端口,按回车确认。

    HTTPS

    1. HTTPS端口

      填写用户访问网站时使用的端口,建议HTTPS协议使用443端口。如需自定义端口,支持在端口范围内进行修改,每输入一个端口,按回车确认。

    2. HTTPS证书上传方式

      为使WAF能够监听并防护网站的HTTPS业务流量,需将域名关联的SSL证书上传至WAF。可选项:

      • 手动上传:适用于证书未上传至阿里云数字证书管理服务(原 SSL 证书)的场景。

      • 选择已有证书:从阿里云数字证书管理服务(原 SSL 证书)中选择已签发或已上传的证书。

      • 申请新证书:如未持有该域名的SSL证书,需先完成证书购买,等待证书签发后再接入WAF。

      手动上传

      • 证书名称:为证书设置一个唯一的名称,不能与已上传的证书名称重复。

      • 证书文件:请使用文本编辑器打开并粘贴 PEM、CER、CRT 格式的证书文本内容。

        格式示例:-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----

        • 格式转换:若证书是 PFX、P7B 等格式,请使用证书工具将其转换为 PEM 格式。

        • 证书链:若包含中间证书,请按照 “服务器证书、中间证书” 的顺序拼接后粘贴。

      • 私钥文件:请使用文本编辑器打开并粘贴 PEM 格式的私钥文本内容。

        • RSA:-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----

        • ECC:-----BEGIN EC PRIVATE KEY-----......-----END EC PRIVATE KEY-----

      选择已有证书

      从证书下拉列表中选择要上传到WAF的证书。

      说明

      WAF控制台提示“证书链完整性校验失败,使用该证书可能会影响您的业务访问”,表示证书链存在完整性问题。请检查证书内容的正确性与完整性后,在数字证书管理服务控制台重新上传。具体操作,请参见上传、同步和共享SSL证书

      申请新证书

      还没有购买证书时,需参见购买正式证书进行购买,可单击立即申请阅读申请证书的相关文档。

    重要

    若源站服务器未配置或不支持 HTTPS时(即未部署 SSL/TLS 证书),必须开启HTTP回源功能。否则将导致回源失败,网站无法正常访问。

  3. 如需自定义配置国密HTTPSHTTP2HTTPS强制跳转TLS协议版本HTTPS加密套件WAF前存在七层代理(如CDN)IPv6独享IPWAF集群智能负载均衡资源组,请参见进阶配置。若无需自定义,保持其余配置项默认即可,单击下一步

步骤二:配置转发

  1. 服务器地址区域,根据服务器类型填写源站服务器IP或域名。WAF通过此配置转发正常业务请求至源站服务器。若不确定源站服务器的地址,请参见常见问题

    重要

    切勿将此处的域名(如CNAME)步骤一中接入的域名混淆,此选项适用于源站服务器地址为域名(如CNAME)的情况,例如源站服务器是ALB实例时,填写其DNS名称alb-xxx.cn-shanghai.alb.aliyuncsslb.com

  2. 确定源站服务器类型后,完成以下配置。

    IP
    • 回源端口:即网站使用的端口。用户通过步骤一中配置的HTTP/HTTPS端口访问网站,WAF通过此处的回源端口访问源站服务器。若不确定网站使用的端口,请参见常见问题

      image
      • 默认与上一步协议类型中配置的HTTP/HTTPS端口保持一致,支持在端口范围内自定义回源端口,适用于需指定WAF以特定端口回源的场景。

    • 回源IP:填写源站服务器IP地址。

      • 必须为可访问的公网IP地址。

      • 支持填写多个IP地址。每填写一个IP地址,按回车进行确认。最多支持添加20个源站服务器IP。如果填写了多个IP地址,WAF会根据您在负载均衡算法中的配置转发回源请求。

      • 支持配置 IPv4 和 IPv6 地址,可单独或同时配置。如需配置IPv6地址,必须确保在配置监听时,开启IPv6防护

    域名(如CNAME)
    • 回源端口:即网站使用的端口。用户通过步骤一中配置的HTTP/HTTPS端口访问网站,WAF通过此处的回源端口访问源站服务器。若不确定网站使用的端口,请参见常见问题

      image
      • 默认与上一步协议类型中配置的端口保持一致,支持在端口范围内自定义回源端口,适用于需指定WAF以特定端口回源的场景。

    • 回源域名:填写源站服务器域名地址。

      • WAF仅支持将客户端请求转发至该域名解析出的IPv4地址。对于IPv6网站,请选择IP方式接入。

    重要

    如网站对应的源站服务器地址变更,请及时修改此处的服务器地址。

  3. 如需自定义配置负载均衡算法备链路回源HTTP回源回源SNI请求头字段配置流量标记回源超时时间回源重试回源长连接,请参见进阶配置。若无需自定义,保持其余配置项默认即可,单击提交

步骤三:切换流量(接入完成)

WAF控制台完成以上配置后,必须执行以下操作将流量切换至WAF,否则WAF防护将不会生效。

  1. 放行WAF回源IP:若源站服务器上配置了安全组规则、防火墙规则等访问控制策略,或使用了安全狗、云锁等安全软件,则必须在源站服务器设置放行WAF回源IP段,否则WAF回源流量可能被拦截,导致业务中断。

    说明

    建议配置源站服务器放行WAF回源IP段,确保仅有WAF能与源站服务器建立通信,避免攻击者访问源站服务器公网IP,绕过WAF发起攻击。

    1. 接入完成向导页右上角,单击WAF IP 地址

    2. 回源IP对话框,单击复制,将所有WAF回源IP复制到剪贴板。

      说明

      复制的回源IP段之间以英文逗号(,)分隔。其中包含类似 2408:400a:3c:xxxx::/56 的地址,此类地址属于 IPv6 地址段。

    3. 在服务器防火墙等位置放行以上IP段。例如当源站服务器是阿里云ECS实例时,需要在ECS安全组中放行,更多安全组的操作,请参见添加安全组规则

      1. 在 ECS 实例详情页面,单击安全组 > 安全组列表,选择目标安全组并进入其详情页。

      2. 在安全组详情页的安全组详情 > 入方向下,单击增加规则

      3. 由于安全组规则无法在单条规则中同时包含IPv4IPv6地址,需要分两步操作:

        1. 添加IPv4规则:新建安全组规则面板的访问来源区域,粘贴上一步复制的IP段,并手动删除其中的IPv6地址,将访问目的(本实例)设置为在步骤二中配置的回源端口,其余参数保持默认值,单击提交即可。

        2. 添加IPv6规则:再次单击增加规则,参照上一步添加IPv6地址段,在访问来源区域选择IPv6

  2. 本地验证WAF配置正确性:建议在修改域名DNS解析设置前,先通过修改本地hosts文件映射域名进行验证。可防止因配置错误导致业务中断。

    1. 接入完成向导页,单击复制CNAME获取WAF提供的CNAME地址。

    2. 打开网络诊断分析,选择网络诊断分析,输入复制的CNAME地址,如xxx.c.yundunwaf2.com,单击立即检测

    3. 复制DNS服务商解析结果IP地址。修改本地计算机hosts文件。

      Windows

      1. 使用记事本打开C:\Windows\System32\drivers\etc\hosts文件,在末尾添加以下记录并保存。

        <上一步获取的IP地址> <当前在WAF添加的域名>
      2. 打开cmd,执行ping <当前在WAF添加的域名>命令,若输出的IP地址与添加的IP地址一致,表示hosts修改已生效;否则请执行ipconfig /flushdns刷新DNS缓存后重新执行ping命令。

      3. 打开浏览器,在地址栏输入被防护域名进行访问。

        • 如果网站能够正常访问,说明WAF域名配置正确。可以进行下一步的DNS解析修改。

        • 如果网站访问异常,可能说明WAF域名配置错误。建议检查上述配置,修复问题后重新进行本地验证。

      4. 完成本地验证后,重新修改hosts文件至原始状态。

      macOS

      1. 通过Command + 空格键搜索并打开终端

      2. 输入sudo vim /etc/hosts,打开hosts文件。

      3. 在文件末尾添加以下记录并保存。

        <上一步获取的IP地址> <当前在WAF添加的域名>
      4. 执行ping <当前在WAF添加的域名>命令,若输出的IP地址与添加的IP地址一致,表示hosts修改已生效;否则请执行sudo killall -HUP mDNSResponder刷新DNS缓存后重新执行ping命令。

      5. 打开浏览器,在地址栏输入被防护域名进行访问。

        • 如果网站能够正常访问,说明WAF域名配置正确。可以进行下一步的DNS解析修改。

        • 如果网站访问异常,可能说明WAF域名配置错误。建议检查上述配置,修复问题后重新进行本地验证。

      6. 完成本地验证后,重新修改hosts文件至原始状态。

  3. 修改域名DNS解析:将域名DNS解析指向WAF提供的CNAME地址,以确保域名的Web请求解析到WAF进行安全防护。

    说明

    建议于业务低峰期执行此操作以降低业务影响。

    1. 接入完成向导页,单击复制CNAME获取WAF提供的CNAME地址。

    2. 将域名的DNS解析地址设置为上一步复制的地址。若域名解析托管在阿里云云解析DNS,请按以下步骤操作;若使用其他服务商的DNS服务,请在其系统中进行类似配置。

      1. 公网权威解析页面,定位到要设置的域名,单击其操作列下的解析设置

      2. 解析设置页面,定位到要设置的主机记录,单击其操作列下的修改。例如接入WAF的域名为www.aliyundoc.com,那么此处需定位到主域名aliyundoc.com下,主机记录为www的条目进行修改。

      3. 编辑记录面板,选择记录类型CNAME,修改记录值WAF提供的CNAME地址,其余设置保持不变。

        修改DNS解析记录时:

        • 对于同一个主机记录,CNAME解析记录值只能填写一个,需要将其修改为WAF CNAME地址。

        • 同一主机记录下,CNAME记录与A、MX、TXT等其他记录类型存在冲突。需要先删除存在冲突的记录,再添加新的CNAME记录。

          警告

          DNS变更的空窗期内,可能出现部分用户访问中断的情况。因此删除原解析记录后必须立即新增CNAME记录。

      4. 单击确定,完成解析设置修改,等待修改后的DNS解析记录生效。

        说明

        由于DNS解析记录生效需要一定时间,如果修改后网站访问失败,请等待10分钟后刷新页面重新访问。

步骤四:验证WAF防护效果

接入完成后,请按照以下步骤操作,验证域名是否接入成功。

  1. 在浏览器输入已添加的网站域名,如果能正常访问,表示域名添加成功。

    说明

    请访问您的网站域名,而非WAF提供的CNAME,CNAME地址仅用于DNS解析指向,不可直接访问。

  2. 在浏览器输入已添加的网站域名和Web攻击代码(例如<被防护域名>/alert(xss)alert(xss)为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。

重要

完成CNAME接入后,还需要关注以下信息:

  • 自定义防护规则:WAF为接入域名默认启用一系列防护规则,可以在防护配置 > 防护对象页面查看。当默认规则无法满足业务需求时(例如需将特定IP地址加入白名单以放行其所有请求),可新建或修改防护规则。更多信息,请参见防护配置概述

  • 源站获取客户端IP:默认情况下,源站服务器接收的请求均显示源自WAFIP地址。若需在源站服务器获取客户端的真实IP地址,请参见获取客户端真实IP

进阶配置

在进行快速接入的同时,可设置以下进阶配置,以增强安全性、提升性能和简化管理。也可以在接入完成后,前往CNAME接入页签,找到目标域名并单击操作列的编辑进行修改。

增强安全防护等级(HTTPS)

配置项

功能描述

开启国密HTTPS

支持国密SM2算法,满足特定安全合规要求。当前仅支持客户端到WAF的国密加密,不支持国密回源。需提供PEM格式的国密证书和私钥。

HTTP2

利用HTTP/2协议提升网页加载速度,降低延迟,改善用户体验。若网站支持 HTTP/2,可启用该功能。启用后,HTTP/2HTTPS使用相同端口。

开启HTTPS的强制跳转

将所有HTTP访问强制重定向至HTTPS,同时默认开启HSTS,确保客户端始终通过安全连接访问。仅在监听协议未选择HTTP时可用。

TLS协议版本

定义客户端与WAF之间允许的TLS版本。版本越高安全性越强,但对旧客户端兼容性越低。高安全需求场景下,推荐选择TLS1.2及以上版本。

HTTPS加密套件

定义客户端与WAF之间允许的加密算法。强加密套件安全性高,但对旧客户端兼容性低,高安全需求场景下,建议选择强加密套件。

开启HTTP回源

当源站不支持HTTPS时,允许WAF通过HTTP协议回源。若源站未配置SSL证书,必须启用此功能,否则网站无法访问。

启用回源SNI

当源站服务器在同一IP地址上托管多个域名的HTTPS服务时,必须启用此功能以确保正确路由。

  • 开启国密HTTPS

    1. 配置监听页,打开开启国密HTTPS开关。

    2. 国密HTTPS证书上传方式区域,选择合适的方式上传证书:

      • 手动上传:选择本地的国密证书(PEM格式),包含四个文件:国密加密证书(例如server_enc.pem)、国密加密私钥(例如server_enc.key)、国密签名证书(例如server_sign.pem)和国密签名私钥(例如server_sign.key)。对于其他格式(如PFX、P7B等),请将其转换PEM格式。

      • 选择已有证书:从阿里云数字证书管理服务(原 SSL 证书)中选择已签发或已上传的证书。

      • 申请新证书:如未持有该域名的SSL证书,需先完成证书购买,待证书签发后再接入WAF。

    3. 可选:若网站仅允许国密客户端访问,可以打开仅支持国密客户端访问开关。

  • HTTP2

    配置监听页勾选HTTP2

  • 开启HTTPS的强制跳转

    配置监听页展开高级配置,单击开启HTTPS的强制跳转

  • TLS协议版本

    配置监听页展开高级配置,选择所需的TLS协议版本

    • 支持TLS1.0及以上版本,兼容性最高,安全性较低:支持所有老旧客户端访问。

    • 支持TLS1.1及以上版本,兼容性较好,安全性较好:将导致使用TLS 1.0协议的老旧客户端无法访问网站。

    • 支持TLS1.2及以上版本,兼容性较好,安全性最高:满足最新的安全合规要求,但将导致使用TLS 1.01.1协议的老旧客户端无法访问网站。

    • 开启支持TLS1.3:如果网站支持TLS 1.3协议,请勾选此项。WAF默认不监听TLS 1.3协议的客户端请求。

  • HTTPS加密套件

    配置监听页展开高级配置,选择所需的HTTPS加密套件

    • 全部加密套件,兼容性较高,安全性较低

    • 协议版本的自定义加密套件、请谨慎选择,避免影响业务:如果网站仅支持特定的加密套件,请选择此项,并从支持的加密套件列表中进行选择。

      强加密套件

      弱加密套件

      • ECDHE-ECDSA-AES128-GCM-SHA256

      • ECDHE-ECDSA-AES256-GCM-SHA384

      • ECDHE-ECDSA-AES128-SHA256

      • ECDHE-ECDSA-AES256-SHA384

      • ECDHE-RSA-AES128-GCM-SHA256

      • ECDHE-RSA-AES256-GCM-SHA384

      • ECDHE-RSA-AES128-SHA256

      • ECDHE-RSA-AES256-SHA384

      • ECDHE-ECDSA-AES128-SHA

      • ECDHE-ECDSA-AES256-SHA

      • AES128-GCM-SHA256

      • AES256-GCM-SHA384

      • AES128-SHA256

      • AES256-SHA256

      • ECDHE-RSA-AES128-SHA

      • ECDHE-RSA-AES256-SHA

      • AES128-SHA

      • AES256-SHA

      • DES-CBC3-SHA

      说明
      • 加密套件安全建议ECDHE-RSA-AES128-SHA256ECDHE-RSA-AES256-SHA384 加密套件使用 ECDHE 进行密钥交换,RSA 用于身份认证,采用 AES-CBC 加密模式。相比采用 AES-GCM 等认证加密模式的套件,其安全性和性能较低。部分安全扫描工具可能将其识别为弱加密套件,如出现该情况,请选择自定义加密套件并手动排除上述两个套件。

      • 加密套件命名标准:由于加密套件的命名标准不同,WAF采用OpenSSL格式显示加密套件,而部分扫描工具可能使用IANA标准。例如,OpenSSL中的ECDHE-ECDSA-AES256-SHA384对应IANATLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384。如需快速查询对应关系,可访问 ciphersuite.info 或使用其他TLS查询工具。

  • 开启HTTP回源

    配置转发页展开HTTPS高级设置,单击开启HTTP回源。默认回源端口为80,可根据需要自定义。

  • 启用回源SNI

    配置转发页展开HTTPS高级设置,选中启用回源SNI后,可进一步设置SNI扩展字段的值。可选项:

    与实际请求host保持一致

    回源请求的SNI值等于HTTP请求头中的Host字段值。例如接入的域名为 *.aliyundoc.com,客户端请求Hostwww.aliyundoc.com,则回源SNIwww.aliyundoc.com

    自定义

    指定固定的SNI值,该值可与Host字段不同。仅在源站有特殊配置需求时使用,例如需将多个域名请求统一指向特定后端服务。

扩展网络接入能力(IPv6)

开启IPv6

  • 功能描述

    • 若网站支持IPv6,通过该功能将IPv6流量接入WAF,系统将为该域名分配一个IPv6WAF IP地址。

    • IPv4客户端请求将被转发至IPv4源站服务器;IPv6客户端请求优先转发至IPv6源站服务器,若未配置IPv6源站,则转发至IPv4源站服务器。

    重要
    • 中国内地按量付费版、包年包月企业版和旗舰版支持该功能。非中国内地WAF不支持该功能。

    • 启用此功能后,不支持共享集群智能负载均衡

  • 操作步骤:在配置监听页展开更多配置,单击开启IPv6

提升服务可用性与性能

配置项

功能描述

开启独享IP

接入同一WAF实例的所有域名默认共享一个WAF IP。启用该功能的域名将被分配一个独立的IP地址,当其他域名遭受DDoS攻击时,该域名不会受影响。更多信息,请参见独享IP

重要

包年包月基础版实例不支持此功能。

共享集群智能负载均衡

WAF实例配置至少三个不同地域的防护节点。结合智能DNS解析和Least-time回源算法,确保流量从防护节点到源站服务器的路径最短、时延最低。更多信息,请参见智能负载均衡

重要

包年包月基础版实例不支持此功能。

负载均衡算法

当源站服务器包含多个地址时,可通过配置负载均衡策略,使WAF按策略转发回源请求,实现流量分发。

开启备链路回源

配置备用源站服务器以保障服务的高可用性。当所有主链路回源地址不可达且请求流量不低于100 QPS时,系统将在30秒内自动切换至备链路。主链路恢复后将自动切回。

  • 开启独享IP

    重要
    • 按量付费实例按开启的独享IP数结算费用。更多信息,请参见按量付费计费说明

    • 独享IP地址不是固定的,为确保业务稳定,请严格按照本文的步骤修改域名DNS解析设置。更多信息,请参见是否能将DNS解析修改为WAFVIP?

    • 启用此功能后,不支持共享集群智能负载均衡

    配置监听页展开更多配置,单击开启独享IP。对于包年包月实例,若此选项不可用,请根据页面提示升级,购买独享IP增值服务后再进行配置。

  • 共享集群智能负载均衡

    重要
    • 按量付费实例按是否启用共享集群智能负载均衡结算费用。更多信息,请参见按量付费计费说明

    • 启用共享集群智能负载均衡后,不支持IPv6、独享IP。

    配置监听页展开更多配置,在防护资源区域选择共享集群智能负载均衡启用此功能。对于包年包月实例,若此选项不可用,请根据页面提示升级,启用智能负载均衡增值服务后再进行配置。

  • 负载均衡算法

    配置转发页选择负载均衡算法,可选项:

    轮询

    按顺序依次将客户端请求转发至源站服务器地址列表中的各服务器。适用于多源站服务器且对源站服务器负载均匀要求较高的场景。

    IP hash

    将来自同一个客户端的请求经过负载均衡转发到同一个源站服务器,适用于需要保持用户会话一致性的场景,可能存在负载不均衡。

    Least time

    通过智能DNS解析能力和Least-time回源算法,确保流量从接入防护节点到转发回源站服务器的路径最短、时延最低。

    重要

    如需使用Least time算法,必须确认配置监听时,将防护资源设置为共享集群智能负载均衡。更多信息,请参见共享集群智能负载均衡

  • 开启备链路回源

    配置转发页,单击开启备链路回源进行配置,可填写IP或域名格式的地址。支持最多20个地址,每输入一个地址后按回车确认,若填写了多个地址,WAF将根据您在负载均衡算法中的配置转发回源请求。

    • IP:必须为可访问的公网IP地址。

      • 支持配置 IPv4 和 IPv6 地址,可单独或同时配置。

      • 如需配置IPv6地址,必须确保在配置监听时,开启了IPv6防护。更多信息,请参见开启IPv6

    • 域名:WAF仅支持将客户端请求转发至该域名解析出的IPv4地址。对于IPv6网站,请选择IP方式接入。

    重要

    如网站对应的源站服务器地址变更,请及时修改此处的服务器地址。

获取真实客户端信息

配置项

功能描述

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

WAF前存在七层代理(如CDN)时,需设置客户端IP判定方式,确保WAF能够获取真实的客户端IP信息,以便进行安全分析(例如:安全报表攻击源IP)。

启用流量标记

帮助源站服务器区分经过WAF的请求,获取客户端真实源IP或源端口。

请求头字段转发配置

WAF默认为经过的HTTP请求插入特定头部。若网站应用需处理这些头部,可按需配置。WAF插入头部时,若请求中已存在该头部,则覆盖其值;若不存在,则新增该头部并赋值。

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

    配置监听页,在WAF前是否有七层代理(高防/CDN等)区域进行配置,可选项:

    否,无其他代理

    表示WAF收到的业务请求由客户端直接发起。

    是,有其他代理

    表示WAF收到的业务请求来自其他七层代理服务转发,需要进一步设置客户端IP判定方式

    • X-Forwarded-For中的第一个IP作为客户端源IP

      选择此项后,WAF将按照以下顺序获取客户端IP:

      1. 从请求头部读取 X-Real-IP 作为客户端 IP。

      2. 若 X-Real-IP 不存在,则使用 X-Forwarded-For(XFF)中的首个 IP 地址作为客户端 IP。

    • 【推荐】取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造

      说明

      建议通过其他代理服务配置,将客户端源 IP 地址写入指定的 Header 字段(例如X-Real-IP、X-Client-IP)并选择此配置,以防止攻击者通过伪造XFF字段绕过WAF。

      指定Header字段框中填写对应的字段。支持输入多个Header字段。输入后回车确认。WAF将按照以下顺序获取客户端IP:

      1. 按序匹配配置的指定Header字段

      2. 若所有指定Header都不存在,尝试读取X-Real-IP字段。

      3. 若仍无结果,则采用XFF中的首个IP地址作为客户端IP。

  • 启用流量标记

    配置转发页展开其它高级设置,勾选启用流量标记后配置如下类型的标记字段:

    • 自定义Header:通过配置HeaderHeader,使WAF在回源请求中添加该Header信息,标识经过WAF的请求。例如,可配置WAF-TAG: Yes标记,其中WAF-TAGHeader名,YesHeader值。配置后,服务器可基于该字段建立校验或访问控制策略,增强安全防护与请求识别能力。

      重要

      请勿填写标准的HTTP Header字段(例如User-Agent等),否则将导致标准Header字段内容被自定义的字段值覆盖。

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

    • 客户端真实源端口:通过配置真实客户端源端口所在的Header字段名,WAF可记录该Header字段并将其传递至源站服务器。

  • 请求头字段转发配置

    配置转发页展开其它高级设置,在请求头字段转发配置区域,勾选希望插入的头部字段。

    • 插入 X-Client-IP 获取真实IP:用于传递客户端真实原始的IP地址。

    • 插入 X-True-IP 获取建连IP:用于传递客户端建立连接的IP地址。

    • 插入 Web-Server-Type 获取服务类型:通常由第一个代理添加,用于告知后端服务器处理当前请求的前端Web服务器或代理类型。

    • 插入 WL-Proxy-Client-IP 获取建连IP:功能与X-Client-IP相同,为 Oracle WebLogic Server 特有的请求头。

    • 插入 X-Forwarded-Proto 获取监听协议:客户端与第一个代理之间建立连接所使用的协议。

优化回源链路质量

配置项

功能描述

设置回源超时时间

当源站服务器处理时间较长导致可能的超时问题时,可配置WAF新建与读写连接的超时时间。

回源重试

当回源失败时,WAF将默认为每个源站服务器尝试回源三次。关闭该功能后,如果回源失败,WAF将不再进行重试。

回源长连接

配置WAF 与源站服务器之间保持长时间连接的能力。若接入后出现偶发502错误,请检查源站相关参数。建议将WAF的长连接参数值设置为小于或等于源站对应的参数值。

  • 设置回源超时时间

    配置转发页展开其它高级设置,设置以下项目:

    • 设置新建连接超时时间:WAF与源站服务器建立连接的超时时间。一般情况下无需调整,仅当源站网络延迟高或负载极高导致建连慢时,才应适当调高此参数。默认值为5s,可配置范围为1s~3600s。

    • 设置读连接超时时间:等待源站服务器响应的超时时间。对于响应耗时较长的接口(如报表导出、批量数据处理),需调高此参数。默认值为120s,可配置范围为1s~3600s。

    • 设置写连接超时时间:WAF向源站服务器发送请求的超时时间。一般情况下无需调整,仅当源站负载极高导致处理请求慢时,才应适当调高此参数。默认值为120s,可配置范围为1s~3600s。

  • 回源重试

    配置转发页展开其它高级设置,在回源重试区域进行配置。

  • 回源长连接

    重要

    关闭该功能后,回源长连接将不支持WebSocket协议。

    配置转发页展开其它高级设置,在回源长连接区域启用该功能并进行如下设置:

    • 复用长连接的请求个数:默认值为1,000个,可配置范围为60个~1,000个。例如,当源站使用Nginx时,此参数对应Nginx参数keepalive_requests,更多信息,请参见Nginx文档

    • 空闲长连接超时时间:默认值为15s,可配置范围为10s~3600s。例如,当源站使用Nginx时,此参数对应Nginx参数keepalive_timeout

提高资源管理效率

资源组

  • 功能描述:用于简化资源管理和权限配置,提升管理效率。未指定资源组时,域名将加入默认资源组。更多信息,请参见资源组

  • 操作步骤:在配置监听资源组区域,从资源组下拉列表中选择该域名所属资源组。

日常运维

更新域名绑定的证书

如果证书即将到期或其他原因导致证书发生变更(例如证书被吊销)时,需要更新域名绑定的证书。

在阿里云购买新证书

  1. 数字证书管理服务(原 SSL 证书)控制台续费SSL证书,具体操作,请参见续费SSL证书

  2. WAF控制台CNAME接入列表,定位到目标域名,单击操作列的编辑

  3. HTTPS证书上传方式区域,选中选择已有证书,并重新选择更换后的证书。单击下一步 > 提交

已在其他平台购买新证书

  1. 从原购买平台下载证书文件。

  2. WAF控制台CNAME接入列表,定位到目标域名,单击操作列的编辑

  3. HTTPS证书上传方式区域,选中手动上传,填写如下信息。

    • 证书名称:为证书设置一个唯一的名称,不能与已上传的证书名称重复。

    • 证书文件:请使用文本编辑器打开并粘贴 PEM、CER、CRT 格式的证书文本内容。

      格式示例:-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----

      • 证书链:若包含中间证书,请按照 “服务器证书、中间证书” 的顺序拼接后粘贴。

      • 格式转换:若证书是 PFX、P7B 等格式,请使用证书工具将其转换为 PEM 格式。

    • 私钥文件:请使用文本编辑器打开并粘贴 PEM 格式的私钥文本内容。

      格式示例:

      • RSA:-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----

      • ECC:-----BEGIN EC PRIVATE KEY-----......-----END EC PRIVATE KEY-----

说明
  • 证书剩余有效期不足30个自然日时,WAF会在接入列表中通过image.png图标,提示证书即将过期,建议及时更新,以免影响业务正常运行。

  • 可以设置SSL证书消息提醒,在证书到期前通过邮件、短信等方式接收通知。具体操作,请参见设置SSL证书消息提醒

  • 为避免因证书过期而导致业务中断,建议开通阿里云数字证书管理服务(原 SSL 证书)的证书托管服务,在证书即将过期时自动申请并更新证书。更多信息,请参见什么是托管服务

备案过期后重新接入

CNAME方式接入后,WAF会定期检查已接入域名的备案情况,一旦检查到域名备案过期,会自动停止域名的转发。已接入域名备案过期后,需要重新申请备案,备案成功后回到CNAME接入页面,单击再次接入防护按钮。

接入回滚(取消接入

  • 临时关闭WAF防护:若在接入后出现问题,例如出现大量误拦截,需要临时关闭WAF防护时,可以在WAF控制台的防护对象页面中,关闭WAF防护状态开关。更多信息,请参见一键关闭WAF防护功能

  • 取消接入:若不再希望使用WAF对域名进行防护,可以按照以下步骤取消接入。

    1. 将域名的DNS解析记录修改回源站服务器地址。例如,设置为源站服务器的IP地址。

    2. WAF控制台,定位到目标域名,单击操作列的删除

警告
  • 业务影响:在删除域名前,必须先将域名的DNS解析记录修改回源站服务器地址。否则将导致该域名指向的CNAME地址失效,从而使网站无法访问。

  • 计费提示:当 WAF 实例为按量付费时,除请求处理费用外,还收取功能费用(包括实例本身及防护规则等)。如需终止使用 WAF 并停止计费,请参见关闭WAF

通过API批量管理WAF接入域名

当拥有多个域名需要接入WAF进行管理时,可通过API快速执行查看或接入操作。

应用于生产环境

为确保在生产环境中的安全性和稳定性,在接入生产环境域名时,建议遵循以下最佳实践。

  • HTTPS配置:建议在源站服务器与WAF中同时部署证书,并关注以下配置,以便高效管理证书。

    • 将证书文件上传至数字证书管理服务(原 SSL 证书)

    • WAF侧接入时选择协议类型HTTPS。建议TLS协议版本在区域,配置TLS1.2及以上版本,在HTTPS加密套件区域,配置自定义强加密套件。

    • 设置SSL证书消息提醒,在证书即将过期时及时更新。

  • 灰度策略:优先在业务低峰期接入非生产环境的域名,运行一段时间以确认业务正常后,再接入生产环境的域名。

  • 检查业务:接入完成后,可以通过如下方式确认业务是否正常。

    • 查看日志:查看日志中状态码200的占比是否有明显波动、QPS是否有明显突增突降等。若已启用WAF日志服务,可以参考WAF日志进行检查。

    • 业务监控:检查业务侧功能是否正常,例如用户访问、交易等功能。

  • 源站加固:建议在源站服务器仅放行WAF回源IP段,该措施可确保仅有WAF能与源站服务器建立通信,避免攻击者访问源站服务器公网IP,绕过WAF发起攻击。

  • 后续运维:生产环境接入完成后,需进行持续的运维工作,监控攻击与误拦截事件。

    • 事件处置:建议关注安全报表,并配置云监控通知,及时了解攻击事件与安全事件。

    • 调整规则:持续关注攻击日志,分析是否存在业务请求被误拦截的情况,针对性优化防护规则。

常见问题

查看接入信息相关

  • 如何查看WAF回源IP段与WAF提供的CNAME?

    可以在接入列表页的下图位置找到WAF的回源IP段以及WAF为每个接入域名提供的CNAME地址。关于如何放行WAF回源IP段,请参见放行WAF回源IPimage

  • 如何查看已接入域名的DNS状态?

    可在接入列表中查看域名的DNS状态,及时识别存在DNS异常风险的域名,并依据控制台提示调整DNS解析配置。

    DNS状态

    处理操作

    DNS解析正常

    域名DNS正常解析到WAF,无需操作。

    DNS解析异常,使用A记录接入

    需要删除接入域名的A记录,重新添加CNAME记录,并将记录值指向WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置

    DNS解析异常,使用错误的WAF IP

    需要删除接入域名的A记录,重新添加CNAME记录,并将记录值指向WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置

    DNS解析异常,使用错误的CNAME地址

    需要将CNAME记录中的记录值修改为WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置

    DNS解析未知,域名启用了代理

    WAF前启用了七层代理,需要检查代理配置的源站地址是否为WAF提供的CNAME地址,若确认正确则可以忽略此告警。

    DNS校验超时

    单击update图标,重新进行DNS状态检测。

    DNS解析记录,请接入WAF

    需要添加CNAME记录,记录值填写WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置

    DNS未解析到WAF,请接入WAF

    需要修改CNAME记录,记录值填写WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置

  • 如何查看域名ICP备案信息?

    打开网络拨测工具,选择网络诊断分析,输入域名,确认备案检查网站已备案。若显示“网站未备案,请咨询网站服务器提供商”,请完成备案后再接入WAF。

  • 如何查看源站服务器的公网IP或域名地址?

    配置转发 > 服务器地址位置,若不确定源站服务器地址,可以在网络诊断分析页面,输入接入的网站域名,在DNS服务商解析结果区域进行查看,返回AAAAAIP记录时,需在WAF填写对应的IP,返回CNAME等域名记录时,填写对应的域名(如CNAME)

  • 如何确定网站使用的端口?

    配置转发 > 服务器地址位置,需配置回源端口,即为网站使用的端口,可依据以下信息进行确认。

    • 标准端口 (默认):Web 服务默认使用标准端口,访问时无需在域名后指定。

      • HTTP: 例如 http://yourdomain.com表示使用 80 端口。

      • HTTPS:例如 https://yourdomain.com表示使用 443 端口。

    • 非标准端口:若网站使用非标准端口,访问时端口号会直接显示在域名之后,格式为 域名:端口号

      • HTTP:例如http://yourdomain.com:8080表示使用 8080 端口。

      • HTTPS:例如https://yourdomain.com:8443表示使用 8443 端口。

      说明

      为确保准确,建议检查 Web 服务器(如 Nginx、Apache 等)的配置文件(如 nginx.conf),以获取最准确的端口信息。

WAF入口IP(VIP)相关

  • WAFVIP是什么,如何查看?

    域名接入WAF后,系统将分配一个独立的虚拟IP(VIP)用于接收业务请求。该VIP不与其他租户共享。阿里云WAF实例提供高可用的防护服务,此VIP并非绑定于某一具体物理设备,而是属于阿里云WAF集群资源。在同一WAF实例下:

    • 未开启域名独享IP智能负载均衡时,所有域名共用一个VIP。

    • 开启域名独享IP后,每个域名分配独立的VIP。

    • 配置智能负载均衡后,所有域名共用多个VIP。

    WAFVIP无法在控制台上直接查看,需要在客户端使用pingnslookup命令对已接入WAF的域名进行查询。

    ping example.com  #需替换为已接入WAF的域名
    重要

    VIPWAF的入口IP,不是WAF的回源IP段,源站服务器必须严格按照放行WAF回源IP的步骤进行配置。

  • 如何设置默认SSLTLS策略,使VIP满足合规要求?

    为满足合规场景下的HTTPS通信要求,WAF支持为VIP自定义SSL证书及TLS策略。在对WAFVIP执行合规扫描前,请按照以下步骤上传符合合规要求的HTTPS证书,并启用或禁用指定版本的TLS协议与加密套件。

    说明

    若已开启独享IP,该配置同样会对独享IP生效。

    1. 在接入列表上方,单击默认SSL/TLS设置image.png

    2. 默认SSL/TLS设置对话框,完成如下配置后,单击确定

      配置项

      说明

      HTTPS证书上传方式

      上传SSL证书。具体操作与域名证书上传方式相同,请参见上传证书

      TLS协议版本

      可选项:

      • 支持TLS1.0及以上版本,兼容性最高,安全性较低

      • 支持TLS1.1及以上版本,兼容性较好,安全性较好:将导致使用TLS 1.0协议的老旧客户端无法访问网站。

      • 支持TLS1.2及以上版本,兼容性较好,安全性最高:满足最新的安全合规要求,但将导致使用TLS 1.01.1协议的老旧客户端无法访问网站。

      • 开启支持TLS1.3:如果网站支持TLS 1.3协议,请勾选此项。

      HTTPS加密套件

      选择要启用的加密套件。可选项:

      • 全部加密套件,兼容性较高,安全性较低

      • 协议版本的自定义加密套件、请谨慎选择,避免影响业务:如果网站仅支持特定的加密套件,请选择此项。关于支持自定义的加密套件,请参见WAF支持的加密套件

  • 对域名做端口扫描,为什么显示并未开放的高危端口?有无风险?

    使用Nmap等工具扫描CNAME接入WAF的域名时,可能会扫描出源站服务器未开放的端口。这是因为域名解析指向WAFVIP,实际扫描目标为VIP端口,属正常情况。

    WAF仅转发控制台已配置端口的流量。对于未配置端口,WAF在完成TCP三次握手后立即发送RST包终止连接,转发任何数据。因此,未配置端口安全风险,且VIP端口不支持手动关闭。更多信息,请参见WAF非标端口开放说明

  • 是否能将DNS解析修改为WAFVIP?

    不能,通过CNAME方式接入WAF时,必须将DNS解析指向WAF提供的CNAME地址,而非指向WAFVIP地址。这是因为VIP地址可能会发生变更,例如开启或关闭独享IP或智能负载均衡时,甚至极端情况下的WAF故障时,直接指向VIP可能导致服务中断。使用CNAME可确保后端IP地址自动切换,保障业务连续性。

产品能力相关

  • 使用了CDN,NAT网关等产品,还能接入WAF吗?

    可以,WAF前存在CDN、DDoS等七层代理时,接入WAF时需关注WAF前是否有七层代理(高防/CDN等)进行配置,详细信息,请参见CDN开启内容加速的域名提供WAF安全防护

    接入WAF的源站服务器地址为WAF完成防护后,流量抵达的下一跳设备,支持NAT网关、负载均衡、服务器、OSS等资源。

    image
  • WAF支持的加密套件有哪些?

    CNAME接入方式下,可以通过自定义加密套件,控制WAF仅响应支持指定一种或多种加密套件的客户端请求。支持的加密套件列表,请参见HTTPS加密套件