当您的网站域名开启了阿里云CDN加速,且回源到阿里云对象存储 OSS(Object Storage Service)私有Bucket时,如果该网站存在一定的Web攻击风险,我们推荐您组合使用CDN、OSS和Web 应用防火墙 WAF(Web Application Firewall),将开启CDN加速的域名接入WAF,实现OSS私有Bucket的安全防护。本文介绍如何为业务同时部署CDN、OSS私有Bucket、WAF。
前提条件
您已经将域名添加到CDN用于内容加速,并将请求回源到OSS私有Bucket。更多信息,请参见新手指引。
此时,域名DNS解析指向CDN的CNAME地址,源站为OSS域名。
已开通WAF 3.0服务。具体操作,请参见开通包年包月WAF 3.0、开通按量付费WAF 3.0。
网络架构
步骤一:在OSS Bucket中绑定CDN加速域名
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择Bucket 配置>域名管理。
在域名管理页面,单击绑定域名。
在绑定域名面板,输入CDN加速域名,单击提交。
说明绑定的域名不支持泛域名,例如
*.example.com
。如果提示域名冲突,表示该域名已绑定至其他Bucket。此时,您可以更换域名或通过验证域名所有权强制绑定域名。验证域名所有权会解除域名与其他Bucket的绑定关系。
完成域名绑定后,您可以在浏览器输入域名和Bucket中任意文件名称(例如<被防护域名>/test.png
,test.png
为上传到Bucket中的图片名称),如果网站能正常访问,表示域名添加成功。
单击目标域名操作列的域名绑定配置,可以获取OSS域名。
步骤二:将域名接入WAF,并修改源站为OSS域名
为了实现WAF对OSS私有Bucket的防护,您需要将开启CDN加速且绑定OSS私有Bucket的域名接入WAF,并将源站修改为OSS域名。
登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地、非中国内地)。
在左侧导航栏,单击接入管理。
在CNAME接入页签,单击接入。
在配置监听向导页,完成如下配置后,单击下一步。
配置项
配置说明
域名
填写步骤一中,绑定到OSS Bucket中的域名。
协议类型
选择网站使用的协议类型并填写对应端口,支持HTTP和HTTPS。更多信息请参见协议类型。
WAF前是否有七层代理(高防/CDN等)
选择是。
更多配置
开启IPv6:按实际情况选择要使用的防护资源类型。
开启独享IP:保持默认配置即可。
防护资源:按实际情况选择要使用的防护资源类型。
资源组
如果需要根据业务部门、项目等维度对云资源进行分组管理时,从资源组列表中选择该域名所属资源组。
在配置转发向导页,完成如下配置后,单击提交。
配置项
说明
负载均衡算法
如果源站有多个服务器地址,您可以根据业务需要,选择不同的负载均衡算法,使WAF将回源请求转发到对应的服务器,实现负载均衡。支持IP hash、轮询、Least time。
服务器地址
填写网站对应的源站服务器的公网IP地址或源站域名,用于接收WAF转发回源的正常业务请求(回源请求),此处填写OSS域名。关于OSS域名的获取方式,请参见获取OSS域名。
HTTPS高级设置
开启HTTP回源:如果您希望WAF转发的请求(无论来自80或443端口)都通过80端口访问源站,可启用该功能。
启用回源SNI:如果您的源站绑定了多个域名,且WAF回源协议类型为HTTPS时,可配置回源SNI,并在回源SNI内指明所请求的具体域名,使源站服务器根据该域名正确地返回对应的SSL证书。
其它高级设置
启用流量标记:如果你需要将WAF识别到的客户端IP、客户端端口等信息通过指定Header字段透传到源站,来判断请求是否经过WAF,可启用该功能。
按实际情况设置WAF回源到源站的超时时间,包括 设置新建连接超时时间、设置读连接超时时间、设置写连接超时时间。
回源重试:按需开启。
回源长连接:按需开启。
在接入完成向导页,获取WAF提供的CNAME地址。
步骤三:开启CDN回源配置,修改源站为WAF提供的CNAME地址
登录CDN控制台。
在左侧导航栏,单击域名管理。
定位到目标域名,单击域名或操作列的管理。
在回源配置分页,开启阿里云OSS私有Bucket回源。
完成配置后,您可以再次在浏览器输入已添加的域名和Bucket中任意文件名称(例如<被防护域名>/test.png
,test.png
为上传到Bucket中的图片名称),如果网站能正常访问,表示域名添加成功。
您也可以在浏览器输入已添加的域名和Web攻击代码(例如<被防护域名>/alert(xss)
,alert(xss)
为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。
后续操作
完成上述配置后,WAF会自动将加速域名添加为防护对象,并默认为其开启基础防护规则,通过对访问域名的请求特征进行识别和检测,将正常的访问请求转发给OSS私有Bucket,实现安全防护。
您也可以根据实际业务情况,登录Web应用防火墙3.0控制台,在 页面,为添加的域名配置更有针对性的防护规则。更多信息,请参见防护配置概述。