SSL 证书 - 是否需要密码短语以及 apache 是如何知道它的?

信息安全 tls 密码
2021-08-30 13:23:39

我想为我的服务器生成一个证书签名请求,为此,我首先需要一个安全的私钥。当我使用 来创建私钥时openssl genrsa -des3 -out server.key 2048,系统会要求我提供密码。在做了一些研究之后,我发现没有密码是一个很高的安全风险,因为一旦我的私钥被泄露,黑客将能够解密使用我的密钥加密的所有内容。

我的问题是:我的服务器应该如何使用需要密码的私钥。由于它是无头的,因此我无法在服务器启动时输入密钥。Apache 将如何处理这个问题?


我不是在问如何删除密码(我知道怎么做),我对我的服务器如何处理它很感兴趣,不使用密码真的有很大的安全风险吗?我的意思是一旦网络服务器被入侵,安装木马不是更容易吗?

3个回答

如果您使用密码保护您的私钥,则 Apache 无法使用它,除非您在每次重新启动或重新启动时向 Apache 提供密码。并且由于将密码短语存储在文件系统中会破坏密码短语的要点,这意味着有某种方法可以从外部将密码短语传递给 Apache,每次重新启动或重新启动时。

有些人这样做,但它的不切实际意味着大多数人使用非加密私钥。

如果您的私钥未加密,那么它的保护来自于只有您的超级用户可以读取它的事实,因此在很大程度上依赖于系统的完整性以及它对特权升级等的敏感程度。

如果您的私钥被泄露,那么您可以去签名证书颁发机构并要求他们撤销证书。吊销不是灵丹妙药,但是有些系统不检查吊销,并且在吊销证书和检查有关吊销的信息之间存在典型的延迟。

一旦我的私钥被泄露,他们的黑客将能够解密使用我的密钥加密的所有内容。

这种情况是前向保密旨在防止的那种事情。在 TLS 中,如果双方都有必要的支持,则两个通信方可以协商启用前向保密的设置,这样在私钥被泄露的情况下,仍然无法解密过去的通信。

SSL 服务器测试可以检查前向保密是否在您的服务器上运行。

我的意思是一旦网络服务器被入侵,安装木马会不会更容易?

基本正确。一旦攻击者对您的服务器拥有足够的控制权,他们通常可以将您的加密证书换成廉价或免费的 SSL 证书,该证书仅确认您可以访问服务器(黑客确实如此)。浏览器通常不会区分任何有效 CA 签署的证书。

或者,他们可以简单地破坏您的 Apache 配置,充当反向代理,将流量转发到他们选择的任何地址。

在运行时加载加密 SSL 证书的服务器的主要好处是该证书不能被盗来执行中间人攻击。这主要与攻击者对服务器的控制有限的系统相关;足以窃取数据但不会覆盖资产和重新启动服务。

我不是在问如何删除密码(我知道怎么做),我对我的服务器如何处理它很感兴趣,不使用密码真的有很大的安全风险吗?我的意思是一旦网络服务器被入侵,安装木马不是更容易吗?

对此给予稍微不同的看法。询问某事是否存在重大安全风险的问题有点棘手。首先,让我们问这个问题,存储在网站上的信息是保密的吗?如果站点离线,是否存在更多安全风险?如果您在网站上有机密信息或通过网站旅行,那么不加密您的私钥将是一个高风险。但是,如果您没有机密信息并且更重要的是该站点始终处于运行状态,那么签署私钥可能会带来更大的安全风险,因为之前的海报提到这意味着您必须输入密码在 Apache 负载上。

有 3 个安全领域,一般来说,机密性、完整性和访问权,如果 C&I 是一个问题,您将签署证书,如果 A 是一个问题,您将签署证书。

当然,您总是可以通过拥有一个 Web 服务器场,甚至只是 vm 实例来吃蛋糕,然后通过 443 上的健康检查对它们进行负载平衡,这样流量就会重定向到正在运行的 Apache 服务器,而有人会注意进入私钥的密码,这只是需要钱,你拥有的越多你可以做的越多。