我试图去调查一些奇怪的stream量击中我的Apache Web服务器,但stream量没有被logging在服务器上。 在位于服务器和互联网之间的防火墙上,我看到数据包进入和离开服务器。 我挠我脑袋的是,我已经搜查每一个httpd日志,我没有find传入的请求。 请求进入端口80,当Apache收到请求时,我希望发生的事情是将请求冲击到https(我有一个logging集来logging这个stream量)。 我通常也期望在特定的虚拟主机的日志中看到它,但并不感到惊讶,因为第一个logging器没有显示任何东西。 我注意到的另一件事是所有传入的请求都来自非常低的端口号(<500)。
除非你用LogLevel指令在Apache httpd中指定了debug或trace[1-8]级别,否则服务器几乎只会loggingHTTP协议请求(以及一些启动消息,当然还有错误),但是在低级别。
默认的LogLevel httpd不会logging每个TCP连接(telnet到端口80并在build立之后closures连接,并且不会logging任何内容),默认情况下,SSL / TLS握手没有任何logging(一个详尽的检查通过SSL实验室通常只会导致一些日志事件)等等。
在线服务器不断被扫描/探测/攻击,除非这些探测器实际上试图GET /wp-login.php HTTP(即通常的嫌疑犯,如GET /wp-login.php请求)很less,如果任何东西被Apache的httpdlogging。
你在虚拟主机configuration的这一部分有什么?
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, eg LogLevel info LogLevel info ssl:warn #(ssl.conf) ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined
查看是否启用了这些function,然后尝试通过更改info来强制更多的信息,或者warn更详细的级别之一 。
你使用哪种操作系统/发行版? 服务器的防火墙看到什么?
如果您需要在服务器上进行过多的日志logging,则可以使用mod_forensics,但不build议在生产服务器上使用。