如果您的网络开启了内容分发网络(Content Delivery Network,简称CDN),且存在一定的Web攻击风险时,我们推荐您组合使用CDN和Web应用防火墙(Web Application Firewall,简称WAF)。WAF支持与阿里云CDN或非阿里云CDN(例如网宿、加速乐、七牛、又拍等)联合部署。本文介绍如何为业务同时部署WAF和CDN。
网络架构
WAF和CDN同时部署时采用以下网络架构:CDN(入口层,内容加速)> WAF(中间层,实现应用层防护)> 源站服务器(ECS、SLB、VPC、IDC等)。网站业务流量会先经过CDN加速后,转发到WAF过滤Web攻击,最后只有正常的业务流量被转发到源站服务器,保障网站的业务安全和数据安全。
前提条件
已开通CDN服务,并已将域名添加到CDN。更多信息,请参见快速使用CDN。
已开通WAF实例。
步骤一:域名接入WAF
登录Web应用防火墙控制台,在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,选择 。
在域名列表页签,单击网站接入。
添加域名。
CNAME接入模式
说明进入添加域名页面后,接入模式默认为Cname接入。CNAME接入模式下,您无需再修改接入模式。
在填写网站信息配置向导,完成以下参数配置后,单击下一步。
配置项
说明
域名
填写要防护的网站域名。
防护资源
按实际情况选择要使用的防护资源类型。
协议类型
按实际情况选择网站支持的协议类型。
服务器地址
选择IP并填写源站服务器对应的SLB公网IP、ECS公网IP或云外机房服务器的IP。
服务器端口
根据已选择的协议类型,按实际情况设置源站提供对应服务的端口。
负载均衡算法
当设置了多个源站服务器地址时,按实际情况选择多源站服务器间的负载均衡算法。
WAF前是否有七层代理(高防/CDN等)
选择是。
启用流量标记
按实际情况设置是否启用WAF流量标记功能。
资源组
当需要根据业务部门、项目等维度对云资源进行分组管理时,从资源组列表中选择该域名所属资源组。
在域名列表定位到新添加的域名,复制WAF为该域名分配的CNAME地址。
透明接入模式
在添加域名页面,选择接入模式为透明接入。
在添加域名信息配置向导,完成以下参数配置后,单击下一步。
配置项
说明
域名
填写要防护的网站域名。
ALB类型、七层SLB类型、四层SLB类型、ECS类型
在标签页中选择待防护实例所属类型,勾选待防护实例对应的端口。
WAF前是否有七层代理(高防/CDN等)
选择是。
启用流量标记
按实际情况设置是否启用WAF流量标记功能。
资源组
当需要根据业务部门、项目等维度对云资源进行分组管理时,从资源组列表中选择该域名所属资源组。
检查并确认配置后,单击下一步。
单击完成,返回域名列表。在服务器列表页签,通过搜索资源实例ID,查找实例对应的IP和端口号。
步骤二:为已添加到CDN的域名开启WAF防护
阿里云CDN
登录CDN控制台。
在左侧导航栏,单击域名管理。
在域名列表,定位到要开启WAF防护的域名,单击操作列的管理。
在基本配置分页,单击新增源站信息。完成如下配置后,单击确定。
参数
说明
源站信息
优先级
设置支持的主备优先级,主优先级大于备优先级。
权重
当多个源站的优先级相同时,设置源站的权重,实现按权重的负载均衡。
端口
填写CDN节点回到源站的请求端口。
在域名详情页,单击回源配置分页,在配置页签,确认默认回源HOST未开启。
修改DNS解析指向CDN的CNAME。具体操作,请参见配置CNAME。
非阿里云CDN
如果您使用的是非阿里云CDN,您可以将域名接入CDN,并将CDN配置的源站改为WAF的CNAME地址或IP。
完成上述配置后,网站流量经过CDN,其中动态内容将继续通过WAF进行安全检测防护。
如果您需要将其他域名(域名B)的业务通过已添加到WAF的域名(域名A)转发,实现通过登录域名B访问域名A,而域名B不生效WAF防护的效果。您可以在完成上述配置后,登录云解析DNS控制台,修改域名B的DNS解析,设置URL转发到域名A。具体操作,请参见配置URL显性/隐性转发。
完成以上配置后,您可以执行如下操作,检测域名是否添加成功:
在浏览器输入已添加的域名,如果网站能正常访问,表示域名添加成功。
在浏览器输入已添加的域名和Web攻击代码(例如
<被防护域名>/alert(xss)
,alert(xss)
为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。
相关操作
您也可以在CDN控制台开启CDN WAF并完成配置后,在CDN节点上直接使用WAF防护。具体操作,请参见配置CDN WAF。
如果您希望为开启全站加速的域名提供WAF防护,您可以在全站加速控制台开启边缘WAF并完成配置后,在全站加速节点上直接使用WAF防护。具体操作,请参见快速入门边缘WAF(新版)。
说明关于CDN和全站加速的区别,请参见CDN与全站加速的区别。