通过“云模式-ELB接入”将网站接入WAF
如果网站业务服务器部署在华为云,可使用云模式-ELB接入方式将网站的域名或IP添加到WAF进行防护。
方案概述
ELB接入模式下,将网站接入WAF后,网站流量会被ELB镜像给WAF。WAF检测后,将结果同步给ELB,由ELB根据WAF检测结果决定是否将客户端请求转发到源站。该过程中,WAF不参与流量转发,避免因额外引入一层转发而带来各种兼容性和稳定性问题。接入原理如图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接入”,并单击“开始配置”。
- 配置域名基本信息,如图3所示,相关参数说明如表1所示。
表1 基本信息参数说明 参数
参数说明
取值样例
ELB(负载均衡器)
选择已创建的负载均衡器,确认防护网站对应的服务器地址已添加到该ELB。创建负载均衡器具体操作,请参见1.a。
elb-waf-test
ELB监听器
选择的ELB配置的监听器,支持选择其他账号的ELB监听器。
- “所有监听器”:表示选择ELB下的所有监听器。
- “指定监听器”:表示选择ELB下的指定监听器。
所有监听器
网站名称
可选参数,自定义网站名称。
-
防护域名
要防护的域名或IP(公网IP/私网IP),且该域名已解析到1.a中创建的负载均衡器的弹性公网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能够正确地对流量进行监控和过滤。
单域名:www.example.com
泛域名:*.example.com
IP:
XXX.XXX.1.1
网站备注
可选参数,网站补充信息。
-
策略配置
选择要启用的防护策略。- “系统自动生成策略”(默认):详细说明如下:
- Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
常规检测包含:
- “规则集”:“默认规则集【中等】”
- “防护动作”:“仅记录”,即发现攻击行为后WAF只记录攻击事件不阻断攻击。
- 网站反爬虫:默认开启扫“扫描器”检测、“防护动作”为“仅记录”(发现攻击行为后WAF只记录攻击事件不阻断攻击),可防护漏洞扫描、病毒扫描等Web扫描任务,如OpenVAS、Nmap的爬虫行为。
- Web基础防护:默认开启常规检测,可防护SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等攻击行为。
- 手动创建的防护策略:根据防护需求创建的防护策略。仅专业版和企业版支持选择手动创建的防护策略。更多信息,请参见配置防护策略。
系统自动生成策略
服务授权
为WAF授予访问云资源权限。如果需要在防护事件列表显示“ELB名称”列,需要执行该操作。
- 单击“前往授权”。
- 在“服务授权”对话框,确认要授予的权限名称后,单击“确定”。 要授予的权限名称如下:
- Tenant Guest:请求全局云服务只读权限(除IAM权限),用于配置独享引擎相关参数。
- Server Administrator:请求服务器管理员权限,用于创建、升级、删除独享引擎。
- VPC Administrator:请求虚拟私有云管理员权限,用于配置独享引擎网络。
- ELB Administrator:请求弹性负载均衡服务管理员,用于配置ELB以接入WAF独享实例。
同意授权后,WAF将在统一身份认证服务 IAM为您自动创建委托premium_waf_svc_trust,并授予相关权限。您可以登录统一身份认证服务 IAM 管理控制台,查看委托及授予的相关权限。
您可以在防护事件列表,自定义显示“ELB名称”列。具体操作,请参见2。
已授权
- 单击“确定”,防护网站添加成功。
您可在防护网站列表中查看已添加的防护网站。
接入验证
进阶配置
用户可在“网站设置”页面,单击网站域名后,在网站详情页面进行以下进阶配置。
| 功能 | 支持功能 |
|---|---|
| 真实客户端IP透传 |
|
| 回源链路与性能优化 |
|
| 网络扩展与高可用配置 |
|
| 运维监控效率提升 |
|
关于进阶配置的详细描述,请参见进阶配置。
日常运维
- 查看网站基本信息:查看防护域名的ELB负载均衡器、ELB ID、ELB IP、策略名称、告警页面等信息。
- 切换防护模式:
- 暂停防护:如果大量的正常业务被拦截,可切换为该状态,WAF不再检测所有请求,日志也不会记录。
- 开启防护:部分场景,如手动续费后,建议检查防护状态。若运行状态为未防护,需重新开启防护。
- 通过API批量管理WAF接入域名:将ELB接入WAF的配置信息,请参见API文档创建创建云模式ELB接入模式域名 - CreatePremiumHost。
- 删除防护网站:不再需要WAF防护时,可删除防护网站。
生产环境配置建议
将ELB接入和取消接入WAF的过程对业务无影响。但用户仍需关注日志与监控,确保业务可用性。建议遵循以下建议:
- 灰度策略:建议优先在业务低峰期接入非生产环境的ELB,运行一段时间以确认业务正常后,再接入生产环境的ELB。
- 检查业务:接入完成后,您可以通过如下方式确认业务是否正常。
- 查看日志:查看日志中状态码200的占比是否有明显波动、QPS是否有明显突增突降等。可查询防护事件,进行检查。
- 业务监控:检查业务侧功能是否正常,例如用户访问、交易等功能。
- 规则优化:接入初期使用观察模式,排除误拦截后再开启拦截模式。
- 监控告警:
- 开启告警通知,及时了解防护网站被攻击次数、证书到期、防护规则到期信息。
- 设置“Web应用防火墙-防护域名”监控告警规则,关注防护域名的请求量、5XX返回码、基础防护次数、CC防护次数等信息。


