1. SCP后台查看日志,授权接口返回401
2. HCI查看apache的/sf/log/apache2/access.log日志没有这个接口请求, 查看waf日志发现有被access control的记录;初步怀疑是被waf拦截;
3. 继续抓包分析,可以确认SCP的授权请求报文确实是被waf拦截返回401
抓包:
1)管理口的443端口,这些报文是由waf处理
2)lo口的4430端口,这些报是由waf转发给apache处理
4. 尝试对waf进行debug日志调试(echo "debug 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15" | sfw-debugger > /fwlog/sfw_debugger_log1.txt 2>&1),可以明确看到waf返回401
5. 设置debug 9(日志会比较多),可以看出为啥返回401; 这个授权请求被判定为登录前请求,然后又不属于白名单url;所以waf返回401
6. 继续分析,发现正常情况下SCP下发的授权接口请求(/cgi-bin/webui_vls_client.cg)是会被当做登录前请求的; 判定方法:
1) 匹配url: /cgi-bin/webui_vls_client.cg
2) 判定当前报文的源IP是否和/cfs/acenter.json中的IP字段一致,如果一致的话就判定为登录请求,无需进行cookie认证;
查看客户环境的/cfs/acenter.json发现ip字段和报文中源IP不一致,所以判定为登录前请求;