这个服务器日志是否意味着我的服务器正在被用作代理?

这个服务器日志是否意味着我的服务器正在被用作代理?

我在 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 个“成功”响应!经过一番搜索,似乎当有人试图将您的服务器用作代理时,就会发生这种情况。这让我更加不安 - 尤其是因为有问题的 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) 如果有的话,您能否参考文档来帮助“弥补”我的安全漏洞。

谢谢。

答案1

测试此操作的一个简单方法是将浏览器设置为使用 Web 服务器作为代理。任何指向该服务器的域名或原始 IP 地址都可以。如果浏览器要求端口,请选择端口 80。

如果您仍然可以浏览网页,并且看到您的浏览记录出现在您的访问日志中,那么是的,您正在运行开放代理。

答案2

我也遇到过这种情况,在Apache 文档

我的服务器已正确配置为不使用代理,那么为什么 Apache 返回 200(成功)状态代码?

该状态代码表示 Apache 成功向客户端发送了响应,但不一定表示该响应是从外部网站检索到的。

RFC2616 第 5.1.2 节规定,Apache 必须接受请求 URI 中带有绝对 URL 的请求,即使对于非代理请求也是如此。这意味着即使关闭代理,Apache 也会接受看起来像代理请求的请求。但 Apache 不会从外部站点检索内容,而是会在您网站上的相应位置提供内容。由于主机名可能与您站点的名称不匹配,因此 Apache 会在您的默认主机上查找内容。

在上面的例子中,由于 www.yahoo.com 显然不是您系统上的有效虚拟主机,Apache 将从您的默认(虚拟)主机提供主页内容。可以将响应的大小(上例中为 1456)与默认站点上相应页面的大小进行比较,以确认响应是在本地提供的,并且没有涉及代理。

由于这似乎是标准所要求的行为,我假设 nginx 正在做类似的事情。就我而言,由于它返回了我的主页,我认为它“成功失败”,因此代码为 200。

答案3

对请求的成功响应为 200 仅表示您的网络服务器认为它已为给定的请求提供了有效响应。您看到的请求日志条目仅表示有人与您的服务器建立了 HTTP 连接并请求了 (相对) url http://proxyproxys.com/

如果有人输入了错误的网址,就会发生这种情况:例如,如果我正在浏览http://www.google.com/并突然想要转到http://www.facebook.com,我可能会忘记清除浏览器中的网址栏,最终导航到http://www.google.com/http://www.facebook.com。然后 Google 会在其日志中看到GET的请求http://www.facebook.com。通常,在这些情况下,您会给出404错误,但您的配置中可能存在怪癖,这意味着200无论出于何种原因,都会返回 。最简单的方法是自己针对自己的服务器进行测试。导航到http://[your-domain]/http://proxyproxys.com并查看访问日志中生成的内容。

我敢打赌,除非你专门配置脚本或其他应用程序来表现得像通用互联网代理,否则很难让像 nginx 这样的典型网络服务器表现得像通用互联网代理。你的问题中没有任何内容让我相信这就是发生的事情,但值得留意可疑的脚本/进程/配置更改。如果你有合理的证据怀疑你的服务器已被篡改,请将其脱机,擦除并从备份中恢复。

相关内容