文档首页/ Web应用防火墙 WAF/ 最佳实践/ 网站接入配置/ CDN回源OBS桶场景下连接WAF提升OBS安全防护
更新时间:2024-07-05 GMT+08:00
分享

CDN回源OBS桶场景下连接WAF提升OBS安全防护

应用场景

当您的网站域名开启了华为云CDN加速,且回源到华为云对象存储 OBS(Object Storage Service,OBS)时,如果该网站存在一定的Web攻击风险,我们推荐您组合使用CDN、OBS和Web 应用防火墙 WAF(Web Application Firewall),将开启CDN加速的域名接入WAF,实现OBS的安全防护。本文介绍如何为业务同时部署CDN、OBS、WAF。

本实践建立在已将域名添加到CDN用于内容加速,并将请求回源到OBS桶(此时,域名DNS解析指向CDN的CNAME地址,源站为OBS域名),如何使网站流量经过WAF进行防护。

方案架构及方案优势

华为云CDN可以有效加速网站,WAF可以拦截网站恶意流量,而OBS桶提供海量文件存储。将数据存放在OBS桶中然后通过配置CDN加速,WAF过滤恶意请求,这样构造的业务系统可以在降低成本的同时,提高OBS数据的安全防护。

资源与成本规划

表1 资源和成本规划

资源

资源说明

每月费用

OBS桶

  • 计费模式:包年/包月
  • 资源包类型:标准存储多AZ包
  • 规格:100G
  • 购买数量:1

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

CDN

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

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

Web应用防火墙

云模式-标准版:

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

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

约束条件

  • 仅WAF云模式的CNAME接入支持该场景。
  • 该场景下,WAF只能防护网站动态内容、较小的静态资源文件。因此,如果OBS存储的资源为大文件(100M以上),不建议使用云WAF进行防护。

步骤一:购买云模式标准版

  1. 登录华为云管理控制台
  2. 在控制台页面中选择安全与合规 > Web应用防火墙 WAF,进入Web应用防火墙控制台。
  3. 在页面右上角,单击“购买WAF实例”,进入购买页面,“WAF模式”选择“云模式”

    • “区域”:根据防护业务的所在区域就近选择购买的WAF区域。
    • “版本规格”:选择“标准版”
    • “扩展包”“购买时长”:根据具体情况进行选择。

  4. 确认参数配置无误后,在页面右下角单击“立即购买”
  5. 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
  6. 进入“付款”页面,选择付款方式进行付款。

步骤二:在OBS中绑定CDN加速域名

  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择存储 > 对象存储服务 OBS
  4. 在左侧导航树中,选择“桶列表”,单击目标桶名称,进入“对象”页面。
  5. 在左侧导航树中,选择“域名管理”,进入“域名管理”界面。
  6. 单击“配置加速域名”,在“源站信息”所在行,复制桶域名。

    “加速域名”:配置为在CDN中配置的加速域名。

    其他参数的详细配置请参见配置加速域名

完成域名绑定后,您可以在浏览器输入域名和OBS桶中任意文件名称(例如,<被防护域名>/test.png,test.png为上传到OBS桶中的图片名称),如果网站能正常访问,表示域名添加成功。

步骤三:将域名接入WAF,源站地址为OBS域名

为了实现WAF对OBS桶的防护,您需要将开启CDN加速且绑定OBS桶的域名接入WAF,并将源站修改为OBS域名。

  1. 单击页面左上方的,选择安全与合规 > Web应用防火墙 WAF
  2. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
  3. 在网站列表左上角,单击“添加防护网站”
  4. 选择“云模式-CNAME接入”并单击“确定”
  5. 在添加防护网站页面,关键参数配置如表2
    其他参数的配置请参见添加防护域名(云模式-CNAME接入)
    表2 配置信息

    配置项

    配置说明

    防护域名

    填写步骤二:在OBS中绑定CDN加速域名中,绑定到OBS中的域名。

    防护域名端口

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

    服务器配置

    • 对外协议:客户端请求访问服务器的协议类型。包括HTTP、HTTPS两种协议类型。
    • 源站协议:Web应用防火墙转发客户端请求的协议类型。包括HTTP、HTTPS两种协议类型。
    • 源站地址:填写网站对应的源站服务器的公网IP地址或源站域名,用于接收WAF转发回源的正常业务请求(回源请求),此处填写OBS桶域名
      说明:

      在OBS“概览”页的“域名信息”栏,也可复制OBS桶域名。

    • 源站端口:WAF转发客户端请求到服务器的业务端口。
  6. 单击“确认”,按照接入向导完成“放行WAF回源IP”“本地验证”,在“修改DNS解析”页面,复制CNAME值。
    图1 复制CNAME截图

步骤四:修改CDN源站为WAF提供的CNAME地址

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

    “源站地址”文本框中输入6中复制的WAF CNAME值。

效果验证

完成配置后,您可以再次在浏览器输入已添加的域名和OBS桶中任意文件名称(例如,<被防护域名>/test.png),test.png为上传到OBS中的图片名称),如果网站能正常访问,表示域名添加成功。

您也可以在浏览器输入已添加的域名和Web攻击代码(例如SQL注入:curl -kv <被防护域名>?name='1%20or%201=1'),如果返回418拦截提示页面,表示攻击被拦截,WAF防护成功。

后续操作

完成上述配置后,WAF会默认为域名开启Web基础防护规则,通过对访问域名的请求特征进行识别和检测,将正常的访问请求转发给OBS私有桶,实现安全防护。您也可以根据实际情况,开启更多的防护策略,详见防护策略配置

相关文档