从ssl证书中删除密码是否是一种好习惯?


10

我现在读过几篇博客,其中一篇应该从SSL证书中删除密码,以避免在Apache重新启动期间出现密码提示。

这是真的吗,这会带来任何安全风险吗?


如果您真的很担心,这里有可用的硬件,您的私钥可以存储在USB设备上,并且永远都无法找回。但是,这在托管环境中实际上并不起作用。
Zoredache

为了避免混淆,我顺便指出,证书永远不会加密,这样做也没有任何意义。为了完成SSL握手,必须以纯文本格式将证书提供给要求它的任何人。证书只是第三方签名的公钥。它是私钥,它是公钥的非对称副本(能够解密加密为公钥的流量),可以加密存储并询问您的问题。
MadHatter

Answers:


22

是的,启动Web服务器时,它将停止将提示发送到终端。

是的,这确实带来了安全风险,因为在对证书进行加密之前,它现在是纯文本格式。这意味着有可能从机器上窃取完整的工作证书。

这是否对您构成重大的安全风险,取决于发生在您身上的后果以及从这种方式中获得的收益。

如果对您来说更重要的是,即使无人看管的服务也应该正常重启,而不是SSL系统的整体安全性,那么这是一个直接的答案。

就我个人而言,我发现保留SSL证书的解密副本总体上比对我的典型工作负载有弊,这就是原因。

  1. 即使证书已加密,攻击者仍将拥有该证书的副本,因此无论如何,您有责任吊销它。
  2. 如今,与通过窃取工作副本相比,攻击者通过社交工程为您的站点获取有效证书要容易得多。
  3. 证书自然会过期,从而使攻击面受到限制。
  4. 基于主机的安全系统(例如传统上的权限和SELinux)提供了一种保护平台上证书的强大方法。
  5. 证书不是安全系统的全部和全部。还有许多其他方面需要考虑,例如您存储的数据,存储数据的媒体以及数据的价值和/或个人性质。

可能使我加密的事情:

  1. 如果您使用证书执行相互身份验证。
  2. 这是通配符证书或承载多个域的证书(丢失的数量是两倍或三倍,或者可以使用多少个主机)
  3. 该证书以其他方式具有多种用途。
  4. 证书的目的是确保高价值数据(病历,财务交易等)的完整性。
  5. 另一端期望高度信任和/或依赖于系统的完整性来制定操作决策。

最终,不要依赖他人为您做出安全决策。您需要使用尽可能多的信息来权衡风险,并确定最适合您和您的机构的风险。


8

它提供了更多的安全性,但现实情况是,如果有人已经深入您的系统以访问您的私有SSL密钥,那么您可能会遇到更大的问题。

从实际的角度来看,您是否真的想在每次需要重新启动apache来输入密码时都在那里?

您可以做的一件事是,使密钥未密码在服务器上受到保护(并通过常规系统安全性对其进行保护),并使用密码将存储在其他地方的密钥备份。因此,如果某人能够从服务器以外的其他地方抓取密钥(很可能是某人的笔记本电脑在台式机上被盗),则它仍然受到保护。


0

用于登录的密码密钥应受密码保护。

如果希望基于SSL的服务在没有人工干预的情况下重新启动,则有两种选择:

  1. 密钥上没有密码,请加以保护,以便只有需要它的服务才能访问它。
  2. 将密码以纯文本或等效的纯文本形式存储在服务器上,以便需要密码的服务可以提供密码。(您可能会在安全性较差的配置文件中得到多个密码副本。)

密钥的备份副本应受密码保护并受到保护,就像它们不受密码保护一样。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.