Web服务器出现正向代理日志的排查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web服务器出现正向代理日志的排查相关的知识,希望对你有一定的参考价值。

0x00 事件背景

  某天,应用管理员过来告知一件事情,服务器上出现了很多奇怪的日志。有访问taobao、qzone、163等各种各样的记录,可能是被挂马了。就此对这个事件进行了一些调查和学习。


0x01 正向代理和正常访问的日志对比

  搭建了一个环境,使用Apache作为Web Server,开始对浏览器设置代理与不设置代理的数据包和服务器日志进行查看。其中,192.12.53.101作为客户端,192.12.53.55作为Web Server。


  • 不设置浏览器代理

    这个情况下,一切都是正常的,用来作为对比。

技术分享


技术分享



  • 设置浏览器代理,服务器打开正向代理

  抓包可以看到,浏览器设置了代理的时候,GET后面不是单纯的路径,而是完整的http url。因此开启了反向代理的Web Server对其进行了代理,请求的页面,而并没有返回Web Server上自己的资源。


技术分享



  查看服务器上的日志,日志和抓包的情况一致。

技术分享

  

  但是如果GET的域名或者IP确实是服务器的域名或IP的时候,Web服务器会返回自己的资源,但也是通过服务器向自己再请求了一次HTTP请求来完成的。

  

技术分享

技术分享

技术分享

  从服务器日志来看,服务器记录了两条日志,一条是正向代理的日志,另一条是普通日志。从netstat来看建立了两个连接,一个是来自客户端的连接,一个是自己请求自己的连接。

  因此可以确认,请求正向代理服务器自己的HTTP资源时也需要自己代理自己请求并返回资源。


技术分享


  • 设置浏览器代理,但不打开服务器的正向代理

    这样的情况下,服务器虽然受到了正向代理的请求,但是会忽略GET请求中的域名,只截取路径在自己的资源中查找,并返回Web Server自己的资源。


技术分享

技术分享


技术分享

0x02 出现正向代理日志的原因推测

  根据排查,出现正向代理日志的服务器并没有打开正向代理功能,现象已经不再出现。向某牛人请教后,总结出以下几条出现异常正向代理日志的原因。

  • 服务器IP曾经是个Proxy,现在IP换了使用人,无法使用了,但仍有人使用这个Proxy(这种情况无从确认)

  • 服务器曾经被黑过,IP和端口也曾经被当成Proxy使用过(这种情况可以通过排查服务器过往的安全事件进行确认)

  • 用户端的DNS出现问题,错误解析到了这个IP(此情况不好确认,无法确认客户端使用的dns服务器IP)

  • Proxy扫描工具不完善,误将服务器IP纳入了Proxy地址库(此情况也不太好确认)

  • 服务器被黑了,并且在排查之前有人将Proxy配置还原,在需要时又打开(可以通过排查所有的访问日志来排查,只要没有出现正向代理日志的路径不属于Web Server具有的路径,但对应的响应码是20X即可)






以上是关于Web服务器出现正向代理日志的排查的主要内容,如果未能解决你的问题,请参考以下文章

Squid代理--经典缓存代理服务器(实现正向代理配置ACL各种访问控制日志分析)

SQUID传统正向代理

代理技术 | 重磅,代理服务器背后的故事(正向反向代理)

理解正向代理&反向代理

nginx正向代理的配置及实现

squid----正向代理