当 apache2 使用 mod_ssl 提供 https 并且使用“LogLevel debug”运行时,它会频繁记录如下行,然后是十六进制转储:
ssl_engine_io.c(1882): OpenSSL: read 518/518 bytes from BIO#81b3928 [mem: 81b93f5] (BIO dump follows)
十六进制转储不包含任何可在视觉上识别为纯文本的内容,即没有 HTTP 标头或类似内容,并且从一个会话到下一个会话没有明显的重复。
这些转储是否包含任何敏感信息,而对手无法通过嗅探我的网络流量获得这些信息?如果我只是在查看一堆密文,那没问题。但如果我在查看私钥、会话密钥或它们的任何前身(例如来自 RAND_bytes() 的数据),那么我需要对我的日志记录级别进行一些调整。
答案1
一些信息..
出于安全原因,从 2.0.46 版本开始,%r、%i 和 %o 中的不可打印字符和其他特殊字符使用 \xhh 序列进行转义,其中 hh 代表原始字节的十六进制表示形式。
在 2.0.46 之前的版本中,这些字符串没有进行转义,因此在处理原始日志文件时必须非常小心
更新: 我与一位 Apache 开发人员进行了交谈,他向我保证,十六进制 -> 在设计上是一种单向加密。因此,将其记录到磁盘可能只是浪费空间 :D
希望这可以帮助..