为ALB实例开启WAF防护

如果您的Web业务启用了阿里云应用型负载均衡(Application Load Balancer,简称ALB),您可以为ALB实例开启Web应用防火墙(Web Application Firewall,简称WAF)防护,将Web业务流量引流到WAF进行安全防护。本文介绍如何为ALB实例开启WAF防护。

背景信息

ALB是阿里云推出的专门面向HTTP、HTTPSQUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模应用层流量处理能力。更多信息,请参见什么是应用型负载均衡ALB

WAF通过SDK模块化的方式,与ALB原生架构集成,通过内嵌在网关中的SDK提取并检测流量。该过程中,WAF只进行业务监听,不再参与流量转发,实现防护与流量转发的完全分离,为您提供更高的安全运维效率、更流畅的交互体验。

具体网络架构如下图所示:

image

使用限制

云产品接入适用于快速将阿里云ALB、MSE、FC、SAE 2.0、CLBECS资源接入WAF防护。如需防护非阿里云资源的Web应用,请通过CNAME接入方式将域名下业务接入WAF,具体操作请参见添加域名

  • 购买ALB WAF增强版实例前,请先完成实名认证。具体操作,请参见如何选择实名认证方式

  • 仅如下地域支持WAF增强版ALB实例:

    区域

    地域

    中国

    西南1(成都)、华北1(青岛)、华北2(北京)、华南3(广州)、华东1(杭州)、华北6(乌兰察布)、华东2(上海)、华南1(深圳)、华北3(张家口)、中国香港、华东6(福州-本地地域)

    亚太

    菲律宾(马尼拉)、印度尼西亚(雅加达)、日本(东京)、马来西亚(吉隆坡)、新加坡、泰国(曼谷)

    欧洲与美洲

    德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)

  • 仅支持状态为运行中ALB基础版、标准版实例,升级为WAF增强版。

  • 接入WAFALB实例暂不支持如下功能:

    • 信息泄露防护

    • Bot管理网页防爬场景化防护中的自动集成Web SDK

前提条件

  • 您的阿里云账号未开通任何版本的WAF,或已开通WAF 3.0。

    说明
    • 如果您的账号未开通任何版本的WAF实例,您购买ALB WAF增强版后,开通的WAF 3.0实例为按量付费版。

    • 如果您的阿里云账号下已开通WAF 2.0实例,您可以将WAF 2.0实例迁移到WAF 3.0。具体操作,请参见如何将WAF 2.0实例升级到WAF 3.0

  • 如果您开通的是包年包月实例,请确认您的实例还可以添加防护对象。否则,将无法进行云产品接入。

    您可以访问防护对象页面,查看实例还可以添加的防护对象数。image.png

开启WAF防护

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,单击接入管理

  3. 选择云产品接入页签,在左侧云产品类型列表,选择ALB

  4. 单击接入

  5. 根据页面提示,单击立即授权,完成云产品授权。

    完成后,阿里云将自动为您创建WAF服务关联角色AliyunServiceRoleForWAF。您可以在RAM控制台身份管理 > 角色页面,查看阿里云为WAF自动创建的服务关联角色。

    说明

    如果您已经完成云产品授权,则授权页面不会出现,您可以直接执行后续步骤。

  6. 在应用型负载均衡ALB控制台,为ALB实例开启WAF防护。

    • 新购一个WAF增强版ALB实例

      1. 登录应用型负载均衡ALB控制台
      2. 在顶部菜单栏,选择实例所属的地域。

      3. 实例页面,单击创建应用型负载均衡

      4. 应用型负载均衡(按量付费)购买页面,完成参数的配置,然后单击立即购买并根据提示完成支付。

        本文仅列出强相关项,其余参数的配置请参见创建应用型负载均衡

        功能版本(实例费):选择WAF增强版

    • 为已创建的ALB实例开启WAF防护

      1. 登录应用型负载均衡ALB控制台
      2. 在顶部菜单栏,选择实例所属的地域。

      3. 实例页面,找到目标实例,选择以下任意一种方式开启WAF防护。

        • 方式一

          1. 单击目标实例ID,然后单击集成服务页签。找到Web应用防火墙区域,然后单击开启防护

          2. 开启防护会话框,单击确定完成支付并开启WAF防护。

        • 方式二

          1. 将鼠标悬停在目标实例名称后的未开启图标,然后在气泡框中单击Web应用安全防护区域的开启防护

          2. 开启防护会话框,单击确定完成支付并开启WAF防护。

        • 方式三

          1. 单击目标实例ID,在实例详情页签,找到基本信息区域中的WAF安全防护,然后单击开启防护

          2. 开启防护会话框,单击确定完成支付并开启WAF防护。

        • 方式四

          1. 操作列选择选择 > 变配功能版本

          2. 应用型负载均衡(按量付费)| 变配页面,选择功能版本(实例费)WAF增强版,单击立即购买并完成支付。

管理WAF

WAF侧管理WAF防护

  1. 登录Web应用防火墙3.0控制台。在顶部菜单栏,选择WAF实例的资源组和地域(中国内地非中国内地

  2. 在左侧导航栏,单击接入管理

  3. 管理WAF防护。

    • 云产品接入页签,从左侧云产品类型列表中选择ALB,查看已接入的ALB实例。

    • 设置防护对象和防护规则

      开启WAF防护后,WAF会自动生成一个后缀为-alb的防护对象,并为该防护对象默认开启基础防护规则。您可以在接入列表,单击已接入的实例ID,在防护对象页面,查看自动添加的防护对象,并为其配置防护规则。具体操作,请参见防护配置概述

      image

    • 取消接入

      取消接入后,ALB实例上的业务流量将不再受WAF防护,安全报表中也不再包含相关业务流量的防护数据。

      重要

      ALB实例上的业务流量不受WAF防护后,不会产生请求处理费。但您已经配置的防护规则仍会产生对应的功能费。建议您在取消业务接入前,先删除已配置的防护规则,避免产生额外计费。更多信息,请参见计费项防护模块概览

      1. 单击目标实例名称操作列的取消接入,在提示对话框,单击取消接入

      2. 取消接入面板,选择功能版本(实例费)标准版单击立即购买并完成支付

ALB侧管理WAF防护

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择实例所属的地域。

  3. 管理WAF防护。

    操作

    步骤

    查看实例是否开启WAF防护

    选择以下任意一种方式查看实例是否开启WAF防护。显示防护中,表示已开启WAF防护。

    方式一

    1. 实例页面,找到目标实例,单击实例ID。

    2. 实例详情页签,在基本信息区域查看WAF安全防护的状态。

    方式二

    1. 实例页面,找到目标实例,将鼠标悬停在实例名称后的未开启图标。

    2. 在气泡框的Web应用安全防护区域,查看防护状态。

    方式三

    1. 实例页面,找到目标实例,单击实例ID。

    2. 实例详情页签,单击集成服务页签,在Web应用防火墙区域查看防护状态。

    查看WAF安全报表

    查看WAF安全报表,请确保您的ALB实例已开启WAF防护。

    方式一

    1. 实例页面,找到目标实例,单击实例ID。

    2. 单击集成服务页签,在Web应用防火墙区域单击查看WAF安全报表进入WAF 3.0控制台的安全报表页面查看。

    方式二

    1. 实例页面,找到目标实例,将鼠标悬停在实例名称后的未开启图标。

    2. 在气泡框的Web应用安全防护区域,单击查看WAF安全报表进入WAF 3.0控制台的安全报表页面查看。

    方式三

    1. 实例页面,找到目标实例,单击实例ID。

    2. 实例详情页签,在基本信息区域单击WAF安全防护右侧的查看WAF安全报表进入WAF 3.0控制台的安全报表页面查看。

    更多信息,请参见安全报表

    关闭WAF防护

    关闭WAF防护后,ALB实例上的业务流量将不再受WAF防护,安全报表中也不再包含相关业务流量的防护数据。

    重要

    ALB实例上的业务流量不受WAF防护后,WAF侧不会产生请求处理费。但您已经配置的防护规则仍会产生对应的功能费。建议您在取消业务接入前,先删除已配置的防护规则,避免产生额外计费。更多信息,请参见计费项防护模块概览

    方式一

    1. 实例页面,找到目标实例,单击实例ID。

    2. 单击集成服务页签,在Web应用防火墙区域,单击解除WAF防护

    3. 关闭防护会话框,单击确定关闭WAF防护。

    方式二

    1. 实例页面,找到目标实例,将鼠标悬停在目标实例名称后的图标,在气泡框的Web应用安全防护区域,单击关闭WAF防护

    2. 关闭防护会话框,单击确定关闭WAF防护。

    方式三

    1. 实例页面,找到目标实例,单击实例ID。

    2. 实例详情页签,在基本信息区域单击WAF安全防护右侧的关闭WAF防护

    3. 关闭防护会话框,单击确定关闭WAF防护。

    方式四

    1. 实例页面,找到目标实例,在操作列选择选择 > 变配功能版本

    2. 应用型负载均衡(按量付费)| 变配页面,选择功能版本(实例费)标准版,单击立即购买并完成支付。

常见问题

验证ALB是否成功接入WAF

  1. 在浏览器中输入域名进行访问测试,如果网站可以正常访问,则表示WAF接入成功。

  2. 在域名后输入SQL恶意攻击代码验证防护效果,例如xxx.xxxx.com?id=1 and 1=1,返回如下 405 拦截提示页面,则表示攻击被拦截。

    image.png

WAF 2.0透明化接入和WAF 3.0 SDK集成的区别

image

两者的区别:

  • WAF 2.0透明化接入:通过添加引流端口到WAF的方式,使云产品网关自动改变路由,将Web业务引流到WAF。WAF会拦截攻击请求并将正常业务请求转发回源站服务器。该过程中,WAF作为反向代理集群,同时参与流量的转发和检测防护。WAF 2.0透明化接入时请求需经过两道网关,因此WAF侧与负载均衡侧都需维护超时时间和证书等配置。

  • WAF 3.0 SDK集成:WAF 3.0通过SDK模块化的方式集成在云产品的网关中,通过内嵌在网关中的SDK提取流量并进行检测和防护。该过程中,WAF不参与流量转发,避免因额外引入一层转发而带来各种兼容性和稳定性问题。WAF 3.0 SDK集成时请求只经过一道网关,省去了网关间证书和配置同步的步骤,不会出现证书和配置不同步等问题。

更多信息,请参见WAF 3.0WAF 2.0对比

相关文档

ALB侧文档

WAF侧文档