我在access.log中遇到以下条目:
58.218.199.147 - - [05/Jun/2012:12:56:04 +1000] "GET http://proxyproxys.com/ HTTP/1.1" 200 183 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"
通常,当我在access.log中看到完整的URL条目时,我认为它是日志垃圾邮件,有人试图让我访问他们的网站。 这些条目通常跟着一个404响应。
上面的条目是200个“成功”的回应! 做一些search似乎这可能会发生时,有人试图使用您的服务器作为代理。 这更让我感到不安 – 尤其是因为这个url中有代理字。
去网站“proxyproxys.com”(使用hidemyass.com保护我自己的身份),网站返回似乎是某种“代理法官”
---------------------------------------- HTTP_ACCEPT=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_LANGUAGE=en-US,en;q=0.8 HTTP_USER_AGENT=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.53 Safari/536.5 HTTP_CONNECTION=close REMOTE_PORT=56355 REMOTE_HOST=74.63.112.142 REMOTE_ADDR=74.63.112.142 ---------------------------------------- CS_ProxyJudge Result=HIGH_ANONYMITY ----------------------------------------
问题:1)200的成功意味着有人能够成功地使用我的服务器作为代理? 2)是否有其他方式来确认我的服务器是否被用作代理服务器?3)如果存在安全漏洞,您可以向我推荐文档以帮助“closures”我的安全漏洞。
谢谢。
一个简单的方法来testing这是设置您的浏览器使用您的Web服务器作为其代理。 指向的任何域将执行或原始IP地址。 select端口80,如果它要求一个端口。
如果您仍然可以浏览网页,并且在访问日志中看到您的浏览,那么是的,您正在运行一个开放的代理。
这也发生在我身上,在apache的文档中发现了一些有趣的东西
我的服务器configuration得不正确,为什么Apache返回一个200(成功)状态码?
该状态码表示Apache成功向客户端发送了响应,但不一定是从外部网站获取响应。
RFC2616第5.1.2节要求Apache必须接受request-URI中绝对URL的请求,即使对于非代理请求也是如此。 这意味着,即使closures代理,Apache也会接受看起来像代理请求的请求。 但是,Apache不会从外国网站上检索内容,而是会在网站的相应位置提供内容。 由于主机名可能与您网站的名称不匹配,因此Apache将在您的默认主机上查找内容。
在上面的示例中,由于www.yahoo.com显然不是您系统上的有效虚拟主机,Apache将从您的默认(虚拟)主机提供主页内容。 可以将响应的大小(上例中的1456)与缺省站点上相应页面的大小进行比较,以确认响应是在本地提供的,不涉及任何代理。
由于这似乎是标准所要求的行为,我假设nginx正在做类似的事情。 在我的情况下,因为它返回我的主页,我认为这是“失败成功”,因此200代码。
响应请求的200次成功意味着您的Web服务器认为它已经提供了对给定请求的有效响应。 您看到的请求日志条目只是意味着有人与您的服务器build立HTTP连接,并请求(相对)url http://proxyproxys.com/
。
如果有人错误input了一个url,就会发生这种情况:例如,如果我浏览http://www.google.com/
并突然想要访问http://www.facebook.com
,则可能会忘记清除我的浏览器中的url栏,最终导航到http://www.google.com/http://www.facebook.com
。 Google会在日志中看到http://www.facebook.com
的GET
请求。 通常情况下,在这种情况下,你会提供一个404
错误,但是在你的configuration中可能会出现一些怪癖,意思是无论出于何种原因,都会返回200
。 最简单的事情就是自己testing一下,对自己的服务器。 导航到http://[your-domain]/http://proxyproxys.com
并查看访问日志中生成的内容。
我敢打赌,像nginx这样的典型networking服务器很难像通用的互联网代理那样工作,除非你专门configuration了一个脚本或者其他应用程序。 在你的问题中没有任何东西让我相信这是发生了什么,但值得留意可疑的脚本/进程/configuration的变化。 如果您有合理的证据怀疑您的服务器已被篡改,请将其脱机,擦除并从备份中恢复。