我们是一家软件公司,为客户提供托pipe服务。 我们在一个大的荷兰数据中心有一个VPS。 对于某些应用程序,我们需要一个SSL证书,我们想用密码保护的密钥文件进行encryption。
我们的VPS现在重新启动,然后由于任何更新,但这意味着我们的Apache不会立即启动,因为需要密码。 这导致停机,当然是一个真正的大问题。
我们可以将密码提供给我们的VPS数据中心,或者根据没有密码的密钥文件创build证书。 这两种解决scheme似乎都不是最好的解决scheme,因为它们损害了我们证书的安全性。 这个问题最好的解决scheme是什么?
无论发生什么,您都需要解密密钥文件才能使用它。 有几个选项。
我的第一个build议是问问自己,为什么你需要encryptionSSL证书,以及如果服务停止运行,例如 – 2小时,直到它被发现,这会对你的操作产生什么样的损失。 如果证书被破坏,那么你可能会遭受什么样的损失?需要多长时间才能纠正? 如果它本身比SSL证书本身花费更多,并且在违规事件发生时恢复的时间太长,那么保留encryption也许是正确的。
说实话,你不能吃你的蛋糕。 如果要encryptionSSL密钥,则需要花费非正常的重新启动和延迟操作。 如果你对它进行了encryption,但提供了一种自动解密的方法,那么它可能与将密钥解密放在首位一样无用,或者可能更危险。 如果你让你的VPS供应商承担责任,那么你只需将问题转移到他们身上,这可能要么花费你很多,给你你想要的保证,否则你将不得不接受VPS提供商当他们重新启动VPS时不符合您的期望。
我的build议是及时进行重新启动,并预先警告,我不认为向您的VPS提供商提供这个服务是不合理的。 那样的话,不应该有一个事情,至less不能放在一定的控制之下。
*使用SSLPassPhraseDialog的问题是一个类似的,更常见的和有问题的人犯 cron作业的错误。 也就是说,部署cronjob以root身份运行,然后使文件拥有运行非root(即FTP)用户的文件,这些用户可能会修改应用程序以升级权限。 如果你编写一个程序来吐出口令,就要确保文件不易读取,而且文件可以用除root以外的任何东西来修改(这包括确保其父目录不被其他人拥有)。