全部产品
Search
文档中心

Web 应用防火墙:设置源站保护

更新时间:Nov 17, 2023

CNAME接入模式下,网站的业务流量经过WAF防护后流回源站。若源站IP泄露则攻击者会绕过WAF直接攻击源站。您可以为源站服务器配置访问控制策略,只放行WAF回源IP段入方向的流量来保护源站。本文以部署了阿里云负载均衡SLB的ECS服务器为例,讲解如何配置访问控制策略。

说明
  • 网站接入WAF防护后,无论您是否设置源站保护,都不影响正常业务的转发。

  • 如果您使用透明接入方式,将源站阿里云服务器ECS和负载均衡SLB的业务流量接入WAF防护,引流端口的所有流量都会被牵引到WAF防护,攻击者无法绕过WAF直接攻击源站。因此,您无需设置源站保护。

风险须知

配置源站服务器的访问控制策略存在一定风险。在设置源站保护前,请注意以下事项:

  • 请确保同一源站ECS实例或SLB实例上的所有域名都已经接入WAF进行防护,避免攻击者通过未接入WAF的域名入侵源站,从而影响其他域名业务。

  • 在WAF集群出现故障时,WAF可能会将域名访问请求旁路回源至源站,确保网站正常访问。这种情况下,如果源站已设置ECS安全组或SLB白名单访问控制策略,可能会导致源站暂时无法通过公网访问。

  • 当WAF集群扩容增加新的回源IP段时,如果源站已设置ECS安全组或SLB白名单防护,可能会导致频繁出现5XX错误响应。建议您定期关注Web应用防火墙控制台发布的回源网段变更通知,及时更新涉及回源IP网段的访问控制策略。

  • 如果您不再使用WAF,在将业务流量切回源站服务器之前,请务必先删除已添加的访问控制策略,放行所有业务流量,避免业务流量切回后出现业务中断。

前提条件

  • 确认源站服务器为阿里云服务器ECS,并部署负载均衡SLB。更多信息,请参见云服务器ECS负载均衡SLB

  • 源站ECS实例或SLB实例上的所有域名都已经通过CNAME接入方式接入WAF防护。具体操作,请参见添加域名

步骤一:检测源站是否存在IP暴露风险

您可以在非阿里云环境直接使用Telnet工具连接源站公网IP地址的业务端口,检测是否能够成功建立连接:

  • 如果可以连通,表示源站存在IP泄露风险,一旦黑客获取到源站公网IP就可以绕过WAF直接访问源站。

  • 如果无法连通,表示源站当前不存在IP泄露风险。

示例:测试已接入WAF进行防护的源站IP的80端口和8080端口是否能成功建立连接。以下截图中的测试结果显示端口可以连通,说明源站存在IP泄露风险。端口可连通,waf

步骤二:获取WAF回源IP段

重要

WAF回源IP段会定期更新,请关注定期变更通知,及时将更新后的回源IP段添加至相应的安全组或白名单规则中,避免出现误拦截。

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

  2. 在左侧导航栏,选择系统管理 > 产品信息

  3. 产品信息页面右下方的回源IP段区域,单击复制全部IP
    回源IP段区域实时显示WAF回源IP段。

步骤三:设置ECS安全组规则

如果您的源站服务器为云服务器ECS,请在获取WAF回源IP段后,参照以下步骤设置源站ECS实例的安全组规则,只放行WAF回源IP段的入方向流量,拒绝所有其他IP段的入方向流量。

  1. 进入安全组页面。
    1. 登录ECS管理控制台

    2. 在左侧导航栏,选择网络与安全 > 安全组

    3. 在顶部菜单栏左上角处,选择地域。

  2. 找到目标安全组,在操作列中,单击配置规则
  3. 选择安全组规则所属的方向。
    • 如果安全组的网络类型为专有网络,请选择入方向出方向
    • 如果安全组的网络类型为经典网络,请选择入方向出方向公网入方向公网出方向
  4. 添加一条优先级最高的安全组规则,放行WAF回源IP段的入方向流量。

    1. 访问规则区域的入方向页签下,单击手动添加

    2. 完成以下规则配置,并单击保存

      配置项

      说明

      授权策略

      选择允许

      优先级

      输入1,表示优先级最高。

      协议类型

      选择自定义TCP

      端口范围

      选择HTTP(80)HTTPS(443)

      授权对象

      将已复制的WAF回源IP段粘贴到输入框。

      描述

      自定义描述信息。示例:放行WAF回源IP。

      重要

      如果当前安全组防护的服务器与WAF回源IP以外的其他IP、HTTP或HTTPS以外的其他应用有交互,请将这些交互IP和端口通过安全组一并加白放行。

      成功添加该安全组规则后,ECS实例安全组将以最高优先级放行WAF回源IP段的所有入方向流量。

      警告

      请务必确保所有WAF回源IP段都已通过源站ECS实例的安全组规则设置了入方向的允许策略,否则可能导致网站访问异常。

  5. 添加一条优先级最低的安全组规则,拒绝其余所有IP段的入方向流量。

    1. 访问规则区域的入方向页签下,单击手动添加

    2. 完成以下规则配置,并单击保存

      配置项

      说明

      授权策略

      选择拒绝

      优先级

      输入100,表示优先级最低。

      协议类型

      选择自定义TCP

      端口范围

      选择HTTP(80)HTTPS(443)

      授权对象

      在源输入框,输入0.0.0.0/0(表示所有IP段)并按回车键。

      描述

      自定义描述信息。示例:拒绝所有入方向流量。

      成功添加该安全组规则后,ECS实例安全组除了放行WAF回源IP段的入方向流量外,还将拒绝所有其他IP段的入方向流量,保证所有业务流量都经WAF转发到源站ECS实例。

步骤四:设置SLB访问控制

如果您的源站服务器部署了负载均衡SLB,您还需要设置SLB实例的访问控制(白名单)策略,只放行WAF回源IP段的入方向流量。

以下操作描述以传统型负载均衡CLB为例进行介绍。如果您使用应用型负载均衡ALB,请结合以下操作描述及ALB访问控制文档进行操作。

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

  3. 在左侧导航栏,选择传统型负载均衡 CLB(原SLB) > 访问控制

  4. 创建访问控制策略组。

    1. 访问控制页面,单击创建访问控制策略组

    2. 创建访问控制策略组面板,完成以下策略组配置,并单击创建

      以下配置表示为WAF回源IP创建一个策略组。

      配置项

      说明

      策略组名称

      自定义策略组名称。示例:WAF回源IP段。

      批量添加IP地址/地址段和备注

      粘贴所有WAF回源IP。

      每行只允许输入一个条目。多个条目间通过回车分隔。

      说明

      由于复制获取的所有WAF回源IP段之间以半角逗号(,)分隔,建议您使用支持扩展替换的文本编辑器,将半角逗号(,)统一替换为换行符(\n)再进行粘贴。

  5. 为监听设置访问控制策略。

    1. 在左侧导航栏,选择传统型负载均衡CLB(原SLB) > 实例管理

    2. 实例管理列表,定位到要操作的实例,单击实例ID。

    3. 监听列表,定位到要设置的监听,在操作列下单击更多图标,然后单击设置访问控制

      请根据已接入WAF防护的业务类型,选择要设置的监听:

      • 如果您已将HTTP业务接入WAF防护,则需要设置HTTP监听。

      • 如果您已将HTTPS业务接入WAF防护,则需要设置HTTPS监听。

      • 如果您已将HTTP和HTTPS业务接入WAF防护,则需要分别设置HTTP监听和HTTPS监听。

    4. 访问控制设置面板,打开启动访问控制开关并完成以下配置。

      配置项

      说明

      访问控制方式

      选择白名单:允许特定IP访问负载均衡SLB

      选择访问控制策略组

      选择WAF回源IP对应的访问控制策略组。

    完成以上配置后,CLB实例监听将会放行WAF回源IP段的入方向流量。

后续操作

完成ECS安全组或SLB白名单设置后,您可以通过测试源站IP的80端口和8080端口是否能成功建立连接,验证设置是否已生效。

如果端口无法直接连通,但网站业务仍可正常访问,则表示源站保护已设置成功。

相关文档