在 Windows Server 2008 R2 上,我的 IT 管理员使用 Windows 证书管理工具安装了证书。该证书适用于 *.thedomain.com。出于安全原因,他将其设置为不可导出:我不应该将手放在证书上。
此配置将允许我将证书与 Microsoft 产品一起使用,但不能放弃证书。
问:有没有办法配置 Apache 2 以“Windows 方式”使用这个证书?
在 Windows Server 2008 R2 上,我的 IT 管理员使用 Windows 证书管理工具安装了证书。该证书适用于 *.thedomain.com。出于安全原因,他将其设置为不可导出:我不应该将手放在证书上。
此配置将允许我将证书与 Microsoft 产品一起使用,但不能放弃证书。
问:有没有办法配置 Apache 2 以“Windows 方式”使用这个证书?
Apache 使用 OpenSSL 来管理 SSL/TLS 安全性以及管理证书,而 OpenSSL 不使用 Windows 证书存储,因此没有简单的方法来实现您的请求。
因此,在您的情况下,更简单的解决方案是将 SSL 加密卸载到使用 Windows 存储的反向代理(您可以为此使用 IIS 和 ARR。这不是微不足道的,但也不是太复杂)。
但是,我不确定从架构和安全的角度来看,这是否是采用的正确解决方案。
您的管理员希望限制对链接到您的域通配符证书的私钥的访问是很有意义的。但是,按照他的方式安装它就没有多大意义了:除非他没有在该服务器上授予您任何管理员权限,否则如果您下定决心,您仍然可以从机器中恢复该证书数据它。
因此,从我的角度来看,最好的解决方案是让他设置一个单独的系统,专门用于在他控制的系统上执行 SSL 终止(即启用 SSL 的反向 HTTP 代理)。然后,您可以将 Apache 服务器设置为简单的 HTTP 服务器,代理将负责加密。
如果您的要求或策略不允许您的代理和 Web 服务器之间的明文网络流量,那么您可以为您的 apache 系统设置一个自签名 SSL 证书并反向信任它(实际上任何 x509 证书都可以:如果您有一个内部 CA,它也可以使用)。
这样,您就可以正确隔离每个人的职责。