文档首页/ 内容分发网络 CDN/ 最佳实践/ CDN加速WAF防护资源
更新时间:2024-10-18 GMT+08:00

CDN加速WAF防护资源

应用场景

CDN是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容,所以接入CDN的网站都能有比较快的响应速度。

Web应用防火墙(WAF:Web Application Firewall),通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。

如果您的网站对安全性能要求比较高,同时又有加速的需求,可以使用华为云CDN联动WAF配置,实现加速的同时防护Web攻击,全面提升网站防护能力。

  • 本实践建立在用户已经开通CDN服务、准备好域名(www.example.com),且解析在华为云。
  • 待加速的域名已在华为云完成备案

方案概述

CDN+WAF可以对华为云、非华为云或云下的域名进行联动防护,同时提升网站的响应速度和网站防护能力,CDN+WAF联动的业务流向为:CDN>WAF>源站,流量由CDN转发到WAF,WAF再将流量转到源站,实现网站加速、流量检测和攻击拦截。

方案优势

CDN和WAF同时部署,缩短用户查看内容的访问延迟,提高了用户访问网站的响应速度与网站的可用性,解决了网络带宽小、用户访问量大、网点分布不均等问题,同时可以防御Web应用攻击(SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等),确保业务持续可靠运行。

资源与成本规划

实践所需资源请见下表。

资源

资源说明

每月费用

CDN

  • 计费模式:按需计费
  • 支持使用资源包

具体的计费方式及标准请参考计费说明

Web应用防火墙

云模式-标准版

  • 计费模式:包年/包月
  • 域名数量:10个防护域名(最多支持1个一级域名)
  • QPS配额:2,000QPS业务请求
  • 支持带宽峰值:云内100Mbps/云外30Mbps

具体的计费方式及标准请参考计费说明

实施步骤

  1. 购买WAF云模式标准版
    1. 登录华为云管理控制台
    2. 在控制台页面中选择安全与合规 > Web应用防火墙 WAF,进入Web应用防火墙控制台。
    3. 在页面右上角,单击“购买WAF实例”,进入购买页面,“WAF模式”选择“云模式”
      • “区域”:根据防护业务的所在区域就近选择购买的WAF区域。
      • “版本规格”:选择“标准版”
      • “扩展包”“购买时长”:根据具体情况进行选择。
    4. 确认参数配置无误后,在页面右下角单击“立即购买”
    5. 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
    6. 进入“付款”页面,选择付款方式进行付款。
  2. 将网站信息添加到WAF
    1. 在左侧导航树中,选择“网站设置”,进入网站设置列表。
    2. 在网站列表的左上角,单击“添加防护网站”
    3. 选择“云模式-CNAME接入”并单击“开始配置”
    4. 根据界面提示,配置网站信息,如表1所示。
      图1 基础信息配置
      表1 重点参数说明

      参数

      参数说明

      取值样例

      防护域名

      需要添加到WAF中防护的域名。

      • 域名已完成备案
      • 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。

      www.example.com

      防护端口

      需要防护的域名对应的业务端口。

      标准端口

      服务器配置

      网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。

      • 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”“HTTPS”两种协议类型。
      • 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”“HTTPS”两种协议类型。
      • 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。
      • 源站端口:WAF转发客户端请求到服务器的业务端口。
      • 权重:负载均衡算法将按权重将请求分配给源站。

      对外协议:HTTP

      源站协议:HTTP

      源站地址:IPv4 XXX .XXX.1.1

      源站端口:80

      代理情况

      在WAF前使用了其他代理产品。

      此处选择“七层代理”

      七层代理

      • CDN的加速域名仅支持默认端口,以非标端口的方式接入WAF的防护域名将无法接入CDN。
      • 如果您在WAF侧为防护域名配置了HTTPS证书,请同步在CDN侧完成证书配置,否则会导致域名无法访问。
    5. 单击“下一步”,根据界面提示,完成WAF回源IP加白本地验证的操作。
  1. 复制WAF的CNAME:在域名基本信息页面,单击CNAME所在行的,复制“CNAME”
  2. 在CDN侧添加加速域名(WAF的防护域名)
    1. 登录华为云控制台,在控制台首页中选择“CDN与智能边缘 > 内容分发网络 CDN”,进入CDN控制台。
    2. 在左侧导航栏选择域名管理,进入域名管理页面。
    3. 在域名管理界面,单击“添加域名”,配置域名参数。
      • 添加源站时,“源站类型”选择“源站域名”“源站地址”输入WAF的CNAME域名。

    4. 单击“确定”完成域名的添加,CDN会为加速域名生成专属CNAME。
  3. (可选)添加加速域名后,为保证顺利切换不影响业务,建议先做测试再切换DNS解析,请参考本地测试加速域名
  4. 配置CNAME解析
    1. 登录华为云控制台,在控制台首页选择“网络 > 云解析服务DNS”,进入云解析服务页面。
    2. 在左侧菜单栏中,选择“公网域名”,进入公网域名列表页面。
    3. 在待添加记录集的域名所在行,单击“域名”列的域名名称。配置以下信息:
      • “主机记录”:www。
      • “类型”:CNAME-将域名指向另外一个域名。
      • “别名”:选择“否”
      • “线路类型”:全网默认。
      • “TTL(秒)”:一般建议设置为5分钟,TTL值越大,则DNS记录的同步和更新越慢。
      • “值”:步骤4产生的CNAME。
      • 其他的设置保持不变。
    4. 单击“确定”,完成CNAME解析配置。
  5. 验证CNAME是否生效

    打开Windows操作系统中的cmd程序,输入如下指令:

    nslookup -qt=cname 加速域名

    如果回显CNAME,则表示CNAME配置已经生效,如下图:

完成以上配置后,流量经过CDN转发到WAF,达到加速和Web攻击防护的目的。