基于wireshark 分析waf 响应处理慢的问题
主要是记录下当时对于出现问题的一个解决思路
问题
因为安全需要,一部分业务需要集成到waf 中,原有业务包含了一个nginx 做为流量入口,在加入waf 之后同时修改本地host 发现从waf 的请求是时快时慢
而且大部分时间都是很慢的,但是通过nginx 的一直很快(本来就是一直没有问题)
业务参考图
解决方法
waf 是三方系统的,然后安全人员通过tcpdump 抓取了请求(从waf 节点抓取),从日志可以看出请求就是很慢,大概也分析了30多分钟还没有头绪
(主要是有一些website 并不是很慢),waf 是新搭建的,当前测试也就接入了两个系统,一个还行,就是从nginx 入口的有点太慢,后边习惯性的使
用wireshark 的专家信息页面看了下,发现包含了不少的dns 请求,而且都很慢,然后让安全人员检查下主机dns resolver 的配置,发现dns 的确是有一些
问题,调整为正常的dns 之后发现请求相对快了,但是还不是很理想,在重启了waf 节点之后服务正常
一些说明
通过以前大致的了解,waf 应该也是基于nginx 的,一般nginx 都是配置resolver的,waf 在处理流量的时候应该是使用了动态解析,当dns 出现的问题的时候
影响就比较大了,实际上基于wireshark 进行问题分析,专家信息是一个很不错的解决问题的方法,而且也是推荐首先看看此数据的,一般可以加快问题的
解决
参考资料
https://www.wireshark.org/docs/wsug_html_chunked/ChAdvExpert.html
https://nginx.org/en/docs/http/ngx_http_core_module.html#resolver