使用Postman工具模拟业务验证全局白名单规则
应用场景
当防护网站成功接入WAF后,您可以使用接口测试工具模拟用户发起各类HTTP(S)请求,以验证配置的WAF防护规则是否生效,即验证配置防护规则的防护效果。本实践以Postman工具为例,说明如何验证全局白名单规则。
应用示例
例如,您的业务部署在“/product”路径下,由于生态开发,针对参数ID存在用户提交脚本或富文本格式(Rich Text Format,RTF)文件的业务场景,为了确保业务正常运行,您需要对用户提交的内容进行误报屏蔽,以屏蔽误拦截的访问请求,提升WAF防护效果。
资源与成本规划
资源 |
资源说明 |
每月费用 |
---|---|---|
Web应用防火墙 |
云模式-标准版:
|
具体的计费方式及标准请参考计费说明。 |
步骤一:购买云模式标准版
以购买WAF云模式标准版为例进行介绍。
- 登录华为云管理控制台。
- 在控制台页面中选择 ,进入Web应用防火墙控制台。
- 在页面右上角,单击“购买WAF实例”,进入购买页面,“WAF模式”选择“云模式”。
- “区域”:根据防护业务的所在区域就近选择购买的WAF区域。
- “版本规格”:选择“标准版”。
- “扩展包”及“购买时长”:根据具体情况进行选择。
- 确认参数配置无误后,在页面右下角单击“立即购买”。
- 确认订单详情无误后,阅读并勾选《Web应用防火墙免责声明》,单击“去支付”,完成购买操作。
- 进入“付款”页面,选择付款方式进行付款。
步骤二:将网站信息添加到WAF
此处以云模式-CNAME接入为例进行介绍。
- 云模式-ELB接入方式请参见将网站接入WAF防护(云模式-ELB接入)。
- 独享模式接入方式请参见将网站接入WAF防护(独享模式)。
- 在左侧导航树中,选择“网站设置”,进入网站设置列表。
- 在网站列表的左上角,单击“添加防护网站”。
- 选择“云模式-CNAME接入”并单击“开始配置”。
- 根据界面提示,配置网站信息,如表2所示。
图1 基础信息配置
表2 重点参数说明 参数
参数说明
取值样例
防护域名
需要添加到WAF中防护的域名。
- 域名已完成备案
- 支持单域名(例如,一级域名example.com,二级域名www.example.com等)和泛域名(例如,*.example.com)。
www.example.com
防护端口
需要防护的域名对应的业务端口。
标准端口
服务器配置
网站服务器地址的配置。包括对外协议、源站协议、源站地址、源站端口和权重。
- 对外协议:客户端请求访问服务器的协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- 源站协议:Web应用防火墙转发客户端请求的协议类型。包括“HTTP”、“HTTPS”两种协议类型。
- 源站地址:客户端访问的网站服务器的公网IP地址(一般对应该域名在DNS服务商处配置的A记录)或者域名(一般对应该域名在DNS服务商处配置的CNAME)。
- 源站端口:WAF转发客户端请求到服务器的业务端口。
- 权重:负载均衡算法将按权重将请求分配给源站。
对外协议:HTTP
源站协议:HTTP
源站地址:IPv4 XXX .XXX.1.1
源站端口:80
是否使用七层代理
在WAF前是否使用了七层代理产品。
根据实际情况进行选择。
是
- 单击“下一步”,根据界面提示,完成WAF回源IP加白、本地验证和修改域名DNS解析设置的操作。
图2 添加域名完成
步骤三:使用Postman工具模拟业务验证全局白名单规则
- 确认“Web基础防护”为开启状态,且防护模式为“拦截”。同时,“常规检测”已开启。
有关配置Web基础防护的详细操作,请参见配置Web基础防护规则。
- 下载并安装Postman。
- 在Postman上设置请求路径为“/product”,参数ID为普通测试脚本,防护网站的访问请求被拦截。
- 处理误报事件。
- 在Postman上再次设置请求路径为“/product”,参数ID为普通测试脚本,防护网站的访问请求还是被拦截。
- 参照4,查看防护事件,处理命中“XSS攻击”的“110053”规则的误报防护事件。
图5 查看防护事件
图6 添加全局白名单规则
- 在Postman上第三次设置请求路径为“/product”,参数ID为普通测试脚本,防护网站的访问请求仍被拦截。
- 参照4,查看防护事件,处理命中“XSS攻击”的“110060”规则的误报防护事件。
图7 查看防护事件
图8 添加全局白名单规则
- 在Postman上第四次设置请求路径为“/product”,参数ID为普通测试脚本。此时,防护网站的访问请求不再被拦截,说明所有全局白名单规则都已生效。
同时,查看“防护事件”页面,防护事件列表也没有新增的XSS攻击防护事件。
- 在Postman上模拟攻击,验证设置的全局白名单规则不会影响WAF拦截其他参数的XSS攻击事件。
- 在Postman上设置请求路径为“/product”,参数item为普通测试脚本,防护网站的访问请求被拦截。
- 查看“防护事件”页面,WAF拦截参数item的XSS攻击事件。
图9 查看防护事件
- 在Postman上设置请求路径为“/product”,参数item为普通测试脚本,防护网站的访问请求被拦截。
- 在Postman上模拟攻击,验证设置的全局白名单规则不会影响WAF拦截其他路径的XSS攻击事件。
- 在Postman上设置请求路径为“/order”,参数ID为普通测试脚本,防护网站的访问请求被拦截。
- 查看“防护事件”页面,WAF拦截“URL”为“/order”、参数ID的XSS攻击事件。
图10 查看防护事件
- 在Postman上设置请求路径为“/order”,参数ID为普通测试脚本,防护网站的访问请求被拦截。