在我的日志中我不断收到很多:
"CONNECT XXX.XXX.XXX.XXX:443 HTTP/1.0" 404 218 "-" "-"
"CONNECT XXX.XXX.XXX.XXX:443 HTTP/1.0" 404 218 "-" "-"
...
"CONNECT XXX.XXX.XXX.XXX:443 HTTP/1.0" 404 218 "-" "-"
这是某些特定的漏洞吗?
答案1
HTTP CONNECT 用于隧道传输。Apache 通过使用mod_proxy_connect。
配置不当且支持 CONNECT 的代理可能存在安全漏洞,因此如果您不需要它,则应该禁用它。
如果未启用这些功能,我不确定 Apache 将如何响应 CONNECT 请求,但 404 似乎不太可能;我宁愿期待 405 或 501。因此,您应该检查您的配置。
答案2
这可能是僵尸网络病毒或脚本小子试图将您的服务器用作代理。具体来说,可能是有人远程登录到您的计算机,如下所示:
$ telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.
CONNECT google.ca 80
HTTP/1.1 400 Bad Request
Connection: close
Content-Type: text/html; charset=iso-8859-1
[more header data ... ]
<html ... />
您是否在该机器上运行邮件服务器?您是否有防火墙日志显示重复连接或尝试连接端口 25?
这两篇文章详细介绍了同一问题的两个故障排除案例:
综合起来,他们提供了几种修复方法(我将为后人进行总结,但您应该阅读整个帖子以了解背景信息):
- 使用以下方法限制 httpd.conf 中的 CONNECT
<Limit CONNECT>Deny from all</Limit>
mod_proxy
如果您不使用它,请禁用。
注意以下线条不返回404
/ 400
(特别是200
),因为这可能表示他们成功访问了某些资源,在自身并不一定令人不安。