文档首页> Web应用防火墙 WAF> 最佳实践> 联动防护配置> “CDN+WAF”联动,提升网站防护能力和访问速度
更新时间:2024-05-11 GMT+08:00
分享

“CDN+WAF”联动,提升网站防护能力和访问速度

防护原理

  • 当用户访问使用CDN服务的网站时,本地DNS服务器通过CNAME方式将最终域名请求重定向到CDN服务。CDN通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时能够最快响应用户的CDN节点IP地址提供给用户,使用户可以以最快的速度获得网站内容。

    CDN支持的对象:域名,华为云、非华为云或云下的Web业务

  • Web应用防火墙通过对HTTP(S)请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。
    WAF支持云模式-CNAME接入、云模式-ELB接入和独享模式三种部署模式,各部署模式支持防护的对象说明如下:
    • 云模式-CNAME接入:域名,华为云、非华为云或云下的Web业务
    • 云模式-ELB接入:域名或IP,华为云的Web业务
    • 独享模式:域名或IP,华为云的Web业务

CDN+WAF可以对华为云、非华为云或云下的域名进行联动防护,同时提升网站的响应速度和网站防护能力,配置原理图如图1所示。

图1 使用代理配置原理图

CDN+WAF配置后,流量被CDN加速后转发到WAF,WAF再将流量转到源站,在提升用户访问网站的响应速度与网站的可用性的同时,实现网站流量检测和攻击拦截。

相关配置说明如下:

  • 云模式-CNAME接入

    先将域名解析到CDN,再修改CDN源站信息,将源站域名修改为WAF的“CNAME”,同时,为了防止其他用户提前将您的域名配置到Web应用防火墙上,从而对您的域名防护造成干扰,建议您到DNS服务商处添加一条WAF的子域名和TXT记录。

  • 云模式-ELB接入

    先将域名解析到CDN,再修改CDN源站信息,将源站IP修改为ELB模式实例所绑定ELB的弹性公网IP。

  • 独享模式

    先将域名解析到CDN,再修改CDN源站信息,将源站IP修改为WAF独享引擎实例配置弹性负载均衡绑定的弹性公网IP。

约束条件

如果您选择的是云模式-CNAME接入方式,且WAF前使用了高防、CDN(Content Delivery Network,内容分发网络)、云加速等代理,配置CC防护规则时,建议“限速模式”选择“用户限速”,并勾选“全局计数”

前提条件

域名或IP已接入CDN,且已完成如表1所示配置操作。

表1 WAF各模式配置说明

部署模式

配置说明

云模式-CNAME接入

  1. 购买WAF云模式
  2. 已将域名信息(源站服务器的IP、端口等信息)添加到WAF云模式
    说明:

    当源站存在IPv6地址,默认开启IPv6防护。WAF为了防止客户IPv6的业务中断,禁止关闭IPv6的开关,如果确定不需要IPv6防护,需要先修改服务器配置,在源站删除IPv6的配置,具体的操作方法请参见修改服务器配置信息

  3. 在域名的DNS服务商处有添加域名的权限。
  4. (可选)放行WAF回源段IP。源站服务器上已启用非华为云安全软件(如安全狗、云锁)时,您需要在这些软件上设置放行WAF回源段IP,防止由WAF转发到源站的正常业务流量被拦截。具体请参考通过配置ECS/ELB访问控制策略保护源站安全
须知:

为了保证WAF的安全策略能够针对真实源IP生效,请确保域名“是否已使用代理”已配置为“七层代理”,详细操作请参见查看基本信息

云模式-ELB接入

  1. 购买WAF云模式
  2. 已将域名信息添加到ELB模式

独享模式

  1. 购买WAF独享模式
  2. 已将域名信息(源站服务器的IP、端口等信息)添加到WAF独享模式
  3. 已为WAF独享模式实例配置负载均衡
  4. 为弹性负载均衡绑定弹性公网IP
  5. 放行独享引擎回源IP

WAF云模式配置策略

以下操作以华为云CDN为例介绍配置域名解析的方法。如果您使用的是华为云CDN,您可以直接参照以下步骤进行操作;若您使用华为云以外的CDN,请参考以下步骤在其他CDN上进行类似配置。

  1. 获取“CNAME”“子域名”“TXT记录”值。

    1. 登录管理控制台。
    2. 单击管理控制台左上角的,选择区域或项目。
    3. 单击页面左上方的,选择安全与合规 > Web应用防火墙 WAF
    4. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
    5. 在目标域名所在行中,单击域名名称,进入域名基本信息页面。
    6. 在域名基本信息页面,单击CNAME所在行的,复制“CNAME”。在页面顶部,单击“未接入”旁边的,在弹出的对话框中,复制“子域名”“TXT记录”

  2. 将CDN的主源站的源站域名修改为WAF的CNAME
  3. (可选)在DNS服务商添加一条WAF的子域名和TXT记录。

    为了防止其他用户提前将您的域名配置到Web应用防火墙上,从而对您的域名防护造成干扰,建议您完成此操作。

    1. 进入云解析页面的入口,如图2所示。
      图2 云解析页面入口
    2. 在页面的右上角,单击“添加记录集”,进入“添加记录集”页面,配置模式如图3所示。
      • “主机记录”1.f中复制的TXT记录。
      • “类型”:选择“TXT-设置文本记录”
      • “别名”:选择“否”
      • “线路类型”:全网默认。
      • “TTL(秒)”:一般建议设置为5分钟,TTL值越大,则DNS记录的同步和更新越慢。
      • “值”:将1.f中复制的TXT记录加上引号后粘贴在对应的文本框,例如,"TXT记录"。
      • 其他的设置保持不变。
      图3 添加记录集
    3. 单击“确定”,完成子域名配置。

  4. (可选)验证DNS配置。您可以Ping网站域名验证DNS解析是否生效。

    由于DNS解析记录生效需要一定时间,如果验证失败,您可以等待5分钟后重新检查。

WAF独享模式/ELB接入配置策略

请参考以下步骤在华为云CDN上进行配置操作。

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择CDN与智能边缘 > 内容分发网络 CDN,进入CDN页面。
  4. 在左侧导航树中,选择域名管理
  5. 在域名列表中,单击需要修改的域名或域名所在行的“设置”,进入域名配置页面。
  6. 选择“基本配置”签,在源站配置模块,单击“编辑”

  7. 单击“保存”,完成源站配置。

生效条件

“接入状态”“已接入”,表示域名/IP接入成功。

  • WAF每隔一小时就会自动检测防护网站的 接入状态,当WAF统计防护网站在5分钟内达到20次访问请求时,将认定该防护网站已成功接入WAF。
  • WAF默认只检测两周内新增或更新的域名的接入状态,如果域名创建时间在两周前,且最近两周内没有任何修改,您可以在“域名接入进度”栏,单击,手动刷新接入状态。

如果域名接入失败,即域名接入状态为“未接入”,请参考域名/IP接入状态显示“未接入”,如何处理?排查处理。

分享:

    相关文档

    相关产品