GA联动WAF实现Web服务安全加速

如果您的Web服务需要提升用户访问速度,同时对安全性和高可用性有非常高的要求,您可以组合使用全球加速 GA(Global Accelerator)Web 应用防火墙 WAF(Web Application Firewall)。GA依托阿里云优质BGP带宽和全球传输网络,通过联动Web应用防火墙,可以有效防御Web攻击,同时通过GA的健康检查功能可避免异常节点对服务的影响,为Web服务提供一套高安全、高可用的加速方案。

场景示例

Web服务部署在德国(法兰克福)地域的阿里云ECS上,通过自有域名对外提供服务,转发端口为HTTP 80端口。客户端主要集中在中国香港地域。该Web服务面临以下问题:

  • Web服务经常受到各类Web攻击,严重影响Web应用服务的安全性和可用性。

  • 跨国公网不稳定,经常出现延迟、抖动、丢包等网络问题。

  • 后端服务器不稳定,业务存在中断的风险。

image

如上图部署架构,您可以联动部署GAWAF。部署完成后,可以有效解决跨域Web服务面临的问题。

  • Web应用防火墙 WAF:将自有域名添加到WAF后,Web服务所有的业务流量将被引流到WAF进行检测。WAF过滤Web攻击后,仅转发正常的业务流量,从而保障Web服务的业务安全和数据安全。

  • 全球加速 GA:中国香港用户的访问请求经WAF检测过滤后,通过配置的中国香港加速地域,就近进入阿里云加速网络 ,然后通过智能选择路由和自动网络调度,将网络访问请求送达至德国(法兰克福)的Web服务,有效提升服务访问速度;同时,通过开启健康检查可以提高业务的可靠性和可用性、避免异常节点对服务的影响。

前提条件

  • 您的德国(法兰克福)服务器ECS01ECS02已部署了Web服务。本文以Alibaba Cloud Linux 3操作系统为例,并使用Nginx配置HTTP 80服务。

    参考示例:ECS01部署测试服务

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS01." > index.html
  • 您已为自有域名配置DNS解析记录,即已配置了A记录将域名指向2个后端服务器的公网IP。

    如果您使用的DNS解析服务为非阿里云云解析DNS,请参见您的DNS服务商操作指导。

  • 如果需要通过HTTPS 443对外提供服务,需要提前创建并申请证书或者上传第三方证书到SSL证书服务并绑定自有域名。

  • 您已开通WAF实例

    本文场景中,开通非中国内地地域、按量计费3.0WAF实例。

    重要

    如果您配置的GA加速地域(客户端地域)涉及中国内地地域,您还需要开通中国内地地域的WAF实例,并确保自有域名已完成ICP备案,且接入WAF防护期间备案信息是有效的。

操作步骤

步骤一:配置全球加速

本文以按量付费的标准型GA实例为例。

  1. 全球加速控制台标准型实例 > 实例列表列表页面,单击创建标准型按量付费实例

  2. 实例基础配置向导页面,配置基础信息,单击下一步

    GA基础配置.png

  3. 配置加速区域向导页面,添加加速地域并为其分配带宽,然后单击下一步

    本文场景中,加速区域添加为中国香港公网质量类型配置为BGP(多线)加速地域其他参数配置可保持默认值或根据实际情况修改。

    重要
    • 加速地域包含中国内地地域时,自有域名必须完成ICP备案才可对外提供服务。

    • 如果带宽峰值设置过低,可能出现限速从而导致流量被丢弃,请合理规划带宽峰值,确保和业务需求匹配。

    GA加速区域.png

  4. 配置监听向导页面,配置转发协议与端口,然后单击下一步

    本文场景中,路由类型选择智能路由(原标准监听)协议配置为HTTP端口配置为80监听其他参数配置可保持默认值或根据实际情况修改。

    说明

    如果需要通过HTTPS 443对外提供服务,您可以配置HTTPS 443协议端口监听,关联已创建的证书,并在终端节点组的端口映射中配置监听端口443到后端服务端口80的映射关系,以实现HTTPS安全加速访问HTTP网站

    GA监听.png

  5. 配置终端节点组配置向导页面,配置终端节点后端服务,然后单击下一步

    本文场景中,地域选择德国(法兰克福)后端服务依次配置ECS01ECS02,打开健康检查开关,然后阅读并选中数据跨境合规承诺终端节点组其他参数配置可保持默认值或根据实际情况修改。

    EPG

    EPG 健康检查 CN

  6. 配置审核向导页面,确认GA的配置信息,然后单击提交

  7. 在实例列表页面,找到已创建的GA实例,在CNAME列获取GA实例分配的CNAME。

  8. 在后端服务器中放通GA用于连通后端服务的网段。

    本文场景中,GA与后端服务器ECS间私网连接,您需要在ECS安全组中放通其所属交换机网段,且需确保该交换机网段的空闲私网IP数量≥8。

步骤二:配置Web应用防火墙

  1. Web应用防火墙3.0控制台的接入管理页面,选择CNAME接入页签,单击接入

  2. 接入域名面板的配置监听配置向导中,完成域名、协议端口等配置,单击下一步

    本文场景中,域名配置为www.<YOURDOMAIN>.cloud协议类型选中HTTP接入域名其他参数配置可保持默认值或根据实际情况修改。

    接入WAF 配置监听

  3. 配置转发配置向导中,配置要转发的服务器地址,然后单击提交

    本文场景中,服务器地址配置为GACNAME,其他参数可保持默认值或根据实际情况修改。

    接入WAF 配置转发

  4. 接入完成配置向导中,获取WAFCNAME地址,然后单击完成

    接入WAF 接入完成

步骤三:配置CNAME解析

您需要更新DNS解析记录,将自有域名通过CNAME记录指向WAFCNAME。

本文场景中,如果您已有指向后端服务器的A记录,您可以先指定中国香港地区来添加指向WAFCNAME记录,以进行测试。待测试成功后,再逐步扩展至其他地区或仅保留指向WAFCNAME记录。

  1. 域名解析页面,找到目标自有域名,在操作列单击解析设置

    说明

    对于非阿里云注册域名,需先添加域名到云解析控制台,才可以进行域名解析设置。

  2. 在解析设置页面,单击添加记录,配置CNAME记录,然后单击确认

    本文场景中,记录类型配置为CNAME主机记录配置为www解析请求来源配置为中国香港,记录值配置为WAFCNAME地址,解析记录其他参数配置可保持默认值或根据实际情况修改。

    配置CNAME.png

步骤四:结果验证

在加速地域(本方案为中国香港)的电脑中打开浏览器,根据以下操作,测试GA联动WAF后的防护和加速效果。

WAF生效验证

模拟简单的Web攻击命令,查看WAF的防护效果。

例如,您可以在浏览器的地址栏输入<被防护域名>/alert(xss)(这是一个用作测试的Web攻击请求),查看针对Web应用攻击的防御效果。预期WAF会返回一个拦截页面。

WAF验证

Web应用防火墙3.0安全报表页面,可查看防护记录。

WAF-安全报表

GA健康检查效果验证

  1. 在浏览器中输入网站自有域名,访问德国(法兰克福)地域部署的网站。

    经测试,可以通过网站自有域名访问德国(法兰克福)地域部署的网站,多次刷新浏览器,应答服务器在ECS01ECS02间切换。

    访问 ECS01

    访问 ECS02

  2. 模拟故障:停止服务器ECS01。

    一段时间后,在GA实例的终端节点组页签,查看健康检查状态

    健康检查

    多次刷新浏览器,仍然可以正常访问业务,但应答服务器仅剩ECS02。

    访问 ECS02

GA加速效果验证

本文以中国香港探测点为例,在配置GA前后,分别对Web服务域名使用网络拨测工具进行拨测,查看响应时间以了解数据延迟情况。

  1. 测试配置GA前的网络延迟情况。

    执行该步骤前,请确保:

    • WAF的服务器地址为2个后端服务器的公网IP,客户端请求接入WAF后直接转发至后端服务中。

    • 您需要设置后端服务器的安全软件或访问控制策略,放通WAF回源IP入方向流量。

    GA前

  2. 测试配置GA后的网络延迟情况。

    执行该步骤前,请确保WAF的服务器地址为GACNAME。

    GA后

经验证,使用GA后,降低了中国香港客户端访问德国(法兰克福)Web服务的延迟。

说明

GA联动WAF的防护和加速效果以您的实际业务测试为准。

相关文档