文档首页/ Web应用防火墙 WAF/ 最佳实践/ 网站接入配置/ 使用WAF、ELB和NAT网关防护云下业务
更新时间:2024-07-29 GMT+08:00

使用WAF、ELB和NAT网关防护云下业务

应用场景

WAF云模式-ELB接入默认只支持云上业务,当您的源站服务器在云下时,需要通过NAT网关进行流量转发,将您的流量由华为云内网回源到源站的公网IP,再通过云模式-ELB接入方式将网站接入WAF,实现流量检测。

方案架构

图1 方案架构

资源与成本规划

表1 资源和成本规划

资源

资源说明

每月费用

弹性负载均衡

  • 计费模式:包年/包月
  • 实例类型:独享型
  • 规格:应用型(HTTP/HTTPS);中型II
  • 公网带宽:按带宽计费
  • 带宽:10Mbit/s

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

NAT网关

  • 计费模式:包年/包月
  • 规格:中型

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

Web应用防火墙

云模式-标准版:

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

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

步骤一:创建独享型负载均衡器

  1. 登录华为云管理控制台。
  2. 单击管理控制台左上角的,选择区域或项目。
  3. 单击页面左上方的,选择网络 > 弹性负载均衡
  4. “弹性负载均衡”页面,单击“购买弹性负载均衡”

    1. 根据界面提示选择负载均衡器的基础配置。
      • “实例类型”:选择“独享型”
      • “规格”:选择“应用型(HTTP/HTTPS)”
      • 其他参数:根据业务实际情况进行选择。
    2. 选定负载均衡器的规格后,请根据界面提示选择负载均衡器的网络配置。
      • “IP类型后端(跨VPC后端)”:开启
      • “前端子网”:独享型负载均衡所在的子网,从该子网中分配ELB实例对外服务的IP地址。
      • “后端子网”:负载均衡实例将使用后端子网中的IP地址与后端服务器建立连接。此处,需要配置一个独立的后端子网,与前端子网配置的不同。

        如果前后端子网配置一样,通过NAT进行流量转发时,可能会造成转发混乱。

      • 其他参数:根据业务实际情况进行选择。

    关于创建独享型负载均衡器的详细操作请参见创建独享型负载均衡器

  5. 单击“立即购买”
  6. 确认配置信息,根据界面提示完成创建操作。

步骤二:为创建的ELB配置监听器

  1. 在目标负载均衡器所在行的“名称”列,单击目标负载均衡器名称。
  2. 选择“监听器”页签,单击“添加监听器”,配置监听器名称、前端协议/端口信息。
  3. 单击“下一步:配置后端分配策略”,配置后端分配策略。
  4. 单击“下一步:添加后端服务器”,并选择“IP类型后端(跨VPC后端)”页签。
  5. 单击“添加IP类型后端”,在弹出的弹框中,配置“IP类型后端IP”“业务端口”

    • “IP类型后端IP”:源站的IP地址。
    • “业务端口”:服务器的端口号。

  6. 单击“确定”,配置完成。
  7. 单击“下一步:确认配置”后单击“提交”

步骤三:配置NAT网关

  1. 购买公网NAT网关

    1. 单击页面左上方的,选择网络 > NAT网关 NAT
    2. 在公网NAT网关页面,单击“购买公网NAT网关”,进入公网NAT网关购买页面。
    3. 单击“立即购买”,在“规格确认”页面,您可以再次核对公网NAT网关信息。
    4. 确认无误后,单击“提交”,开始创建公网NAT网关。

      公网NAT网关的创建过程一般需要1-6分钟。

  2. 添加SNAT规则。

    1. 在公网NAT网关页面,单击需要添加SNAT规则的公网NAT网关名称。
    2. “SNAT规则”页签中,单击“添加SNAT规则”

      “子网”:配置为•“后端子网”:负载均衡实例将使用后端子网中的I...中配置的后端子网。

    3. 配置完成后,单击“确定”,完成“SNAT规则”创建。

步骤四:通过云模式-ELB接入方式将域名添加到WAF进行防护

  1. 购买云模式标准版。

    1. 在控制台页面中选择安全与合规 > Web应用防火墙 WAF,进入Web应用防火墙控制台。
    2. 在页面右上角,单击“购买WAF实例”,进入购买页面,“WAF模式”选择“云模式”
      • “区域”:根据防护业务的所在区域就近选择购买的WAF区域。
      • “版本规格”:选择“标准版”
      • “扩展包”“购买时长”:根据具体情况进行选择。
    3. 确认参数配置无误后,在页面右下角单击“立即购买”
    4. 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
    5. 进入“付款”页面,选择付款方式进行付款。

  2. 通过云模式-ELB接入方式将域名添加到WAF。

    1. 在左侧导航树中,选择“网站设置”,进入“网站设置”页面。
    2. 在网站列表左上角,单击“添加防护网站”
    3. 选择“云模式-ELB接入”,并单击“开始配置”
    4. “添加域名”页面,配置相关信息。
    5. 单击“确认”

效果验证

假如已添加域名“www.example.com”,且已开启了Web基础防护的“常规检测”,防护模式为“拦截”。您可以参照以下步骤验证WAF防护效果:

  1. 清理浏览器缓存,在浏览器中输入防护域名,测试网站域名是否能正常访问。

  2. 清理浏览器缓存,在浏览器中输入“http://www.example.com?id=1%27%20or%201=1”模拟SQL注入攻击。

    WAF将拦截该访问请求,拦截页面如图2所示。

    图2 WAF拦截攻击请求

  3. 返回Web应用防火墙控制界面,在左侧导航树中,单击“防护事件”,进入“防护事件”页面,查看防护域名拦截日志。