Web 应用防火墙支持通过负载均衡接入方式,防护已经接入了火山引擎负载均衡实例的业务,包括应用型负载均衡(ALB)和负载均衡(CLB)。本文以应用型负载均衡(ALB)为例,介绍如何接入并实现防护。接入后,WAF 实例会对经过负载均衡的流量进行旁路检测分析,对攻击流量进行清洗,实现业务转发和安全防护分离。
前提条件 您已创建云 WAF 实例。创建相关操作,请参考创建 WAF 实例 。 所需防护域名已备案,且未添加到云 WAF 实例。备案相关操作,请参考备案流程 。 您已创建 ALB 实例。创建相关操作,请参考创建 ALB 实例 。 您已将防护域名接入 ALB,并设置了 HTTP 或 HTTPS 监听器和转发规则。关于转发规则的相关配置,请参考创建转发规则 。
步骤一:添加域名 登录Web应用防火墙控制台 。
在顶部菜单栏选择实例所属地域。
在左侧导航选择网站设置 ,然后单击新建站点 。
选择接入方式为应用型负载均衡(ALB) 。
填写要接入 WAF 的网站基础信息,包括网站配置 和接入能力 。
参数
说明
配置示例
网站配置
防护域名
填写需要接入防护的域名,支持泛域名或精准域名。域名须经过 ICP备案 ,未备案域名将无法正常添加。
说明
如需同时配置泛域名和域名主体本身,请分别配置。如:需要同时配置*.b.a.com
和b.a.com
,需要分别接入域名并配置策略。
*.volcwaf001.com
负载均衡与监听器
在下拉列表中选择可用的监听器,WAF 会根据您配置的应用型负载均衡转发规则匹配对应域名的监听器信息,支持选择多个应用型负载均衡实例。
说明
如无可选项,请确认输入的防护域名是否已经配置了对应的转发规则。
test-waf-***-HTTP-80
说明
test-waf-***
为应用型负载均衡实例名称。HTTP-80
为默认监听器名称。日志采集
选择当前域名的日志服务的启用状态。
开启 :域名规则创建完成后开始采集该域名产生的日志数据。关闭 :域名规则创建完成后不会采集该域名产生的日志数据。说明
如果需要开启日志服务,需要先完成 WAF 访问日志服务的跨服务授权,让 WAF 服务获取日志采集和存储权限。
开启
接入能力
代理配置
需要配置的网站在接入 WAF 前是否使用了高防、CDN 等七层代理。
否 :WAF 前没有配置代理,WAF 取与 WAF 建立连接的 IP(取 X-Real-Ip)作为客户端 IP。是 :WAF 前配置了代理,表示 WAF 收到的业务请求来自其他七层代理服务转发,而非直接来自发起请求的客户端,需要进一步配置客户端 IP 判定方式。
X-Forwarded-For 字段获取客户端真实 IP:通过 X-Forwarded-For 字段中第一个公网 IP 地址作为客户端真实 IP 地址。注意
该方式存在攻击者伪造 X-Forwarded-For 字段的风险。
自定义 Header 字段:按匹配字段添加顺序获取客户端 IP 并将其作为客户端真实 IP。如匹配字段无法获取客户端 IP,则将通过 X-Forwarded-For 字段获取;如 X-Forwarded-For 字段由于伪造非法 IP 无法获取,则取 X-Real-Ip 字段作为客户端 IP。说明
单实例每域名最多可配置 5 个自定义 Header 字段。
否
单击提交 。
站点添加成功后,WAF 会在页面返回关联的负载均衡实例和对应监听器信息。
步骤二:设置防护策略 域名接入后,默认开启漏洞防护策略(正常模式)。您也可自定义其他防护策略,关于防护策略设置的更多详情,请参见防护策略类型 。
说明
默认开启的漏洞防护策略将执行观察动作,即放行请求流量,但会将请求行为上报至攻击日志。
下文以配置一条黑名单防护策略,限制 IP 地址192.1.1.1
的访问请求为例。
登录Web应用防火墙控制台 。
在顶部菜单栏选择实例所属地域。
在左侧导航选择防护策略>访问管控 。
开启禁止访问名单策略。
单击禁止访问名单 。 开启策略启用开关。 单击添加规则 ,配置规则参数。
参数
说明
配置示例
基本信息
规则名称
防护规则名称。
说明
以中文、字母、数字开头。 允许字母、数字、中文、点“.”、下划线“_”和短横线“-”。 长度为 1-128 个字符。 Block_rule1
规则描述
填写规则相关备注信息,例如拦截原因。
拦截对应 IP 的访问
防护域名
选择域名:选择已经接入防护的域名,支持选择多个域名。 选择域名组:选择已经创建的域名组,支持选择多个域名组。 选择域名组
规则条件
IP 地址
手动添加:手动输入需要加为白名单的 IP 地址,支持输入单个 IP 地址、IP 地址段或全部 IP 地址(*)。 引用地址组:选择已经创建的 IP 地址组,支持选择多个地址组。 选择地理位置:勾选需要限制的 IP 来源区域,支持选择多个区域。 手动添加:192.1.1.1
特征描述
请求路径:填写需要拦截 IP 地址的网站路径,可以是具体的某个页面 URL,也可以针对整个网站。
某个具体的 URL 地址,例如需要拦截对test.com/test.html
路径的访问,则填写 /test.html
。 针对整个网站,则填写/*
即可。 支持填写通配符*
,仅可出现一次,例如/test/*
。 添加条件:设置其他匹配字段、逻辑符和匹配内容。
匹配字段:选择匹配字段,目前支持请求协议、请求 uri、请求方法、请求路径、请求参数、请求头等字段。 逻辑符:选择逻辑符,目前支持大于、大于等于、等于、小于、小于等于、不等于等逻辑关系。 匹配内容:填写该条规则需要匹配的具体内容。 多个条件之间为“且”的关系,即当多个条件都满足,方可触发规则。 例如,拦截来自访问源 IP 地址至/test.html
路径,且请求方法为POST
的访问请求,则可以设置以下特征:
请求路径
等于
/test.html
请求方法
等于
POST
请求路径:/test.html 添加条件:请求方法
等于
POST
执行动作
观察:放行请求流量,但会将请求行为上报至攻击日志。 拦截:拦截请求流量,将请求行为上报至攻击日志。如果配置了自定义拦截响应页面,WAF 会将配置的拦截响应页面信息返回给客户端。 拦截
生效配置
规则开关
开启或关闭当前规则。
开启
单击确定 ,完成规则配置。
配置完成后,则所有来自源 IP 192.1.1.1
的访问请求都将被拦截,且在攻击日志中可查看对应记录。
后续操作