通过“云模式-ELB”将网站接入WAF
如果网站业务服务器部署在华为云,可使用云模式-ELB接入方式将网站的域名或IP添加到WAF进行防护。
方案概述
ELB接入模式下,将网站接入WAF后,网站流量会被ELB镜像给WAF。WAF检测后,将结果同步给ELB,由ELB根据WAF检测结果决定是否将客户端请求转发到源站。该过程中,WAF不参与流量转发,避免因额外引入一层转发而带来各种兼容性和稳定性问题。
ELB接入原理如图1所示。
接入WAF后,网站访问示意图如图2所示。
- 用户在浏览器输入域名后,客户端会向DNS发送请求,查询域名解析地址。
- DNS返回域名解析地址。
- 客户端通过EIP访问ELB。
- ELB将流量镜像给WAF。
- WAF检测后,将检测结果同步给ELB。
- ELB根据WAF检测结果,将正常流量转发给源站服务器。
约束限制
- 已经使用了华为云独享型ELB(“规格”为“应用型(HTTP/HTTPS)”)进行流量转发的网站,才支持使用“云模式-ELB接入”将网站接入WAF,该方式WAF是旁路检测,不参与流量转发。建议您使用该方式前,先完成独享型ELB的配置。
云模式-ELB接入仅支持防护HTTP、HTTPS协议监听器的流量,不支持TCP协议。
- 不支持如下防护规则:威胁情报访问控制、网站反爬虫、网页防篡改、敏感信息泄露、扫描防护、BOT管理、大模型检测。
- 购买了标准版、专业版或企业版后,才支持使用云模式-ELB接入。
云模式-ELB接入的域名、QPS、规则扩展包的配额与云模式-CNAME接入共用,且业务规格与购买的云模式基础套餐版本的对应规格一致。
- 支持云模式-ELB接入的Region,请参见地域限制。
前提条件
- 已购买WAF的云模式,并已了解网站接入的相关信息。
- 已在购买WAF云模式的账号下购买了独享型负载均衡,且“规格”为“应用型(HTTP/HTTPS)”,详见创建独享型负载均衡器。
基础配置
参考以下步骤,可快速将网站接入WAF。
- (可选)在弹性负载均衡ELB控制台,创建独享型负载均衡器、并为其添加监听器。如果已创建独享型负载均衡器、并添加监听器,可跳过该步骤。
- 创建独享型负载均衡器。
- “规格”选择“应用型(HTTP/HTTPS)”
- 其他参数根据业务需要进行配置。
- 为1.a中创建的负载均衡添加监听器,详细操作请参见添加HTTP监听器或添加HTTPS监听器。
- 创建后端服务器组。
- “所属负载均衡器”:选择“关联已有”,并在下拉框中选择1.a中创建的负载均衡器。
- 后端服务器配置为要添加到WAF中的防护网站对应的服务器地址。
- 执行以下命令,测试业务联通性是否正常。
curl -kv -H "Host: {源站域名}" {监听器对应的协议}://{ELB的IP}:{监听器端口}
返回码为“200”,则表示业务流量连通正常。
- 创建独享型负载均衡器。
- 在WAF中配置需要检测流量的网站。
- 登录Web应用防火墙控制台。
- 在左侧导航栏,单击“接入管理”。
在开始添加防护网站前,可单击页面右上角的“流程引导”,了解接入流程。
- 在“接入管理”页面,选择“云模式-ELB”页签后,完成接入配置。
若仅开通一种接入模式,则直接在“接入管理”页面完成接入配置即可。
- 单个接入
- 单击“未成功接入域名数”后的数字,定位到目标ELB实例后,单击“操作”列的“立即接入”。
您也可以选中一个配置了监听器的ELB实例后,单击“一键批量接入”。
如果“立即接入”按钮置灰,则对应ELB实例未配置监听器。请为ELB实例添加监听器后,再进行接入配置。
- 在“接入ELB域名”面板,完成接入配置后,单击“确定”。接入配置参数说明如表1所示。
- 单击“未成功接入域名数”后的数字,定位到目标ELB实例后,单击“操作”列的“立即接入”。
- 一键批量接入
- 选中至少一个配置了监听器的ELB实例后,单击“一键批量接入”。
支持为已接入的ELB实例,添加多个防护域名。
- 在“一键批量接入”面板,完成接入配置后,单击“确定”。接入配置参数说明如表1所示。
- 选中至少一个配置了监听器的ELB实例后,单击“一键批量接入”。
表1 接入配置参数说明 参数
参数说明
取值样例
防护策略模式
选择要启用的防护策略模式。
一键批量接入支持为多个ELB实例添加相同防护策略,或选择不同的防护策略。
- 相同防护策略:选择后,为所有一键批量接入WAF的ELB实例,选择同一个防护策略。
- 不同防护策略:为每个ELB实例,单个选择不同的防护策略。
两种策略模式均支持选择系统自动生成策略、手动创建的防护策略。- 系统自动生成策略(默认)包括:
- Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
常规检测包含:
- “规则集”:“默认规则集【中等】”
- “防护动作”:“仅记录”,即发现攻击行为后WAF只记录攻击事件不阻断攻击。
- 网站反爬虫:默认开启扫“扫描器”检测、“防护动作”为“仅记录”(发现攻击行为后WAF只记录攻击事件不阻断攻击),可防护漏洞扫描、病毒扫描等Web扫描任务,如OpenVAS、Nmap的爬虫行为。
- Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
- 手动创建的防护策略:根据防护需求创建的防护策略。仅标准版、专业版、企业版支持选择手动创建的防护策略。更多信息,请参见配置防护策略。
相同防护策略 > 系统自动生成策略
接入配置
配置接入信息。
- 防护域名:要防护的域名或IP(公网IP/私网IP),且该域名已解析到已创建的负载均衡器的弹性公网IP上。
- 域名:支持单域名和泛域名。
单域名:输入防护的单域名。例如:www.example.com。
泛域名:- 如果各子域名对应的服务器IP地址相同:输入防护的泛域名。例如:子域名a.example.com,b.example.com和c.example.com对应的服务器IP地址相同,可以直接添加泛域名*.example.com。
- 如果各子域名对应的服务器IP地址不相同:请将子域名按“单域名”方式逐条添加。
- WAF支持添加“*”的泛域名。
- 一个ELB只支持一个泛域名。
- IP:支持防护公网IP、私网IP。如果配置为私网IP,必须确保相应的网络路径是可访问的,以便于WAF能够正确地对流量进行监控和过滤。
- 域名:支持单域名和泛域名。
- ELB监听器:选择的ELB配置的监听器,支持选择其他账号的ELB监听器。
- “所有监听器”:表示选择ELB下的所有监听器。
- “指定监听器”:表示选择ELB下的指定监听器。
- 防护策略:“防护策略模式”选择“不同防护策略”后,需要单独为每个ELB实例选择对应的防护策略。
防护域名:*
ELB监听器:全部监听器
接入完成后,单击“已接入域名数”后的数字,可查看已接入WAF的ELB实例。
- 单个接入
接入验证
高级配置
用户可在页面,单击网站域名后,在网站详情页面进行以下高级配置。
| 功能 | 支持功能 |
|---|---|
| 真实客户端IP透传 |
|
| 网络扩展与高可用配置 |
|
| 运维监控效率提升 |
|
日常运维
- 查看网站基本信息:查看防护域名的ELB负载均衡器、ELB ID、ELB IP、策略名称、告警页面等信息。
- 切换防护模式:
- 未防护:如果大量的正常业务被拦截,可切换为该状态,WAF不再检测所有请求,日志也不会记录。
- 防护中:部分场景,如手动续费后,建议检查防护状态。若“防护状态”为“未防护”,需重新开启防护。
- 通过API批量管理WAF接入域名:将ELB接入WAF的配置信息,请参见API文档创建创建云模式ELB接入模式域名 - CreatePremiumHost。
- 取消接入:不再需要WAF防护时,可单击目标域名“操作”列的“取消接入”。
生产环境配置建议
将ELB接入和取消接入WAF的过程对业务无影响。但用户仍需关注日志与监控,确保业务可用性。建议遵循以下建议:
- 灰度策略:建议优先在业务低峰期接入非生产环境的ELB,运行一段时间以确认业务正常后,再接入生产环境的ELB。
- 检查业务:接入完成后,您可以通过如下方式确认业务是否正常。
- 查看日志:查看日志中状态码200的占比是否有明显波动、QPS是否有明显突增突降等。可查询防护事件,进行检查。
- 业务监控:检查业务侧功能是否正常,例如用户访问、交易等功能。
- 规则优化:接入初期使用观察模式,排除误拦截后再开启拦截模式。
- 监控告警:
- 开启告警通知,及时了解防护网站被攻击次数、证书到期、防护规则到期信息。
- 设置“Web应用防火墙-防护域名”监控告警规则,关注防护域名的请求量、5XX返回码、基础防护次数、CC防护次数等信息。

