此方式的接入对象是域名,支持防护跨云、跨账号资源。不同接入方式对比,请参见接入概述。
前提条件
已开通包年包月版WAF 3.0或按量付费版WAF 3.0服务。
拥有域名的 DNS 解析管理权限,用于后续修改DNS解析。
若服务器位于中国内地,域名需完成 ICP 备案。
如何查看ICP备案信息
打开网络拨测工具,选择网络诊断分析,输入当前域名,确认备案检查为网站已备案。若显示“网站未备案,请咨询网站服务器提供商”,请完成备案后再安装证书。
若需防护 HTTPS 业务,需准备对应域名的 SSL 证书。如需购买证书,请参见购买正式证书。
接入原理
通过修改域名的 DNS 解析,配置CNAME记录指向WAF提供的CNAME地址,使公网流量经由WAF转发。WAF 识别并拦截攻击流量,将正常流量回源至源站服务器。

关键概念:
说明 WAF的集群在北京、杭州、深圳、中国香港、新加坡、马来西亚、美西、德国、印尼、迪拜和日本共部署了11个防护节点。当业务接入公共集群进行防护时,将根据源站服务器IP自动匹配最佳区域的防护资源。
基础配置
在确认满足前提条件后,您可以开始进行基础配置。同时,也可以参考高级配置,进行关于HTTPS高级、IPv6支持、回源策略、长连接、高可用与负载均衡、流量识别(WAF前有CDN等代理时获取真实IP)的配置。
登录Web应用防火墙3.0控制台,在顶部菜单栏选择资源组和地域(中国内地、非中国内地),然后在左侧导航栏单击接入管理,在CNAME接入页签单击接入。
步骤一:配置监听
填写域名,仅支持填写一个需防护的域名,包括精确域名(例如www.aliyundoc.com
)或通配符域名(例如*.aliyundoc.com
)。
若填写后页面提示需验证域名归属权,请参照以下步骤进行验证。
验证域名归属权
为确认您对域名的所有权,需完成归属权验证。支持以下两种验证方式,任选其一即可:
DNS解析验证
在验证提示区域,单击方法1:DNS解析验证页签。
根据WAF控制台提供的记录类型、主机记录、记录值,在您的域名解析服务商添加TXT记录。
若您使用阿里云云解析DNS,请参考以下步骤操作;若使用其他域名解析服务商,请在其系统中进行类似配置。
登录云解析DNS控制台。
在公网权威解析页面,找到目标主域名,并单击右侧的解析设置。
单击添加记录,填写记录类型、主机记录、记录值后,单击确定。其余未提及参数保持默认即可。
配置项 | 说明 | 填写样例 |
记录类型 | 选择TXT。 | TXT |
主机记录 | 主机记录指域名的前缀。 | verification |
记录值 | 输入WAF生成的记录值。 | verify_8fca29dec22746a7841daf2b3af6**** |
添加完成后,您可以在记录列表中查看已添加的记录。该记录默认生效(状态为启用)。
等待TXT解析生效。域名首次配置TXT解析记录后将实时生效,但修改TXT解析记录通常会在10分钟后生效(生效时间取决于域名DNS解析配置的TTL时长,默认为10分钟)。
返回WAF控制台,单击“点击验证”。
显示验证成功:域名归属权验证完成。
显示验证失败:请按以下步骤排查:
检查TXT记录:确保添加的主机记录和记录值与WAF控制台提供的信息完全一致。如有差异,请删除错误记录并重新添加,然后重新验证。
等待DNS生效:DNS记录配置后可能不会立即生效,生效时间取决于您域名服务器中设置的TTL缓存时间。建议等待10分钟后重新验证。
更换验证方式:如多次尝试仍无法通过验证,建议使用"方法2:文件验证"。
文件验证
在验证提示区域,单击方法2:文件验证页签。
单击下载验证文件链接(图示①),下载验证文件。
重要 验证文件仅在下载后的3天内有效,如果您逾期未完成文件验证,则需要重新下载。
请勿对验证文件执行任何操作,例如打开、编辑、重命名等。
WAF将根据选择的协议类型访问您的源站服务器,请确保源站服务器放行了对应的安全组或防火墙规则:
手动将验证文件上传到控制台提示的域名源站服务器(例如您的ECS、OSS、CVM、COS、EC2等)根目录(图示②)。
说明 如果您添加的域名为通配符域名,例如*.aliyun.com
,那么您需要将验证文档上传到aliyun.com
的根目录。
上传完成后,你可以参考如下方法,查看验证文档是否上传成功。
Windows系统
在指定根目录,查看验证文件。
Linux系统
执行如下命令,查看验证文档。
返回WAF控制台,单击“点击验证”。
显示验证成功:域名归属权验证完成。
显示验证失败:请根据报错信息进行排查:
问题描述 | 解决方案 |
无法访问域名 | 检查域名 DNS 解析,确保存在指向源站服务器的解析记录。以阿里云云解析DNS为例,操作请参见添加解析记录。 检查源站服务器安全组或防火墙规则,确保放行公网访问请求。以ECS安全组为例,操作请参见添加安全组规则。
|
验证文件不存在 | 重新在域名源站服务器中上传验证文件。 |
文件内容不正确 | 前往您域名的源站服务器,删除不正确的验证文件。 重新上传验证文件。
|
选择网站协议类型(HTTP或HTTPS),并填写相应配置信息,可同时配置两种协议。
说明 WAF 共享虚拟主机定制版不支持 HTTPS。
HTTP
HTTP端口
填写用户访问网站时使用的端口,建议HTTP协议使用80端口。如需自定义端口,支持在端口范围内进行修改,每输入一个端口,按回车确认。
HTTPS
HTTPS 端口
填写用户访问网站时使用的端口,建议HTTPS协议使用443端口。如需自定义端口,支持在端口范围内进行修改,每输入一个端口,按回车确认。
HTTPS证书上传方式
为使WAF能够监听并防护网站的HTTPS业务流量,需将域名关联的SSL证书上传至WAF。可选项:
手动上传
证书名称:为证书设置一个唯一的名称,不能与已上传的证书名称重复。
证书文件:请使用文本编辑器打开并粘贴 PEM、CER、CRT 格式的证书文本内容。
格式示例:-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----
私钥内容:请使用文本编辑器打开并粘贴 PEM 格式的私钥文本内容。
格式示例:-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----
选择已有证书
从证书下拉列表中选择要上传到WAF的证书。
说明 选择上传到数字证书管理服务的第三方证书时,WAF控制台提示证书链完整性校验失败,使用该证书可能会影响您的业务访问,此时请在数字证书管理服务控制台重新上传新的证书。具体操作,请参见上传和共享SSL证书。
申请新证书
若您还没有购买证书,需参见购买正式证书进行购买,可点击立即申请阅读申请证书的相关文档。
重要 若源站服务器未配置或不支持 HTTPS时(即未部署 SSL/TLS 证书),必须开启HTTP回源功能。否则会导致回源失败,网站无法正常访问。
如需自定义配置国密HTTPS、HTTP2、HTTPS强制跳转、TLS协议版本、HTTPS加密套件、WAF前有例如CDN的七层代理、IPv6、独享IP、WAF集群智能负载均衡、资源组,请参见高级配置。若无需自定义,保持其余配置项默认即可,单击下一步。
步骤二:配置转发
在服务器地址处,根据服务器类型填写源站服务器IP或域名。WAF通过此配置转发正常业务请求至源站服务器。
如何确定源站服务器的公网IP或域名
可以使用网络诊断分析,选择网络诊断分析,输入当前接入的域名,在DNS服务商解析结果处进行查看,返回A或AAAA等IP记录时,在下一步填写对应的IP,返回CNAME等域名记录时,在下一步填写对应的域名(如CNAME)。
重要 切勿将此处的域名(如CNAME)与步骤一中接入的域名混淆,此选项适用于源站服务器地址为域名(如CNAME)的情况,例如源站服务器是ALB实例时,填写其DNS名称alb-xxx.cn-shanghai.alb.aliyuncsslb.com
。
确定源站服务器类型后,完成以下配置。
IP
回源端口:即网站使用的端口。用户通过步骤一中配置的HTTP/HTTPS端口访问网站,WAF通过此处的回源端口访问源站服务器。

回源IP:填写源站服务器IP地址。
域名(如CNAME)
回源端口:即网站使用的端口。用户通过步骤一中配置的HTTP/HTTPS端口访问网站,WAF通过此处的回源端口访问源站服务器。

回源域名:填写源站服务器域名地址。
重要 如网站对应的源站服务器地址变更,请及时修改此处的服务器地址。
如需自定义配置负载均衡算法、备链路回源、HTTP回源、回源SNI、X-Forwarded-Proto头字段控制、流量标记、回源超时时间、回源重试、回源长连接,请参见高级配置。若无需自定义,保持其余配置项默认即可,单击提交。
步骤三:切换流量(接入完成)
在WAF控制台完成以上配置后,必须执行以下操作将流量切换至WAF,否则WAF的配置不会生效。
如果源站服务器上配置了安全组规则、防火墙规则等访问控制策略,或使用了安全狗、云锁等安全软件,您必须在源站服务器设置放行WAF回源IP段,否则WAF回源流量可能会被拦截,导致业务中断。
说明 您也可以配置仅放行WAF回源IP段,表示只有WAF能够与您的源站服务器通信,避免攻击者直接访问源站服务器的公网IP绕过WAF。
在接入完成向导页右上角,单击WAF IP 地址。
在回源IP段对话框,单击复制,将所有WAF回源IP复制到剪贴板。
说明 复制的回源IP段之间以英文逗号(,)分隔。其中包含类似 2408:400a:3c:xxxx::/56 的地址,此类地址属于 IPv6 地址段。
在服务器防火墙等位置放行以上IP段。例如您的源站服务器是阿里云ECS实例,需要在ECS安全组中放行,更多安全组的操作,请参见添加安全组规则。
如何在ECS安全组中放行WAF回源IP段
在 ECS 实例详情页面,单击,选择目标安全组并进入其详情页。
在安全组详情页的下,单击增加规则。
在新建安全组规则面板,将访问来源设置为上一步复制的IP段,默认选择IPv4时不能添加IPv6地址段,需要删除IPv6地址段,访问目的(本实例)设置为在步骤二中配置的回源端口,其余参数保持默认值,单击确定即可。
再次单击增加规则,参照上一步添加IPv6地址段,在访问来源处选择IPv6。
在本地验证WAF域名配置正确性。建议您在修改域名DNS解析设置前,先通过修改本地hosts
文件映射域名进行验证。可防止因配置错误导致业务中断。
如何修改hosts文件进行本地验证
在接入完成向导页,单击复制CNAME获取WAF提供的CNAME地址。
打开网络诊断分析,选择网络诊断分析,输入复制的CNAME地址,如xxx.c.yundunwaf2.com
,单击立即检测。
复制DNS服务商解析结果的IP地址。修改本地计算机hosts
文件。
Windows
使用文本编辑器(记事本)打开C:\Windows\System32\drivers\etc\hosts
文件,在最后一行添加以下记录并保存。
<上一步获取的IP地址> <当前在WAF添加的域名>
单击系统的开始菜单,搜索并打开cmd
,执行ping <当前在WAF添加的域名>
命令,若其输出的IP地址与<上一步获取的IP地址>
一致,则表示hosts修改已经生效;否则请执行ipconfig /flushdns
刷新DNS缓存,并重新执行ping命令,直到验证hosts修改生效为止。
打开浏览器,在地址栏输入被防护域名进行访问。
完成本地验证后,重新修改hosts文件至原始状态。
macOS
通过Command + 空格键
搜索,然后输入并打开终端
。
输入sudo vim /etc/hosts
,打开hosts
文件。
在文件最后一行添加以下记录并保存。
<上一步获取的IP地址> <当前在WAF添加的域名>
执行ping <当前在WAF添加的域名>
命令,若其输出的IP地址与<上一步获取的IP地址>
一致,则表示hosts修改已经生效;否则请执行sudo killall -HUP mDNSResponder
刷新DNS缓存,并重新执行ping命令,直到验证hosts修改生效为止。
打开浏览器,在地址栏输入被防护域名进行访问。
完成本地验证后,重新修改hosts文件至原始状态。
修改域名DNS解析设置,将其指向WAF提供的CNAME地址,以确保域名的Web请求解析到WAF进行安全防护。
在接入完成向导页,点击复制CNAME获取WAF提供的CNAME地址。
将域名的DNS解析地址设置为上一步复制的地址。若域名解析托管在阿里云云解析DNS,请按以下步骤操作;若您使用其他服务商的DNS服务,请在其系统中进行类似配置。
在云解析DNS修改域名DNS解析设置
登录云解析DNS控制台。
在公网权威解析页面,定位到要设置的域名,单击其操作列下的解析设置。
在解析设置页面,定位到要设置的主机记录,单击其操作列下的修改。例如接入WAF的域名为www.aliyundoc.com
,那么此处需定位到主域名aliyundoc.com
下,主机记录为www
的条目进行修改。
在编辑记录面板,选择记录类型为CNAME,修改记录值为WAF提供的CNAME地址,其余设置保持不变。
修改DNS解析记录时:
单击确定,完成解析设置修改,等待修改后的DNS解析记录生效。
说明 由于DNS解析记录生效需要一定时间,如果修改后网站访问失败,您可以等待10分钟后刷新页面重新访问。
步骤四:验证WAF防护效果
接入完成后,请按照以下步骤操作,验证域名是否接入成功。
在WAF控制台刷新并查看域名DNS状态,正常情况下显示DNS解析正常,若出现其他提示则需要根据域名DNS状态进行处理。

在浏览器输入已添加的网站域名,如果能正常访问,表示域名添加成功。
说明 您需要访问您的网站域名,而不是WAF提供的CNAME,CNAME地址无法被访问。
在浏览器输入已添加的网站域名和Web攻击代码(例如<被防护域名>/alert(xss)
,alert(xss)
为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。
高级配置
您可以在进行基础配置的同时,参考以下操作进行高级配置,适配业务需求。也可以在基础配置完成后,前往CNAME接入页签,找到目标域名并单击操作列的编辑进行修改。
增强安全防护等级(HTTPS)
开启国密HTTPS:可以通过上传国密证书,使您的网站同时支持国密SM2算法。
HTTP2支持:HTTP/2 是在HTTP/1.1之后的一个升级,启用该协议能提高网页加载速度并减少延迟。
开启HTTPS的强制跳转:通过开启该功能,将客户端的HTTP请求强制转换为HTTPS请求。
TLS协议版本控制:自定义允许使用的TLS协议版本。如果客户端使用不符合要求的协议版本,WAF会丢弃其请求流量。
HTTPS加密套件:自定义允许使用的加密套件。如果客户端使用不符合要求的加密套件,WAF会丢弃其请求流量。
开启HTTP回源:HTTP回源功能可在源站服务器不配置HTTPS时实现安全防护,源站服务器未配置HTTPS时,必须开启此功能。
启用回源SNI:表示WAF与源站服务器进行 TLS 握手时,通过 SNI扩展指定目标主机。
开启国密HTTPS
如果您的网站要同时支持国密SM2算法,您需要上传国密证书。
说明 WAF当前仅支持与客户端通过国密算法进行TLS握手,不支持和源站服务器通过国密SM2算法进行TLS握手,即WAF到源站服务器不支持国密HTTPS。
在配置监听页,打开开启国密HTTPS开关。
在国密HTTPS证书上传方式区域,选择证书上传方式,可选项:
手动上传
选中手动上传,并填写证书名称、国密加密证书、国密加密私钥、国密签名证书和国密签名私钥。
重要 国密证书通常是PEM格式,可使用文本编辑器打开文件,复制其完整的文本内容。一般包含如下四个文件:
对于其他格式(例如PFX、P7B等),您必须将证书文件转换成PEM格式。具体操作,请参见证书格式转换。
选择已有证书
选中选择已有证书,从证书下拉列表中选择要上传到WAF的证书。
申请新证书
若您还没有购买证书,需参见购买正式证书进行购买,可点击立即申请阅读申请证书的相关文档。
可选:如果您的网站只允许国密客户端访问,您可以打开仅支持国密客户端访问开关。
HTTP2支持
HTTP/2 是HTTP的一个主要版本,它是在HTTP/1.1之后的一个升级。该协议提高了网页加载速度并减少延迟。HTTP2协议的端口与HTTPS协议端口一致。
目前主流网站均已默认启用 HTTP/2,建议在配置监听页勾选HTTP2。
开启HTTPS的强制跳转
如果您希望将客户端的HTTP请求强制转换为HTTPS请求(默认跳转到443端口),以提高安全性,开启该功能后会默认开启HTTP严格传输安全(HTTP Strict Transport Security,HSTS),配置HSTS响应头,确保始终使用HTTPS请求连接。
在配置监听页展开高级配置,点击开启HTTPS的强制跳转启用。
重要 只有在未选中HTTP协议时,支持开启该功能。
TLS协议版本控制
自定义HTTPS通信中允许使用的TLS协议版本。如果客户端使用不符合要求的协议版本,WAF会丢弃其请求流量。此处设置的协议版本越高,通信安全性越好,但兼容性会有所降低。
建议您根据网站本身的HTTPS配置,选择允许WAF监听的TLS协议版本。如果您不清楚网站的HTTPS配置,建议使用默认选项。
在配置监听页展开高级配置,在TLS协议版本处进行选择,可选项:
支持TLS1.0及以上版本,兼容性最高,安全性较低
支持TLS1.1及以上版本,兼容性较好,安全性较好
使用该选项后,如果客户端使用TLS 1.0版本,将无法访问网站。
支持TLS1.2及以上版本,兼容性较好,安全性最高
使用该选项后,如果客户端使用TLS 1.0和1.1版本,将无法访问网站。
如果您的网站支持TLS 1.3协议,请选中开启支持TLS1.3。WAF默认不监听TLS 1.3协议的客户端请求。
HTTPS加密套件
自定义HTTPS通信中允许使用的加密套件。如果客户端使用不符合要求的加密套件,WAF会丢弃其请求流量。默认已选择WAF支持的全部加密套件。建议您只在网站只支持特定加密套件的前提下,再修改该配置。
在配置监听页展开高级配置,在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
说明 ECDHE-RSA-AES128-SHA256与ECDHE-RSA-AES256-SHA384加密套件由于使用RSA加密算法与AES的CBC加密模式,与使用AES的GCM加密模式或者ECDSA加密算法相比安全性会略有逊色,在一些安全性检测工具中存在被归属为弱加密套件的情况。
弱加密套件
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
协议版本的自定义加密套件、请谨慎选择,避免影响业务:如果您的网站本身只支持特定的加密套件,请选择该选项,并从WAF支持的加密套件中选择网站支持的加密套件。
如果客户端使用其他加密套件,将无法访问网站。
开启HTTP回源
HTTP回源功能可避免因配置 SSL/TLS 证书带来的复杂性,在不修改源站服务器配置的前提下实现安全防护与流量代理,协助降低源站服务器的计算负载。开启此功能后,无论客户端访问WAF的端口是80或443,WAF都会使用HTTP协议80端口向源站服务器转发回源请求。
在配置转发页展开HTTPS高级设置,单击开启HTTP回源启用。
启用回源SNI
回源SNI(Server Name Indicator extension)表示WAF转发客户端请求到源站服务器,在与源站服务器进行TLS握手时,通过SNI扩展字段指定要访问的主机,并与该主机建立HTTPS连接。如果您的源站服务器有多个虚拟主机(对应不同域名),则需要开启该设置。
在配置转发页展开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)。
扩展网络接入能力(IPv6)
开启IPv6支持
WAF默认只处理IPv4业务流量。如果您的网站支持IPv6协议,您可以开启该功能,将IPv6业务流量接入WAF进行防护。WAF会为当前域名分配一个IPv6的WAF IP地址,用于处理IPv6客户端的请求流量。
重要 仅中国内地按量付费版、包年包月企业版和旗舰版支持该功能。非中国内地WAF不支持该功能。
在配置监听页展开更多配置,点击开启IPv6启用。
提升服务可用性与性能
开启独享IP:接入WAF防护的所有域名默认由一个WAF IP来防护。开启独享IP后,会额外分配一个专用的WAF IP。
防护资源(开启智能负载均衡):智能负载均衡为WAF实例配置至少三个不同地域的防护节点。
配置负载均衡算法:如果源站服务器有多个服务器地址,可选择负载均衡算法,使WAF将回源请求转发到对应的服务器。
开启备链路回源:当配置的主链路回源地址都不通时,通过此功能将流量自动切换到备链路的回源地址上。
开启独享IP
接入WAF防护的所有域名默认由一个WAF IP来防护。开启独享IP后,WAF会额外分配一个专用的WAF IP(即独享IP),来监听该域名的业务请求。当其他域名遭受大流量DDoS攻击时,启用独享IP的域名不会受到该影响。更多信息,请参见域名独享IP。
在配置监听页展开更多配置,单击开启独享IP启用。
重要 针对包年包月实例,仅高级版、企业版、旗舰版付费支持独享IP。
按量付费实例按实际开启的独享IP数结算费用。更多信息,请参见按量付费计费说明。
开启独享IP后,此IP仅用于监听当前域名的业务请求,但此IP并不固定,为最大程度保证业务的稳定运行,请严格按照本文的步骤修改域名DNS解析设置。更多信息,请参见是否能将DNS解析修改为WAF的IP?
防护资源(开启智能负载均衡)
在配置监听页展开更多配置,在防护资源处选择要使用的防护资源类型。
重要 针对包年包月实例,仅高级版、企业版、旗舰版付费支持共享集群智能负载均衡。您可以在总览页面单击立即升级,启用智能负载均衡后,开启共享集群智能负载均衡。更多信息,请参见升级与降配。
按量付费实例按是否启用共享集群智能负载均衡结算费用。更多信息,请参见按量付费计费说明。
开启共享集群智能负载均衡后,不支持开启IPv6、独享IP。
负载均衡算法
如果源站服务器有多个服务器地址,可在配置转发页选择不同的负载均衡算法,使WAF将回源请求转发到对应的服务器,实现负载均衡。可选项:
轮询
将客户端的请求依次按序从源站服务器列表中选择源站服务器进行回源,适用于多源站服务器且对源站服务器负载均匀要求较高的场景。
IP hash
将来自同一个客户端的请求经过负载均衡转发到同一个源站服务器,适用于需要保持用户会话一致性的场景,可能存在负载不均衡的情况。
Least time
通过智能DNS解析能力和Least-time回源算法,保证业务流量从接入WAF到转发回源站服务器整个链路的路径及时延最短。
重要 如需使用Least time算法,必须确认配置监听时,将防护资源设置为共享集群智能负载均衡。更多信息,请参见防护资源(开启智能负载均衡)。
开启备链路回源
开启备链路回源功能后,当主链路回源地址都不通,且不低于100QPS流量的情况下,会自动切换到备链路配置的回源地址上。切换生效时间为30秒内。当主链路地址恢复时,可自动切换到主链路回源地址上。
在配置转发页,点击开启备链路回源进行配置,可选项:
重要 如网站对应的源站服务器地址变更,需要手动修改此处的服务器地址。
获取真实客户端信息
WAF前有七层代理的处理:WAF前有例如CDN等七层代理时,需要为WAF设置客户端IP的判定方式。
启用流量标记:启用流量标记可以帮助源站服务器区分经过WAF的请求,获取客户真实源IP或源端口。
X-Forwarded-Proto头字段控制: 当网站无法处理X-Forwarded-Proto 默认插入的头部时可以关闭该功能。
WAF前有七层代理的处理
在配置监听页,找到WAF前是否有七层代理(高防/CDN等)进行配置,可选项:
否,无其他代理
表示WAF收到的业务请求由客户端直接发起,而非通过其他代理服务转发。该场景下,WAF会直接获取与WAF建立连接的IP(来自请求的REMOTE_ADDR
字段)作为客户端IP。
是,有其他代理
表示WAF收到的业务请求来自其他七层代理服务转发,而非客户端直接发起。为保证WAF可以获取真实的客户端IP进行安全分析,您需要进一步设置客户端IP判定方式。
可选项:
取X-Forwarded-For中的第一个IP作为客户端源IP
WAF默认优先读取请求Header字段X-Real-IP作为客户端IP,如果X-Real-IP不存在,则读取字段X-Forwarded-For(XFF)中的第一个IP地址作为客户端IP。
【推荐】取指定Header字段中的第一个IP作为客户端源IP,避免XFF伪造
如果您的网站业务已通过其他代理服务的设置,规定将客户端源IP放置在某个自定义的Header字段(例如,X-Real-IP、X-Client-IP),则您需要选择该选项,并在指定Header字段框中输入对应的Header字段。
说明 推荐您在业务中使用自定义Header存放客户端IP,并在WAF中配置对应Header字段。该方式可以避免攻击者伪造XFF字段,躲避WAF的检测规则,提高业务的安全性。
支持输入多个Header字段。每输入完一个Header字段,按回车进行确认。如果设置了多个Header,WAF将按顺序尝试读取客户端IP。如果第一个Header不存在,则读取第二个,以此类推。如果所有指定Header都不存在,优先尝试读取X-Real-IP字段,若仍无结果则采用X-Forwarded-For(XFF)头部中的首个IP地址作为客户端IP
启用流量标记
启用流量标记可以帮助源站服务器区分经过WAF的请求,获取客户真实源IP或源端口。
例如可以在源站服务器配置访问控制策略,校验该标记字段是否存在。对于包含有效标记的请求,视为合法回源流量予以放行;对于缺失标记的请求,则判定为绕过WAF的直接访问行为,建议拦截处理。
您可以在配置转发页展开其它高级设置,勾选启用流量标记后配置如下类型的标记字段:
自定义Header:通过配置Header名和Header值,使WAF在回源请求中添加该Header信息,标记经过WAF的请求。
例如,您可以使用ALIWAF-TAG: Yes
标记经过WAF的请求,其中,ALIWAF-TAG
为Header名,Yes
为Header值。
客户端真实源IP:通过配置真实客户端源IP所在的头部字段名,WAF可记录该头部字段并将该头部字段传递回源站服务器。关于WAF判定客户端真实源IP的具体规则,请参见WAF前有七层代理的处理参数的描述。
客户端真实源端口:通过配置真实客户端源端口所在的头部字段名,WAF可记录该头部字段并将该头部字段传递回源站服务器。
重要 请不要填写标准的HTTP头部字段(例如User-Agent等),否则会导致标准头部字段内容被自定义的字段值覆盖。
单击新增标记,可以增加标记字段。最多支持设置5个标记字段。
X-Forwarded-Proto头字段控制
WAF 3.0 会默认为经过的 HTTP 请求自动插入 X-Forwarded-Proto
头部,用于标识与 WAF 之间的通信协议使用的是HTTP还是HTTPS协议访问代理服务器。如果您的网站应用程序无法正确处理该头部,可能会导致一些兼容性问题,影响业务正常运行。
您可以在配置转发页展开其它高级设置,取消勾选通过X-Forwarded-Proto头字段获取WAF的监听协议,从而关闭 WAF 自动插入该头部的功能,避免此类问题发生。
优化回源链路质量
设置回源超时时间:当源站服务器处理时间较长导致可能的超时问题时,可配置WAF新建与读写连接的超时时间。
回源重试策略:当WAF回源失败时,配置WAF是否会对每个源站服务器重新尝试回源。
回源长连接:当存在例如高并发、频繁请求的场景时,配置WAF 与源站服务器之间保持长时间连接的能力。
设置回源超时时间
当源站服务器处理时间较长导致可能的超时问题时,可配置WAF新建与读写连接的超时时间。
在配置转发页展开其它高级设置,设置以下项目:
设置新建连接超时时间:WAF与源站服务器建立连接的超时时间,默认值为5s,可配置范围为1s~3600s。
设置读连接超时时间:等待源站服务器响应的超时时间,默认值为120s,可配置范围为1s~3600s。
设置写连接超时时间:WAF向源站服务器发送请求的超时时间,默认值为120s,可配置范围为1s~3600s。
回源重试策略
开启该功能后,如果回源失败,WAF会默认为每个源站服务器尝试回源三次。关闭该功能后,如果回源失败,WAF将不再进行重试。
在配置转发页展开其它高级设置,在回源重试处进行配置。
回源长连接
当存在例如高并发、频繁请求的场景时,配置WAF 与源站服务器之间保持长时间连接的能力。
在配置转发页展开其它高级设置,在回源长连接处开启该功能并进行如下设置:
复用长连接的请求个数:默认值为1,000个,可配置范围为60个~1,000个。
空闲长连接超时时间:默认值为15s,可配置范围为10s~3600s。
说明 关闭该功能后,回源长连接将不支持WebSocket协议。
规划域名资源组
资源组
资源组是在阿里云账号下进行资源分组管理的一种机制,资源组能够帮助您解决单个阿里云账号内的资源分组和授权管理的复杂性问题。
在配置监听页资源组处,从资源组下拉列表中选择该域名所属资源组。如果不选择,则默认加入默认资源组。
说明 您可以使用资源管理服务创建资源组,根据业务部门、项目等维度对云资源进行分组管理。更多信息,请参见创建资源组。
后续步骤
查看并配置防护规则
完成接入后,WAF会自动生成一个名为“域名-waf”的防护对象,并为该防护对象默认启用Web核心防护规则等模块的防护规则,可以在页面查看。如果默认的防护规则不满足您的业务需求,可以新建或编辑防护规则。更多信息,请参见防护配置概述。
更新域名绑定的证书
如果证书即将到期或其他原因导致证书发生变更(例如证书被吊销)时,您需要更新域名绑定的证书。
更新证书操作步骤
在阿里云购买新证书
在数字证书管理服务(原 SSL 证书)控制台续费SSL证书,具体操作,请参见续费SSL证书。
在WAF控制台CNAME接入列表,定位到目标域名,单击操作列的编辑。
在HTTPS证书上传方式区域,选中选择已有证书,并重新选择更换后的证书。单击。
已在其他平台购买新证书
已在其他平台购买了新证书,并下载其证书文件。
在WAF控制台CNAME接入列表,定位到目标域名,单击操作列的编辑。
在HTTPS证书上传方式区域,选中手动上传,填写新证书的证书名称、证书文件(格式示例:-----BEGIN CERTIFICATE-----......-----END CERTIFICATE-----
)、私钥文件(格式示例:-----BEGIN RSA PRIVATE KEY-----......-----END RSA PRIVATE KEY-----
)。单击。
重要 如果证书是PEM、CER、CRT格式,您可以使用文本编辑器直接打开证书文件,并复制其中的文本内容;如果是其他格式(例如PFX、P7B等),您必须将证书文件转换成PEM格式后,才可以使用文本编辑器获取其中的文本内容。您可以登录数字证书管理服务控制台,使用证书格式转换工具进行转换。具体操作,请参见证书格式转换。
如果域名关联了多个SSL证书(例如存在证书链),您必须将证书文件中的文本内容拼接后,再上传到WAF。
新上传的证书名称不能与其他已上传的证书名称重复。
说明 证书的剩余有效期不足30个自然日时,WAF会在接入列表的证书信息处,通过
图标,提示您的证书即将过期,请尽快更新证书。
如果您希望在证书即将到期时,收到邮件、短信等提醒,您可以设置SSL证书消息提醒,具体操作,请参见设置SSL证书消息提醒。
为避免您的业务因证书到期无法正常使用,您可以开通阿里云数字证书管理服务(原 SSL 证书)的证书托管服务,在证书即将到期时帮您自动申请并更新证书。更多信息,请参见什么是托管服务。
查看域名DNS状态
您可以在接入列表查看域名的DNS状态,快速识别DNS解析异常的风险域名,并根据控制台提示的异常原因,修改DNS解析设置。
DNS状态列表与问题处理
DNS状态 | 说明 | 相关操作 |
DNS解析正常 | 表示域名DNS正常解析到WAF。 | 无。 |
DNS解析异常,使用A记录接入 | DNS解析使用A记录接入,可能会导致业务中断。 | 需要删除A记录,重新添加CNAME记录,并将域名的DNS解析指向WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置。 |
DNS解析异常,使用错误的WAF IP | DNS解析使用A记录接入,且指向的WAF IP错误,可能会导致业务中断。 | 需要删除A记录,重新添加CNAME记录,并将域名的DNS解析指向WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置。 |
DNS解析异常,使用错误的CNAME地址 | DNS解析使用CNAME记录接入,但指向的CNAME地址错误,可能会导致业务中断。 | 需要将CNAME记录中的记录值修改为WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置。 |
DNS解析未知,域名启用了代理 | WAF前启用七层代理,但七层代理配置的域名回源地址可能不为WAF CNAME地址。 | 检查代理配置的域名回源地址是否为WAF CNAME地址,如果确认正确则可以忽略此告警。 |
DNS校验超时 | 无。 | 单击 图标,重新进行DNS状态检测。 |
无DNS解析记录,请接入WAF | 没有DNS解析记录,需要添加CNAME记录将DNS解析指向WAF。 | 添加CNAME记录将DNS解析指向WAF。具体操作,请参见修改域名DNS解析设置。 |
DNS未解析到WAF,请接入WAF | DNS未解析到WAF,需要修改CNAME记录将DNS解析指向WAF。 | 修改CNAME记录将DNS解析指向WAF。具体操作,请参见修改域名DNS解析设置。 |
为源站服务器获取客户端真实IP
CNAME接入方式下,在客户端的请求到达源站服务器之前,需经过WAF的代理转发。默认情况下,源站服务器将看到所有请求均来自WAF的IP地址,而非实际发起请求的客户端IP地址。如果您需要在源站服务器上获取客户端的真实IP,可以通过解析回源请求中的X-Forwarded-For记录实现。具体步骤,请参见获取客户端真实IP。
备案过期后重新接入
CNAME方式接入后,WAF会定期检查已接入域名的备案情况,一旦检查到域名备案过期,会自动停止域名的转发。
已接入域名备案过期后,您需要重新申请备案,备案成功后回到CNAME接入页面,单击再次接入防护按钮。
设置默认SSL或TLS策略满足合规要求
为满足合规场景下对HTTPS通信的要求,WAF支持为VIP自定义SSL证书或TLS策略。您可以在对WAF的VIP进行合规扫描检测前,参考以下步骤为VIP上传符合合规要求的HTTPS证书,禁用、启用某些特定版本的TLS协议和加密套件。
说明 如果您购买并启用了独享IP,该配置同样会在独享IP生效。
操作步骤
在接入列表上方,单击默认SSL/TLS设置。
在默认SSL/TLS设置对话框,完成如下配置后,单击确定。
配置项 | 说明 |
HTTPS证书上传方式 | 上传SSL证书。具体操作与域名证书上传方式相同,请参见上传证书。 |
TLS协议版本 | 选择要启用的TLS协议版本。可选项: 支持TLS 1.0及以上版本,兼容性最高,安全性较低 支持TLS 1.1及以上版本,兼容性较好,安全性较好 支持TLS 1.2及以上版本,兼容性较好,安全性最高
如果要启用TLS 1.3协议,选中开启支持TLS1.3。 |
HTTPS加密套件 | 选择要启用的加密套件。可选项: |
修改或删除已接入的域名
警告 在删除域名前,请务必先将域名的解析地址改回接入WAF前的配置,例如,设置为源站服务器的IP地址等。否则,将使WAF无法转发正常业务请求到源站服务器,导致网站无法被访问。
定位到目标域名,单击操作列的编辑或删除。
为域名绑定或解除标签
您可以为接入WAF的域名绑定标签,并通过已绑定标签快速查找指定资源。
单个绑定或解除标签
定位到目标域名,将鼠标悬停在标签列的
图标上,如果该域名未新增标签,单击绑定,如果该域名已有标签,单击编辑。
在编辑标签对话框,选择或输入标签键,并填写标签值。
绑定标签后,您可以通过域名列表上方的标签筛选,查找已绑定标签的域名。
可选:如果您不再使用该标签,可在编辑标签对话框,单击目标标签的
图标,删除该标签。
通过API批量管理WAF接入域名
当您拥有多个域名需要接入WAF进行管理时,可通过API快速执行查看或接入操作。
常见问题
如何查看WAF回源IP段与WAF提供的CNAME?
您可以在接入列表页的下图位置找到WAF的回源IP段以及WAF为每个接入域名提供的CNAME地址。关于如何放行WAF回源IP段,请参见放行WAF回源IP段。
WAF的IP是什么,如何查看?
域名接入WAF后,系统将分配一个独立的虚拟IP(VIP)用于监听业务请求。该VIP不与其他租户共享。阿里云WAF实例提供高可用的安全防护服务,此VIP并非绑定于某一具体物理设备,而是属于阿里云WAF集群资源。在同一WAF实例下:
WAF的VIP无法在控制台上直接查看,需要在客户端使用ping
或nslookup
命令对已接入WAF的域名进行查询。
ping example.com #需替换为已接入WAF的域名
重要 此VIP是WAF的入口IP,并不是WAF的回源IP段,您的源站服务器需要严格按照放行WAF回源IP段的步骤进行放行。
对域名做端口扫描,为什么显示并未开放的高危端口?
使用Nmap等工具扫描CNAME接入WAF的域名时,可能会扫描出源站服务器未开放的端口。这是因为域名解析指向WAF的VIP,实际扫描目标为VIP端口,属正常情况。
WAF仅转发控制台已配置端口的数据。对于未配置端口,TCP三次握手完成后,WAF立即发送RST包终止连接,不会进行数据转发。因此,未配置端口无安全风险,且VIP端口不支持手动关闭。更多信息,请参见WAF非标端口开放说明。
是否能将DNS解析修改为WAF的IP?
不能,通过CNAME方式接入WAF时,您需要将DNS解析指向WAF提供的CNAME地址,而非指向WAF的IP(VIP)地址。这是因为VIP地址可能会发生变更,例如开启或关闭独享IP或智能负载均衡时,甚至极端情况下的WAF故障时。使用CNAME可以确保后端IP自动完成切换,从而保障您业务的连续性。
WAF支持的加密套件有哪些?
CNAME接入方式下,您可以通过自定义加密套件,只允许WAF监听支持以下一种或多种加密套件的客户端请求。
支持的加密套件列表
说明 由于加密套件命名规范的标准差异,WAF系统通常采用OpenSSL的命名格式,而Nmap扫描结果是IANA名称,所以对同一加密套件的标识名称存在差异。例如,OpenSSL中的ECDHE-ECDSA-AES256-SHA384对应IANA的TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384。若需快速映射两类名称或查询详细规则,可通过 ciphersuite.info进行比对,也可自行使用其他TLS查询工具。
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
AES128-GCM-SHA256
AES256-GCM-SHA384
AES128-SHA256
AES256-SHA256
ECDHE-ECDSA-AES128-SHA
ECDHE-ECDSA-AES256-SHA
ECDHE-RSA-AES128-SHA
ECDHE-RSA-AES256-SHA
AES128-SHA
AES256-SHA
DES-CBC3-SHA