使用Postman工具模拟业务验证全局白名单规则
当防护网站成功接入WAF后,您可以使用接口测试工具模拟用户发起各类HTTP(S)请求,以验证配置的WAF防护规则是否生效,即验证配置防护规则的防护效果。本实践以Postman工具为例,说明如何验证全局白名单规则。
应用示例
例如,您的业务部署在“/product”路径下,由于生态开发,针对参数ID存在用户提交脚本或富文本格式(Rich Text Format,RTF)文件的业务场景,为了确保业务正常运行,您需要对用户提交的内容进行误报屏蔽,以屏蔽误拦截的访问请求,提升WAF防护效果。
前提条件
- 防护网站已成功接入WAF。
- 已开启“Web基础防护”,且防护模式为“拦截”。同时,“常规检测”已开启。
有关配置Web基础防护的详细操作,请参见配置Web基础防护规则。
操作步骤
- 下载并安装Postman。
- 在Postman上设置请求路径为“/product”,参数ID为普通测试脚本,防护网站的访问请求被拦截。
- 处理误报事件。
- 在Postman上再次设置请求路径为“/product”,参数ID为普通测试脚本,防护网站的访问请求还是被拦截。
- 参照步骤 3,查看防护事件,处理命中“XSS攻击”的“110053”规则的误报防护事件。
图3 查看防护事件
图4 添加全局白名单规则
- 在Postman上第三次设置请求路径为“/product”,参数ID为普通测试脚本,防护网站的访问请求仍被拦截。
- 参照步骤 3,查看防护事件,处理命中“XSS攻击”的“110060”规则的误报防护事件。
图5 查看防护事件
图6 添加全局白名单规则
- 在Postman上第四次设置请求路径为“/product”,参数ID为普通测试脚本。此时,防护网站的访问请求不再被拦截,说明所有全局白名单规则都已生效。
同时,查看“防护事件”页面,防护事件列表也没有新增的XSS攻击防护事件。
- 在Postman上模拟攻击,验证设置的全局白名单规则不会影响WAF拦截其他参数的XSS攻击事件。
- 在Postman上设置请求路径为“/product”,参数item为普通测试脚本,防护网站的访问请求被拦截。
- 查看“防护事件”页面,WAF拦截参数item的XSS攻击事件。
图7 查看防护事件
- 在Postman上设置请求路径为“/product”,参数item为普通测试脚本,防护网站的访问请求被拦截。
- 在Postman上模拟攻击,验证设置的全局白名单规则不会影响WAF拦截其他路径的XSS攻击事件。
- 在Postman上设置请求路径为“/order”,参数ID为普通测试脚本,防护网站的访问请求被拦截。
- 查看“防护事件”页面,WAF拦截“URL”为“/order”、参数ID的XSS攻击事件。
图8 查看防护事件
- 在Postman上设置请求路径为“/order”,参数ID为普通测试脚本,防护网站的访问请求被拦截。