部署WAF和CDN为开启内容加速的域名提供WAF防御

如果您的网络开启了内容分发网络(Content Delivery Network,简称CDN),且存在一定的Web攻击风险时,我们推荐您组合使用CDNWeb应用防火墙(Web Application Firewall,简称WAF)。WAF支持与阿里云CDN或非阿里云CDN(例如网宿、加速乐、七牛、又拍等)联合部署。本文介绍如何为业务同时部署WAFCDN。

网络架构

WAFCDN同时部署时采用以下网络架构:CDN(入口层,内容加速)> WAF(中间层,实现应用层防护)> 源站服务器(ECS、SLB、VPC、IDC等)。网站业务流量会先经过CDN加速后,转发到WAF过滤Web攻击,最后只有正常的业务流量被转发到源站服务器,保障网站的业务安全和数据安全。

image

前提条件

  • 已开通CDN服务,并已将域名添加到CDN。更多信息,请参见快速使用CDN

  • 已开通WAF实例。

步骤一:域名接入WAF

  1. 登录Web应用防火墙控制台,在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地)。

  2. 在左侧导航栏,选择资产中心 > 网站接入

  3. 域名列表页签,单击网站接入

  4. 添加域名。

    • CNAME接入模式

      说明

      进入添加域名页面后,接入模式默认为Cname接入。CNAME接入模式下,您无需再修改接入模式

      1. 填写网站信息配置向导,完成以下参数配置后,单击下一步

        配置项

        说明

        域名

        填写要防护的网站域名。

        防护资源

        按实际情况选择要使用的防护资源类型。

        协议类型

        按实际情况选择网站支持的协议类型。

        服务器地址

        选择IP并填写源站服务器对应的SLB公网IP、ECS公网IP或云外机房服务器的IP。

        服务器端口

        根据已选择的协议类型,按实际情况设置源站提供对应服务的端口。

        负载均衡算法

        当设置了多个源站服务器地址时,按实际情况选择多源站服务器间的负载均衡算法。

        WAF前是否有七层代理(高防/CDN等)

        选择

        启用流量标记

        按实际情况设置是否启用WAF流量标记功能。

        资源组

        当需要根据业务部门、项目等维度对云资源进行分组管理时,从资源组列表中选择该域名所属资源组。

      2. 在域名列表定位到新添加的域名,复制WAF为该域名分配的CNAME地址。WAF侧CNAME地址

    • 透明接入模式

      1. 添加域名页面,选择接入模式透明接入

      2. 添加域名信息配置向导,完成以下参数配置后,单击下一步

        配置项

        说明

        域名

        填写要防护的网站域名。

        ALB类型七层SLB类型四层SLB类型ECS类型

        在标签页中选择待防护实例所属类型,勾选待防护实例对应的端口。

        WAF前是否有七层代理(高防/CDN等)

        选择

        启用流量标记

        按实际情况设置是否启用WAF流量标记功能。

        资源组

        当需要根据业务部门、项目等维度对云资源进行分组管理时,从资源组列表中选择该域名所属资源组。

      3. 检查并确认配置后,单击下一步

      4. 单击完成,返回域名列表。在服务器列表页签,通过搜索资源实例ID,查找实例对应的IP和端口号。image.png

步骤二:为已添加到CDN的域名开启WAF防护

阿里云CDN

  1. 登录CDN控制台

  2. 在左侧导航栏,单击域名管理

  3. 在域名列表,定位到要开启WAF防护的域名,单击操作列的管理

  4. 基本配置分页,单击新增源站信息。完成如下配置后,单击确定

    参数

    说明

    源站信息

    • 如果域名通过CNAME接入模式接入WAF时,选择源站域名并填写添加域名中获取的WAFCNAME地址。

    • 如果域名通过透明接入模式接入WAF时,选择IP并填写添加域名中获取的源站服务器的公网IP。

    优先级

    设置支持的主备优先级,主优先级大于备优先级。

    权重

    当多个源站的优先级相同时,设置源站的权重,实现按权重的负载均衡。

    端口

    填写CDN节点回到源站的请求端口。

  5. 在域名详情页,单击回源配置分页,在配置页签,确认默认回源HOST未开启。

    默认回源HOST

  6. 修改DNS解析指向CDNCNAME。具体操作,请参见配置CNAME

非阿里云CDN

如果您使用的是非阿里云CDN,您可以将域名接入CDN,并将CDN配置的源站改为WAFCNAME地址或IP。

完成上述配置后,网站流量经过CDN,其中动态内容将继续通过WAF进行安全检测防护。

说明

如果您需要将其他域名(域名B)的业务通过已添加到WAF的域名(域名A)转发,实现通过登录域名B访问域名A,而域名B不生效WAF防护的效果。您可以在完成上述配置后,登录云解析DNS控制台,修改域名BDNS解析,设置URL转发到域名A。具体操作,请参见配置URL显性/隐性转发

完成以上配置后,您可以执行如下操作,检测域名是否添加成功:

  • 在浏览器输入已添加的域名,如果网站能正常访问,表示域名添加成功。

  • 在浏览器输入已添加的域名和Web攻击代码(例如<被防护域名>/alert(xss)alert(xss)为用作测试的跨站脚本攻击代码),如果返回405拦截提示页面,表示攻击被拦截,WAF防护成功。

相关操作

相关文档

  • 添加域名:介绍了开通WAF后,如何通过CNAME接入方式将您要防护的域名接入WAF进行防护。

  • 透明接入:介绍了开通WAF后,如何通过透明接入方式将您要防护的域名接入WAF进行防护。

  • 添加加速域名:介绍开通阿里云CDN后,如何将域名加入CDN。