从 lighttpd 提取 TLS 会话密钥

从 lighttpd 提取 TLS 会话密钥

是否可以从 Lighttpd 中提取 TLS 会话密钥,以便我们能够解密 tcpdump 捕获的流量?

或者,我们可以禁用 PFS,但我们不想这样做。

答案1

Lighttpd 并不支持开箱即用的功能。

斯蒂芬一位 lighttpd 的开发者建议查看以下答案:

从 openssl 应用程序中提取预主密钥

答案2

您可以在条目引用的文件中找到私钥ssl.pem文件在文件中/etc/lighttpd/lighttpd.conf

密钥位于证书之前的开始处。

解密问题已在这里得到解答:

当我有私钥时,如何使用数据包嗅探器解密 SSL 流量

Ssldump 应该能够做到这一点,但它似乎无人维护(在最新版本的源存档中,所有文件的最后修改日期都是 2002 年或之前),因此它很可能不支持较新的 SSL/TLS;实际上,2002 年的软件不可能处理 TLS 1.2(AES/GCM)中定义的新加密格式。TLS 1.1 于 2006 年发布,TLS 1.2 于 2008 年发布。

OpenSSL 是一个实现该协议的库,但不用于分析记录的会话。

使用 Wireshark 可能会有更好的机会,它有充足的文档说明如何使用它来解密记录的会话。

需要注意一个重要参数:只有当密钥交换类型为 RSA 或静态 DH 时,才能解密被动记录的会话(使用服务器私钥的副本);使用“DHE”和“ECDHE”密码套件,即使知道服务器私钥,您也无法解密此类会话。在这种情况下,您需要协商的“主密钥”,或者使用服务器私钥主动拦截连接(在中间人设置中)。

相关内容