如何配置 apache2 以使用由 Windows 管理的不可导出的 ssl 证书?

如何配置 apache2 以使用由 Windows 管理的不可导出的 ssl 证书?

在 Windows Server 2008 R2 上,我的 IT 管理员使用 Windows 证书管理工具安装了一个证书。该证书适用于 *.thedomain.com。出于安全原因,他将其设置为不可导出:我不应该能够拿到该证书。

这种配置允许我将证书与微软产品一起使用,但不允许证书消失。

问:有没有办法配置 Apache 2 以“Windows 方式”使用此证书?

答案1

Apache 使用 OpenSSL 来管理 SSL/TLS 安全以及管理证书,并且 OpenSSL 不使用 Windows 证书存储,因此没有简单的方法来实现您的请求。

因此,对于你的情况,更简单的解决方案是将 SSL 加密卸载到使用 Windows 商店的反向代理(你可以使用 IIS 和 ARR为此。这不是一件小事,但也不太复杂。

然而,我不确定从架构和安全的角度来看这是否是适当的解决方案。

您的管理员希望限制对链接到您的域通配符证书的私钥的访问,这很有道理。但是,按照他的方式安装它就没那么合理了:除非他没有授予您该服务器的管理员权限,否则如果您下定决心,您仍然能够从机器上恢复该证书数据。

因此,在我看来,最好的解决方案是让他在他控制的系统上设置一个专门用于执行 SSL 终止的单独系统(即启用 SSL 的反向 HTTP 代理)。然后,您可以将 Apache 服务器设置为简单的 HTTP 服务器,代理将负责加密。

如果您的要求或政策不允许代理和 Web 服务器之间进行明文网络通信,那么您可以为您的 apache 系统设置一个自签名 SSL 证书并让它反向信任您(实际上任何 x509 证书都可以:如果您有内部 CA,也可以使用它)。

这样,你就可以适当划分每个人的责任。

相关内容