一、概述
在日常使用阿里云Web应用防火墙的用户中,会出现一些对WAF上域名发起http请求时被流量劫持的情况,通过对这些问题案例的梳理,总结了相关方案供大家参考。
二、案例
2.1 案例一
2.1.1 问题背景
某教育门户网站使用海外WAF进行日常web攻击及安全扫描的防护,反馈海外用户无法访问相关二级子域名,国内用户访问无异常。
2.1.2 处理过程
首先通过网站测试工具进行网站可用性检查(例如云监控、17ce、听云等),测试结果与用户反馈一致,海外测试点无法打开网站http首页,再通过海外测试机器进行curl检查,http请求无响应内容,https可以正常访问,于是定位为海外地区发生了http请求的流量劫持。
2.1.3 问题处理
由于用户的流量劫持情况在大部分海外区域都有出现,初步怀疑劫持发生在近WAF节点的运营商路由侧,同时WAF支持域名开启独享IP功能(独享IP功能参考:https://help.aliyun.com/document_detail/57344.html?spm=5176.10695662.1996646101.searchclickresult.4ffc40e3v409Cy),通过开启域名的独享IP后相当于域名流量发生了路由变动,从而有可能规避发生劫持情况的路由节点,与用户同步相关方案并被采纳,用户开启独享IP后问题收敛。
2.2 案例二
2.2.1 问题背景
某信息资讯类网站使用海外WAF进行网站防护,反馈从国内部分区域访问网站会跳转到非法博彩网站,海外访问没有异常。
2.2.2 处理过程
通过测试发现网站的http请求会被强制跳转到其他博彩网站,直接发起https请求能正常显示网站;同时开启WAF的独享IP功能只能在短时间内问题收敛,分析该用户的流量劫持发生在国际出口处。
2.2.3 问题处理
由于更换IP无法根本解决用户该问题,建议用户使用WAF的https强制跳转功能(即HSTS)见图1,通过开启HSTS来强制客户端在第一次成功访问网站后都使用https的方式,但是在第一次使用http来访问网站时仍有可能发生劫持风险,因此可以使用HSTS preload list来进行规避;HSTS preload list是浏览器预置的一个域名列表,只要是在这个列表里的域名,浏览器都只使用HTTPS发起连接,可以通过其官网进行申请。
图一
三、结束语
本期介绍的两个案例均与http流量劫持有关,虽然场景上有所不同,但通过WAF产品自身的独享IP和https强制跳转(HSTS)能够比较好的解决此类问题。
在遇到紧急问题时,您可以及时联系WAF产品技术支持进行协助:https://help.aliyun.com/knowledge_detail/42193.html?spm=a2c4g.11186631.2.10.76f64a58lWsQXD。