全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
Web 应用防火墙

CNAME接入指南

更新时间:2018-07-09 15:38:06

要通过WAF(Web应用防火墙)防护您的网站,您必须在Web应用防火墙控制台完成域名配置,并将域名解析指向WAF为域名分配的CNAME地址,让所有访问网站的流量都经过WAF的过滤。接入WAF前后的的流量逻辑如下所示。

接入WAF

本文介绍了将域名接入WAF的完成流程。

接入前准备

在将您的网站域名通过CNAME方式接入Web应用防火墙进行防护前,您需要完成以下准备工作:

  • 该网站域名必须可以通过公网访问。
  • 使用中国大陆WAF时,该网站域名必须已完成ICP备案。
    说明:您可以通过阿里云为您的网站域名提交备案申请,具体方法请参考备案导航
  • 确认该网站域名是否已接入或需要接入CDN、高防IP等其它代理型系统。
  • 准备被防护域名的DNS管理员权限,用来修改DNS记录,以切换被防护网站的流量。
  • 如果该网站域名需要通过HTTPS协议访问,您还需要准备好相应的证书内容和私钥。
    说明:一般情况下,您所需准备的证书相关内容包括:
    • *.crt(公钥文件)或*.pem(证书文件)
    • *.key(私钥文件)

接入流程

WAF配置流程

说明:以下接入步骤适用于仅使用WAF对网站域名进行防护的场景,即该网站域名不接入CDN、高防IP等其它代理型服务。关于需要将WAF与其它代理型服务结合部署的场景,请查看以下内容:

  • CDN结合Web应用防火墙的配置方法,请参考CDN结合WAF
  • DDoS高防服务结合Web应用防火墙的配置方法,请参考高防IP结合WAF

步骤1:网站配置

登录云盾Web应用防火墙控制台,前往管理>网站配置页面,单击添加网站,根据提示结合业务情况进行配置。

wafconfig

配置说明如下:

  • 域名:填写要接入的域名。
  • 协议类型:根据网站协议选择HTTP和/或HTTPS。关于高级设置,请参考HTTPS高级配置
  • 服务器地址:选择IP,并填写源站公网IP。
    说明:服务器地址是您希望WAF把请求转发到的地址,通常来说就是真实服务器的地址(如ECS的IP),也可以是SLB的IP,如果您是线下业务,填写公网IP即可。如果您希望WAF防护的目标使用域名接入(如OSS的CNAME、AWS的CNAME等),则需要选择其它地址,将对应的域名填进去,而不是接入防护的网站域名。
  • 服务器端口:填写服务器监听的端口。关于自定义端口,请查看非标端口支持
  • WAF前是否有七层代理(高防/CDN等):判断是否使用了代理。
  • 负载均衡算法:选择IP hash轮询算法,一般保持默认。关于源站负载均衡,请参考WAF源站负载均衡

更具体的配置说明,请参考添加网站配置

启用HTTPS

如果该网站域名需要支持通过HTTPS协议访问,您还需要参考以下步骤在WAF控制台中为该网站域名上传相应的证书。

  1. 准备所需证书信息。

    • 如果您的证书是通过阿里云云盾证书服务所购买的,您可以登录云盾证书服务管理控制台,选择您的证书,单击下载,并选择类型下载证书。

      证书

      说明:所下载的证书一般包括*.pem(证书文件)和*.key(私钥文件)两个文件。

    • 如果您的证书是通过其他渠道购买的,您可以联系相应的证书供应商,获得证书文件或寻求技术支持。

  2. 登录云盾Web应用防火墙控制台,前往管理>域名配置页面,选择网站域名,单击上传证书按钮(上传证书按钮)上传证书。选择手动上传,并分别上传证书文件和私钥文件中的指定内容,具体说明请参考添加网站配置中的上传HTTPS证书和私钥部分。

    更新证书

    说明:如果您的证书是通过阿里云云盾证书服务购买的,您可以选择选择已有证书,直接选择您已购买的证书即可。

查看域名接入状态

配置网站后,您可以登录云盾Web应用防火墙控制台,在管理>域名配置页面查看已添加的网站域名的DNS解析状态,确认其是否正确接入WAF。如果DNS解析状态为异常,且收到未检测到CNAME接入无流量的异常提示,则说明您所配置的网站域名未正确接入WAF。

解析状态异常

  • DNS解析状态自动检测该网站域名的解析是否指向CNAME,并检测最近数分钟内该域名的访问流量是否经过Web应用防火墙。
  • DNS解析状态的CNAME接入检测每一小时执行一次,流量检测每数分钟执行一次。如果您确认已将网站域名解析正确接入WAF的CNAME,可在一小时后再次查看DNS解析状态。
    说明:该提示仅用于提醒您将网站域名接入WAF,不会因此而影响您网站的访问。

如果在配置完网站域名解析后,该网站域名的DNS解析状态仍然提示异常,且显示未检测到CNAME接入无流量当前无流量等错误信息,请查看DNS解析状态异常

步骤2:本地测试

将业务流量正式切换到WAF前,建议您先通过本地验证的方式确保WAF转发规则配置正常后,再修改网站域名的DNS解析记录,防止因配置错误而导致您业务的中断。

关于本地测试的具体方法,请查看本地验证

步骤3:准备获取访问者真实IP的方法

将业务流量正式切换到WAF后,对于该网站的访问就不再是简单地从用户的浏览器直达服务器,中间将至少经过WAF进行转发。在这种情况下,您需要通过额外的方法获得真正发起请求的真实客户端IP。

说明:一般情况下,当一个透明的代理服务器将用户的请求转到下一环节的服务器时,会在HTTP的头部增加一条X-Forwarded-For记录,用于记录用户的真实IP,其形式为X-Forwarded-For:用户IP。因此,如果真实客户端与网站服务器中间经历了多个代理服务器,X-Forwarded-For将以该形式来展示所经过的代理服务器IP及真实用户IP:X-Forwarded-For:用户IP, 代理服务器1-IP, 代理服务器2-IP, 代理服务器3-IP, ……

因此,在将您的网站域名正式接入WAF防护后,您可以使用X-Forwarded-For的方式来获取访问者真实IP。关于具体的配置方法,请查看获取访问者真实IP

步骤4:切换DNS解析记录(正式接入Web应用防火墙防护)

修改您的网站域名的DNS解析,将该网站域名接入WAF进行防护。

将鼠标移至已添加的网站域名记录,获取WAF已为该域名所分配的CNAME地址。

说明:单击复制CName可将该CNAME地址复制到剪贴板。

CNAME地址

说明:以下操作步骤以阿里云云解析DNS为例进行描述。如果网站使用的是其它域名提供商,参考以下操作步骤并结合实际域名管理控制台变更您的网站域名的DNS解析记录。

  1. 登录云解析DNS控制台,修改您的网站域名的解析记录。

    • 记录类型:修改为CNAME。
    • 主机记录:填写对应的子域名(例如,www.aliyundemo.cn的主机记录为”www”,aliyundemo.cn的主机记录为”@”)。
    • 记录值:填写Web应用防火墙已分配的CNAME地址。
    • TTL:即域名缓存时间,可按照您的实际需求填写(一般建议设置为600秒)。
  2. 填写完成后,单击保存,完成解析记录的变更。

更具体的操作说明,请参考修改DNS解析

注意事项

  • 同一个主机记录,CNAME解析记录值只能填写一个,您需要将其修改为WAF所分配的CNAME地址。
  • 同一个主机记录,A记录和CNAME记录是互斥的。您需要修改为CNAME类型,并填入WAF所分配的CNAME地址。
  • 如果DNS服务商不允许直接将A记录的解析记录修改为CNAME记录,您需要先删除该A记录后,再增加CNAME类型的解析记录。
    说明:整个删除、新增过程应尽可能在短时间内完成,确保网站访问不中断。如果删除A记录后长时间没有添加CNAME类型解析记录,可能导致域名解析失败。
  • MX记录和CNAME记录是互斥的。如果您的网站域名必须保留MX记录,可以通过使用A记录指向WAF的IP来接入WAF防护。通过对WAF分配的CNAME地址使用Ping命令可以获取所分配的WAF IP,然后将A记录类型的解析记录中的记录值修改为该WAF IP。
    说明:如果您采用A记录方式将网站域名接入WAF防护,WAF将无法进行故障集群调度和故障bypass操作。

步骤5:启用源站保护

将网站域名正式接入WAF防护后,您还需要为源站配置相应的保护措施。

源站保护是防止攻击者在获取源站服务器的真实IP后,绕过WAF直接攻击您的源站,导致您的业务遭受恶意攻击。

说明:源站保护配置不是必须的。即使不配置源站保护,也不会影响正常业务转发。

一般情况下,建议您通过配置源站ECS的安全组或源站SLB的白名单,防止恶意攻击者直接攻击您的源站。关于具体的源站保护方法,请查看源站保护配置

本文导读目录