Apache httpd 接收请求并响应但不记录活动

Apache httpd 接收请求并响应但不记录活动

我正在尝试调查一些访问我的 Apache Web 服务器的奇怪流量,但服务器根本没有记录这些流量。在服务器和互联网之间的防火墙上,我看到数据包来往于 Web 服务器之间。让我感到困惑的是,我搜索了每个 httpd 日志,却找不到传入请求。请求来自端口 80,我期望 Apache 收到该请求后会将请求转为 https(我设置了一个日志来记录此流量)。我通常还期望在特定虚拟主机的日志中看到它,但并不感到惊讶,因为第一个记录器没有显示任何内容。我注意到的另一件事是,所有传入请求都来自非常低的端口号(<500)。

答案1

除非您在 Apache httpd 中指定debug或级别trace[1-8]LogLevel指令,服务器将几乎专门记录 HTTP 协议请求(以及一些启动消息,当然还有错误),但不会记录较低级别的任何事情。

默认日志级别httpd 不会记录每个 TCP 连接(telnet 到端口 80 并在建立连接后关闭连接,则不会记录任何内容),默认情况下也不会记录 SSL/TLS 握手中的任何内容(通过SSL 实验室通常只会导致少量日志事件)等等。

在线服务器不断地被扫描/探测/攻击,所以除非这些探测实际上尝试使用 HTTP(即通常的嫌疑人,如请求GET /wp-login.php),否则 Apache httpd 很少会记录任何内容。

答案2

您的虚拟主机配置的这一部分有什么?

 # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        LogLevel info
        LogLevel info ssl:warn #(ssl.conf)


        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

查看这些是否已启用,然后尝试通过将info或更改warn为以下某个选项来强制提供更多信息详细级别

您使用的是哪个操作系统/发行版?服务器的防火墙能看到什么?

答案3

如果您需要在服务器上进行大量日志记录,则可以使用 mod_forensics,但不建议在生产服务器上使用。

相关内容