华为云CDN加速WAF防护资源实践
前提条件
背景信息
CDN是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容,所以接入CDN的网站都能有比较快的响应速度。
Web应用防火墙(WAF:Web Application Firewall),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。
如果您的网站对安全性能要求比较高,同时又有加速的需求,可以使用华为云CDN联动WAF配置,实现加速的同时防护Web攻击。
CDN+WAF的配置原理
CDN+WAF联动的业务流向为:CDN>WAF>源站,流量由CDN转发到WAF,WAF再将流量转到源站,实现网站加速、流量检测和攻击拦截。
配置场景
本文配置以您的WAF在华为云为例,为您介绍开通CDN+WAF联动部署。如果您的WAF在其它云服务,请参考本文完成配置。
场景1:已购买WAF并添加防护域名,配置CDN+WAF联动
如果您已经将域名接入WAF防御,要配置CDN+WAF联动,您需要先将WAF域名基本信息中的“是否已使用代理”修改为“是”,WAF才能够针对真实源IP进行安全策略防御;然后在CDN侧添加加速域名,将WAF的CNAME作为CDN的源站,CDN才能将流量转发给WAF,实现加速和Web攻击防御联动。
使用限制:
- CDN的加速域名仅支持默认端口,以非标端口的方式接入WAF的防护域名将无法接入CDN。
- 如果您在WAF侧为防护域名配置了HTTPS证书,请同步在CDN侧完成证书配置,否则会导致域名无法访问。
操作步骤
-
根据修改WAF防护域名基本信息指导修改防护域名的代理设置。
- 是否已使用代理:是
- 是否已使用代理:是
-
复制WAF的CNAME。
-
在CDN侧添加加速域名(即WAF的防护域名)
-
登录华为云控制台,在控制台首页左上角选择“服务列表>CDN与智能边缘 > CDN”,进入CDN控制台。
-
在左侧导航栏选择“域名管理”,进入域名管理页面。
-
在域名管理界面,单击“添加域名”,在弹出的对话框中配置域名参数。
- 源站类型:源站域名,在下方输入WAF的CNAME域名。
- 源站类型:源站域名,在下方输入WAF的CNAME域名。
-
单击“确定”完成域名的添加,CDN会为加速域名生成专属CNAME。
说明:
- 如果您的WAF是独享模式,需要使用“源站IP”接入CDN,“源站”文本框中请输入为弹性负载均衡绑定弹性公网IP。
- 如果您的WAF是ELB模式,需要使用“源站IP”接入CDN,“源站”文本框中请输入WAF实例绑定ELB的弹性公网IP。
-
-
(可选)添加加速域名后,为保证顺利切换不影响业务,建议先做测试再切换DNS解析,请参考本地测试加速域名。
-
在DNS域名服务商处修改解析记录,配置CDN提供的CNAME,详情请参见配置CNAME。
-
验证CNAME是否生效。
打开Windows操作系统中的cmd程序,输入如下指令:
nslookup -qt=cname 加速域名如果回显CNAME,则表示CNAME配置已经生效,如下图:
说明:如果您暂未使用CDN和WAF,也建议您按照场景1的方式先接入WAF,再配置联动。
场景2:****加速域名已经接入CDN加速,配置CDN+WAF联动
如果您的域名已经接入CDN加速,现在需要配置CDN+WAF联动,您需要先在WAF添加防护域名,“是否已使用代理”选项选择“是”,WAF才能够针对真实源IP进行安全防御;然后将CDN侧加速域名的源站修改WAF的CNAME,CDN才能将流量转发给WAF,实现加速和Web攻击防御联动。
使用限制:
如果您在CDN侧为加速域名配置了HTTPS证书,请同步在WAF侧完成证书配置,否则会导致域名无法访问。
操作步骤
-
将网站信息(源站服务器的IP、端口等信息)添加到WAF。配置要点如下。
- 非标准端口:去勾选。
- 是否已使用代理:是。
-
配置完成后,WAF会为该域名生成一个专属的CNAME。
说明:建议您在配置好WAF后先验证业务是否正常,再修改CDN源站。
-
将CDN加速域名的源站地址修改为WAF的CNAME域名。
- 登录华为云控制台,在控制台首页中选择“CDN与智能边缘 > CDN”,进入CDN控制台。
- 在左侧菜单栏中,选择“域名管理”。
- 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
- 选择“基本配置”页签。
- 在源站配置模块,单击“编辑”,系统弹出“修改源站信息”对话框。
-
类型:源站域名。
-
源站:填写WAF生成的CNAME域名。
-
回源端口:默认端口。
说明: -
如果您的WAF是独享模式,需要使用“源站IP”接入CDN,“源站”文本框中请输入为弹性负载均衡绑定弹性公网IP。
-
如果您的WAF是ELB模式,需要使用“源站IP”接入CDN,“源站”文本框中请输入WAF实例绑定ELB的弹性公网IP。
-
完成以上配置后,流量经过CDN转发到WAF,达到加速和Web攻击防护的目的。