本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
为保护暴露在公网的网站免受Web攻击,可以为其开启Web应用防火墙(WAF 3.0)防护。该模式无需变更现有网络架构,仅需将网站域名接入WAF,并通过修改DNS解析将流量指向WAF。流量经安全检测与过滤后,合法请求将被转发至源站服务器。此模式适用于部署在任意云服务商或本地数据中心的公网网站。
接入原理
CNAME接入的核心原理是利用DNS解析实现流量调度。通过将域名的DNS解析记录修改为指向WAF提供的CNAME地址,使公网流量经WAF进行转发。
源站服务器:部署网站的服务器。若服务器前存在负载均衡(如ALB、CLB、NLB)或NAT网关等设备,则源站服务器为WAF完成防护后,流量抵达的下一跳设备。
回源:WAF完成安全检测后,将正常流量转发至源站服务器。WAF通过公网IP地址段向源站发起回源请求,您必须在源站服务器的防火墙或安全组中放行该IP地址段,以确保回源流量正常到达。
WAF集群在北京、杭州、深圳、中国香港、新加坡、马来西亚、美西、德国、印尼、迪拜和日本共部署了11个防护节点。当业务接入公共集群进行防护时,将根据源站服务器IP自动匹配最佳区域的防护资源。
适用范围
在开始配置前,需满足以下条件:
域名所有权:拥有目标域名的DNS解析管理权限,用于后续修改解析记录。
域名证书:若需防护 HTTPS 业务,需准备对应域名的 SSL 证书。
域名备案:若服务器位于中国内地,则域名需完成 ICP 备案。更多信息,请参见如何查看域名ICP备案信息?
快速接入
进入接入管理页面,在顶部菜单栏选择资源组和地域(中国内地、非中国内地),然后在CNAME接入页签单击接入。
步骤一:配置监听
填写域名,仅支持填写一个需防护的域名,包括精确域名(如
www.aliyundoc.com
)或通配符域名(如*.aliyundoc.com
)。通配符域名匹配规则:
仅能匹配同级别子域名。例如
*.aliyundoc.com
能够匹配www.aliyundoc.com
、example.aliyundoc.com
等,但不能匹配www.example.aliyundoc.com
。当通配符应用于二级域名(如
*.aliyundoc.com
)时,能够匹配二级域名本身(即aliyundoc.com
)。当通配符应用于三级域名(如
*.example.aliyundoc.com
)时,不能匹配三级域名本身(即example.aliyundoc.com
)。
优先级规则:当精确域名和通配符域名同时接入,且需防护的域名同时匹配这两者时,系统优先应用精确域名的防护规则。
为确认域名所有权,需完成归属权验证。若填写域名后系统提示需验证,请从以下两种验证方式中任选其一进行验证。
DNS解析验证:在域名解析服务商处,手动添加WAF提供的TXT记录。推荐采用此方式。
文件验证:将WAF提供的验证文件上传至域名源站服务器的指定根目录。需具备源站服务器操作权限,并配置安全组策略,允许所有IP访问,以确保WAF可从公网验证该文件。
DNS解析验证
在验证提示区域,单击方法1:DNS解析验证页签。
根据WAF控制台提供的记录类型、主机记录、记录值,在您的域名解析服务商添加TXT记录。
若使用阿里云云解析DNS,请参考以下步骤操作;若使用其他域名解析服务商,请在其系统中进行类似配置。
等待TXT解析生效。域名首次配置TXT解析记录后将实时生效,但修改TXT解析记录通常将在10分钟后生效(生效时间取决于域名DNS解析配置的TTL时长,默认为10分钟)。
返回WAF控制台,单击“点击验证”。
显示验证成功:域名归属权验证完成。
显示验证失败:请按以下步骤排查:
检查TXT记录:确保添加的主机记录和记录值与WAF控制台提供的信息完全一致。如有差异,请删除错误记录并重新添加,然后重新验证。
等待DNS生效:DNS记录配置后可能不会立即生效,生效时间取决于域名服务器中设置的TTL缓存时间。建议等待10分钟后重新验证。
更换验证方式:如多次尝试仍无法通过验证,建议使用"方法2:文件验证"。
文件验证
在验证提示区域,单击方法2: 文件验证页签。
单击下载验证文件链接(图示①),下载验证文件。
重要验证文件仅在下载后的3天内有效,若逾期未完成文件验证,则需要重新下载。
请勿对验证文件执行任何修改操作,例如编辑、重命名等。
WAF将根据选择的协议类型访问源站服务器,请确保源站服务器放行了对应的安全组或防火墙规则:
选择HTTP时,需要放行入方向TCP协议80端口,访问来源为0.0.0.0/0。
选择HTTPS时,需要放行入方向TCP协议443端口,访问来源为0.0.0.0/0。
手动将验证文件上传至域名源站服务器(例如ECS、OSS、CVM、COS、EC2等)网页的根目录(图示②)。
说明若添加的域名为通配符域名,例如
*.aliyun.com
,则需要将验证文档上传到aliyun.com
的根目录。上传完成后,可以参考如下方法,查看验证文档是否上传成功。
Windows
在指定根目录,查看验证文件。
Linux
执行如下命令,查看验证文档。
返回WAF控制台,单击“点击验证”。
由于允许所有IP访问的安全组规则存在安全风险,若源站服务器初始安全组配置中未包含0.0.0.0/0规则,建议在完成所有权验证后,删除用于验证而添加的安全组规则。
选择网站协议类型(HTTP或HTTPS),并填写相应配置信息,可同时配置两种协议。
说明WAF 共享虚拟主机定制版不支持 HTTPS。
HTTP
HTTP端口
填写用户访问网站时使用的端口,建议HTTP协议使用80端口。如需自定义端口,支持在端口范围内进行修改,每输入一个端口,按回车确认。
HTTPS
HTTPS端口
填写用户访问网站时使用的端口,建议HTTPS协议使用443端口。如需自定义端口,支持在端口范围内进行修改,每输入一个端口,按回车确认。
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回源功能。否则将导致回源失败,网站无法正常访问。
如需自定义配置国密HTTPS、HTTP2、HTTPS强制跳转、TLS协议版本、HTTPS加密套件、WAF前存在七层代理(如CDN)、IPv6、独享IP、WAF集群智能负载均衡、资源组,请参见进阶配置。若无需自定义,保持其余配置项默认即可,单击下一步。
步骤二:配置转发
在服务器地址区域,根据服务器类型填写源站服务器IP或域名。WAF通过此配置转发正常业务请求至源站服务器。若不确定源站服务器的地址,请参见常见问题。
重要切勿将此处的域名(如CNAME)与步骤一中接入的域名混淆,此选项适用于源站服务器地址为域名(如CNAME)的情况,例如源站服务器是ALB实例时,填写其DNS名称
alb-xxx.cn-shanghai.alb.aliyuncsslb.com
。确定源站服务器类型后,完成以下配置。
IP
域名(如CNAME)
重要如网站对应的源站服务器地址变更,请及时修改此处的服务器地址。
如需自定义配置负载均衡算法、备链路回源、HTTP回源、回源SNI、请求头字段配置、流量标记、回源超时时间、回源重试、回源长连接,请参见进阶配置。若无需自定义,保持其余配置项默认即可,单击提交。
步骤三:切换流量(接入完成)
在WAF控制台完成以上配置后,必须执行以下操作将流量切换至WAF,否则WAF防护将不会生效。
放行WAF回源IP段:若源站服务器上配置了安全组规则、防火墙规则等访问控制策略,或使用了安全狗、云锁等安全软件,则必须在源站服务器设置放行WAF回源IP段,否则WAF回源流量可能被拦截,导致业务中断。
说明建议配置源站服务器仅放行WAF回源IP段,确保仅有WAF能与源站服务器建立通信,避免攻击者访问源站服务器公网IP,绕过WAF发起攻击。
在接入完成向导页右上角,单击WAF IP 地址。
在回源IP段对话框,单击复制,将所有WAF回源IP复制到剪贴板。
说明复制的回源IP段之间以英文逗号(,)分隔。其中包含类似 2408:400a:3c:xxxx::/56 的地址,此类地址属于 IPv6 地址段。
在服务器防火墙等位置放行以上IP段。例如当源站服务器是阿里云ECS实例时,需要在ECS安全组中放行,更多安全组的操作,请参见添加安全组规则。
在 ECS 实例详情页面,单击
,选择目标安全组并进入其详情页。在安全组详情页的
下,单击增加规则。由于安全组规则无法在单条规则中同时包含IPv4和IPv6地址,需要分两步操作:
添加IPv4规则:在新建安全组规则面板的访问来源区域,粘贴上一步复制的IP段,并手动删除其中的IPv6地址,将访问目的(本实例)设置为在步骤二中配置的回源端口,其余参数保持默认值,单击提交即可。
添加IPv6规则:再次单击增加规则,参照上一步添加IPv6地址段,在访问来源区域选择IPv6。
本地验证WAF配置正确性:建议在修改域名DNS解析设置前,先通过修改本地
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命令。打开浏览器,在地址栏输入被防护域名进行访问。
如果网站能够正常访问,说明WAF域名配置正确。可以进行下一步的DNS解析修改。
如果网站访问异常,可能说明WAF域名配置错误。建议检查上述配置,修复问题后重新进行本地验证。
完成本地验证后,重新修改hosts文件至原始状态。
macOS
通过
Command + 空格键
搜索并打开终端
。输入
sudo vim /etc/hosts
,打开hosts
文件。在文件末尾添加以下记录并保存。
<上一步获取的IP地址> <当前在WAF添加的域名>
执行
ping <当前在WAF添加的域名>
命令,若输出的IP地址与添加的IP地址一致,表示hosts修改已生效;否则请执行sudo killall -HUP mDNSResponder
刷新DNS缓存后重新执行ping命令。打开浏览器,在地址栏输入被防护域名进行访问。
如果网站能够正常访问,说明WAF域名配置正确。可以进行下一步的DNS解析修改。
如果网站访问异常,可能说明WAF域名配置错误。建议检查上述配置,修复问题后重新进行本地验证。
完成本地验证后,重新修改hosts文件至原始状态。
修改域名DNS解析:将域名DNS解析指向WAF提供的CNAME地址,以确保域名的Web请求解析到WAF进行安全防护。
说明建议于业务低峰期执行此操作以降低业务影响。
在接入完成向导页,单击复制CNAME获取WAF提供的CNAME地址。
将域名的DNS解析地址设置为上一步复制的地址。若域名解析托管在阿里云云解析DNS,请按以下步骤操作;若使用其他服务商的DNS服务,请在其系统中进行类似配置。
在公网权威解析页面,定位到要设置的域名,单击其操作列下的解析设置。
在解析设置页面,定位到要设置的主机记录,单击其操作列下的修改。例如接入WAF的域名为
www.aliyundoc.com
,那么此处需定位到主域名aliyundoc.com
下,主机记录为www
的条目进行修改。在编辑记录面板,选择记录类型为CNAME,修改记录值为WAF提供的CNAME地址,其余设置保持不变。
修改DNS解析记录时:
对于同一个主机记录,CNAME解析记录值只能填写一个,需要将其修改为WAF CNAME地址。
同一主机记录下,CNAME记录与A、MX、TXT等其他记录类型存在冲突。需要先删除存在冲突的记录,再添加新的CNAME记录。
警告在DNS变更的空窗期内,可能出现部分用户访问中断的情况。因此删除原解析记录后必须立即新增CNAME记录。
单击确定,完成解析设置修改,等待修改后的DNS解析记录生效。
说明由于DNS解析记录生效需要一定时间,如果修改后网站访问失败,请等待10分钟后刷新页面重新访问。
步骤四:验证WAF防护效果
接入完成后,请按照以下步骤操作,验证域名是否接入成功。
在浏览器输入已添加的网站域名,如果能正常访问,表示域名添加成功。
说明请访问您的网站域名,而非WAF提供的CNAME,CNAME地址仅用于DNS解析指向,不可直接访问。
在浏览器输入已添加的网站域名和Web攻击代码(例如
<被防护域名>/alert(xss)
,alert(xss)
为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。
进阶配置
在进行快速接入的同时,可设置以下进阶配置,以增强安全性、提升性能和简化管理。也可以在接入完成后,前往CNAME接入页签,找到目标域名并单击操作列的编辑进行修改。
增强安全防护等级(HTTPS)
配置项 | 功能描述 |
支持国密SM2算法,满足特定安全合规要求。当前仅支持客户端到WAF的国密加密,不支持国密回源。需提供PEM格式的国密证书和私钥。 | |
利用HTTP/2协议提升网页加载速度,降低延迟,改善用户体验。若网站支持 HTTP/2,可启用该功能。启用后,HTTP/2与HTTPS使用相同端口。 | |
将所有HTTP访问强制重定向至HTTPS,同时默认开启HSTS,确保客户端始终通过安全连接访问。仅在监听协议未选择HTTP时可用。 | |
定义客户端与WAF之间允许的TLS版本。版本越高安全性越强,但对旧客户端兼容性越低。高安全需求场景下,推荐选择TLS1.2及以上版本。 | |
定义客户端与WAF之间允许的加密算法。强加密套件安全性高,但对旧客户端兼容性低,高安全需求场景下,建议选择强加密套件。 | |
当源站不支持HTTPS时,允许WAF通过HTTP协议回源。若源站未配置SSL证书,必须启用此功能,否则网站无法访问。 | |
当源站服务器在同一IP地址上托管多个域名的HTTPS服务时,必须启用此功能以确保正确路由。 |
开启国密HTTPS
在配置监听页,打开开启国密HTTPS开关。
在国密HTTPS证书上传方式区域,选择合适的方式上传证书:
手动上传:选择本地的国密证书(PEM格式),包含四个文件:国密加密证书(例如
server_enc.pem
)、国密加密私钥(例如server_enc.key
)、国密签名证书(例如server_sign.pem
)和国密签名私钥(例如server_sign.key
)。对于其他格式(如PFX、P7B等),请将其转换为PEM格式。选择已有证书:从阿里云数字证书管理服务(原 SSL 证书)中选择已签发或已上传的证书。
申请新证书:如未持有该域名的SSL证书,需先完成证书购买,待证书签发后再接入WAF。
可选:若网站仅允许国密客户端访问,可以打开仅支持国密客户端访问开关。
HTTP2
在配置监听页勾选HTTP2。
开启HTTPS的强制跳转
在配置监听页展开高级配置,单击开启HTTPS的强制跳转。
TLS协议版本
在配置监听页展开高级配置,选择所需的TLS协议版本:
支持TLS1.0及以上版本,兼容性最高,安全性较低:支持所有老旧客户端访问。
支持TLS1.1及以上版本,兼容性较好,安全性较好:将导致使用TLS 1.0协议的老旧客户端无法访问网站。
支持TLS1.2及以上版本,兼容性较好,安全性最高:满足最新的安全合规要求,但将导致使用TLS 1.0和1.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-SHA256 和 ECDHE-RSA-AES256-SHA384 加密套件使用 ECDHE 进行密钥交换,RSA 用于身份认证,采用 AES-CBC 加密模式。相比采用 AES-GCM 等认证加密模式的套件,其安全性和性能较低。部分安全扫描工具可能将其识别为弱加密套件,如出现该情况,请选择自定义加密套件并手动排除上述两个套件。
加密套件命名标准:由于加密套件的命名标准不同,WAF采用OpenSSL格式显示加密套件,而部分扫描工具可能使用IANA标准。例如,OpenSSL中的ECDHE-ECDSA-AES256-SHA384对应IANA的TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384。如需快速查询对应关系,可访问 ciphersuite.info 或使用其他TLS查询工具。
开启HTTP回源
在配置转发页展开HTTPS高级设置,单击开启HTTP回源。默认回源端口为80,可根据需要自定义。
启用回源SNI
在配置转发页展开HTTPS高级设置,选中启用回源SNI后,可进一步设置SNI扩展字段的值。可选项:
与实际请求host保持一致
回源请求的SNI值等于HTTP请求头中的Host字段值。例如接入的域名为
*.aliyundoc.com
,客户端请求Host为www.aliyundoc.com
,则回源SNI为www.aliyundoc.com
。自定义
指定固定的SNI值,该值可与Host字段不同。仅在源站有特殊配置需求时使用,例如需将多个域名请求统一指向特定后端服务。
扩展网络接入能力(IPv6)
开启IPv6
功能描述:
若网站支持IPv6,通过该功能将IPv6流量接入WAF,系统将为该域名分配一个IPv6的WAF IP地址。
IPv4客户端请求将被转发至IPv4源站服务器;IPv6客户端请求优先转发至IPv6源站服务器,若未配置IPv6源站,则转发至IPv4源站服务器。
重要仅中国内地按量付费版、包年包月企业版和旗舰版支持该功能。非中国内地WAF不支持该功能。
启用此功能后,不支持共享集群智能负载均衡。
操作步骤:在配置监听页展开更多配置,单击开启IPv6。
提升服务可用性与性能
配置项 | 功能描述 |
接入同一WAF实例的所有域名默认共享一个WAF IP。启用该功能的域名将被分配一个独立的IP地址,当其他域名遭受DDoS攻击时,该域名不会受影响。更多信息,请参见独享IP。 重要 包年包月基础版实例不支持此功能。 | |
为WAF实例配置至少三个不同地域的防护节点。结合智能DNS解析和Least-time回源算法,确保流量从防护节点到源站服务器的路径最短、时延最低。更多信息,请参见智能负载均衡。 重要 包年包月基础版实例不支持此功能。 | |
当源站服务器包含多个地址时,可通过配置负载均衡策略,使WAF按策略转发回源请求,实现流量分发。 | |
配置备用源站服务器以保障服务的高可用性。当所有主链路回源地址不可达且请求流量不低于100 QPS时,系统将在30秒内自动切换至备链路。主链路恢复后将自动切回。 |
开启独享IP
重要按量付费实例按开启的独享IP数结算费用。更多信息,请参见按量付费计费说明。
独享IP地址不是固定的,为确保业务稳定,请严格按照本文的步骤修改域名DNS解析设置。更多信息,请参见是否能将DNS解析修改为WAF的VIP?
启用此功能后,不支持共享集群智能负载均衡。
在配置监听页展开更多配置,单击开启独享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)时,需设置客户端IP判定方式,确保WAF能够获取真实的客户端IP信息,以便进行安全分析(例如:安全报表的攻击源IP)。 | |
帮助源站服务器区分经过WAF的请求,获取客户端真实源IP或源端口。 | |
WAF默认为经过的HTTP请求插入特定头部。若网站应用需处理这些头部,可按需配置。WAF插入头部时,若请求中已存在该头部,则覆盖其值;若不存在,则新增该头部并赋值。 |
WAF前是否有七层代理(高防/CDN等)
在配置监听页,在WAF前是否有七层代理(高防/CDN等)区域进行配置,可选项:
否,无其他代理
表示WAF收到的业务请求由客户端直接发起。
是,有其他代理
表示WAF收到的业务请求来自其他七层代理服务转发,需要进一步设置客户端IP判定方式。
取X-Forwarded-For中的第一个IP作为客户端源IP
选择此项后,WAF将按照以下顺序获取客户端IP:
从请求头部读取 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)并选择此配置,以防止攻击者通过伪造XFF字段绕过WAF。
在指定Header字段框中填写对应的字段。支持输入多个Header字段。输入后回车确认。WAF将按照以下顺序获取客户端IP:
按序匹配配置的指定Header字段。
若所有指定Header都不存在,尝试读取X-Real-IP字段。
若仍无结果,则采用XFF中的首个IP地址作为客户端IP。
启用流量标记
在配置转发页展开其它高级设置,勾选启用流量标记后配置如下类型的标记字段:
自定义Header:通过配置Header名和Header值,使WAF在回源请求中添加该Header信息,标识经过WAF的请求。例如,可配置
WAF-TAG: Yes
标记,其中WAF-TAG
为Header名,Yes
为Header值。配置后,服务器可基于该字段建立校验或访问控制策略,增强安全防护与请求识别能力。重要请勿填写标准的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
。
提高资源管理效率
资源组
功能描述:用于简化资源管理和权限配置,提升管理效率。未指定资源组时,域名将加入默认资源组。更多信息,请参见资源组。
操作步骤:在配置监听页资源组区域,从资源组下拉列表中选择该域名所属资源组。
日常运维
更新域名绑定的证书
如果证书即将到期或其他原因导致证书发生变更(例如证书被吊销)时,需要更新域名绑定的证书。
在阿里云购买新证书
在数字证书管理服务(原 SSL 证书)控制台续费SSL证书,具体操作,请参见续费SSL证书。
在WAF控制台CNAME接入列表,定位到目标域名,单击操作列的编辑。
在HTTPS证书上传方式区域,选中选择已有证书,并重新选择更换后的证书。单击
。
已在其他平台购买新证书
从原购买平台下载证书文件。
在WAF控制台CNAME接入列表,定位到目标域名,单击操作列的编辑。
在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会在接入列表中通过
图标,提示证书即将过期,建议及时更新,以免影响业务正常运行。
可以设置SSL证书消息提醒,在证书到期前通过邮件、短信等方式接收通知。具体操作,请参见设置SSL证书消息提醒。
为避免因证书过期而导致业务中断,建议开通阿里云数字证书管理服务(原 SSL 证书)的证书托管服务,在证书即将过期时自动申请并更新证书。更多信息,请参见什么是托管服务。
备案过期后重新接入
CNAME方式接入后,WAF会定期检查已接入域名的备案情况,一旦检查到域名备案过期,会自动停止域名的转发。已接入域名备案过期后,需要重新申请备案,备案成功后回到CNAME接入页面,单击再次接入防护按钮。
接入回滚(取消接入)
临时关闭WAF防护:若在接入后出现问题,例如出现大量误拦截,需要临时关闭WAF防护时,可以在WAF控制台的防护对象页面中,关闭WAF防护状态开关。更多信息,请参见一键关闭WAF防护功能。
取消接入:若不再希望使用WAF对域名进行防护,可以按照以下步骤取消接入。
将域名的DNS解析记录修改回源站服务器地址。例如,设置为源站服务器的IP地址。
在WAF控制台,定位到目标域名,单击操作列的删除。
业务影响:在删除域名前,必须先将域名的DNS解析记录修改回源站服务器地址。否则将导致该域名指向的CNAME地址失效,从而使网站无法访问。
计费提示:当 WAF 实例为按量付费时,除请求处理费用外,还收取功能费用(包括实例本身及防护规则等)。如需终止使用 WAF 并停止计费,请参见关闭WAF。
通过API批量管理WAF接入域名
当拥有多个域名需要接入WAF进行管理时,可通过API快速执行查看或接入操作。
将域名接入WAF实例的配置信息,请参见API文档添加CNAME接入资源。
查询CNAME接入详情的配置信息,请参见API文档查询CNAME接入详情。
应用于生产环境
为确保在生产环境中的安全性和稳定性,在接入生产环境域名时,建议遵循以下最佳实践。
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回源IP段。
如何查看已接入域名的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校验超时
单击
图标,重新进行DNS状态检测。
无DNS解析记录,请接入WAF
需要添加CNAME记录,记录值填写WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置。
DNS未解析到WAF,请接入WAF
需要修改CNAME记录,记录值填写WAF提供的CNAME地址。具体操作,请参见修改域名DNS解析设置。
如何查看域名ICP备案信息?
打开网络拨测工具,选择网络诊断分析,输入域名,确认备案检查为网站已备案。若显示“网站未备案,请咨询网站服务器提供商”,请完成备案后再接入WAF。
如何查看源站服务器的公网IP或域名地址?
在网络诊断分析页面,输入接入的网站域名,在DNS服务商解析结果区域进行查看,返回A或AAAA等IP记录时,需在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)相关
WAF的VIP是什么,如何查看?
域名接入WAF后,系统将分配一个独立的虚拟IP(VIP)用于接收业务请求。该VIP不与其他租户共享。阿里云WAF实例提供高可用的防护服务,此VIP并非绑定于某一具体物理设备,而是属于阿里云WAF集群资源。在同一WAF实例下:
WAF的VIP无法在控制台上直接查看,需要在客户端使用
ping
或nslookup
命令对已接入WAF的域名进行查询。ping example.com #需替换为已接入WAF的域名
重要此VIP是WAF的入口IP,不是WAF的回源IP段,源站服务器必须严格按照放行WAF回源IP段的步骤进行配置。
如何设置默认SSL或TLS策略,使VIP满足合规要求?
为满足合规场景下的HTTPS通信要求,WAF支持为VIP自定义SSL证书及TLS策略。在对WAF的VIP执行合规扫描前,请按照以下步骤上传符合合规要求的HTTPS证书,并启用或禁用指定版本的TLS协议与加密套件。
说明若已开启独享IP,该配置同样会对独享IP生效。
在接入列表上方,单击默认SSL/TLS设置。
在默认SSL/TLS设置对话框,完成如下配置后,单击确定。
配置项
说明
HTTPS证书上传方式
上传SSL证书。具体操作与域名证书上传方式相同,请参见上传证书。
TLS协议版本
可选项:
支持TLS1.0及以上版本,兼容性最高,安全性较低
支持TLS1.1及以上版本,兼容性较好,安全性较好:将导致使用TLS 1.0协议的老旧客户端无法访问网站。
支持TLS1.2及以上版本,兼容性较好,安全性最高:满足最新的安全合规要求,但将导致使用TLS 1.0和1.1协议的老旧客户端无法访问网站。
开启支持TLS1.3:如果网站支持TLS 1.3协议,请勾选此项。
HTTPS加密套件
选择要启用的加密套件。可选项:
全部加密套件,兼容性较高,安全性较低
协议版本的自定义加密套件、请谨慎选择,避免影响业务:如果网站仅支持特定的加密套件,请选择此项。关于支持自定义的加密套件,请参见WAF支持的加密套件。
对域名做端口扫描,为什么显示并未开放的高危端口?有无风险?
使用Nmap等工具扫描CNAME接入WAF的域名时,可能会扫描出源站服务器未开放的端口。这是因为域名解析指向WAF的VIP,实际扫描目标为VIP端口,属正常情况。
WAF仅转发控制台已配置端口的流量。对于未配置端口,WAF在完成TCP三次握手后立即发送RST包终止连接,不转发任何数据。因此,未配置端口无安全风险,且VIP端口不支持手动关闭。更多信息,请参见WAF非标端口开放说明。
是否能将DNS解析修改为WAF的VIP?
不能,通过CNAME方式接入WAF时,必须将DNS解析指向WAF提供的CNAME地址,而非指向WAF的VIP地址。这是因为VIP地址可能会发生变更,例如开启或关闭独享IP或智能负载均衡时,甚至极端情况下的WAF故障时,直接指向VIP可能导致服务中断。使用CNAME可确保后端IP地址自动切换,保障业务连续性。
产品能力相关
使用了CDN,NAT网关等产品,还能接入WAF吗?
可以,WAF前存在CDN、DDoS等七层代理时,接入WAF时需关注WAF前是否有七层代理(高防/CDN等)进行配置,详细信息,请参见为CDN开启内容加速的域名提供WAF安全防护。
接入WAF的源站服务器地址为WAF完成防护后,流量抵达的下一跳设备,支持NAT网关、负载均衡、服务器、OSS等资源。
WAF支持的加密套件有哪些?
CNAME接入方式下,可以通过自定义加密套件,控制WAF仅响应支持指定一种或多种加密套件的客户端请求。支持的加密套件列表,请参见HTTPS加密套件。