分发 SSL 证书?

信息安全 tls 证书 证书颁发机构
2021-08-13 19:36:01

我只在一个简单的用例中熟悉 SSL 证书:我已经将它们安装到网站、Windows 服务器和一些 Linux 服务器上。

我现在面临的任务是使用 SSL 证书保护我们国际网络中所有可能的设备。我从 Comodo 购买了通配符 *.mydomain.com 证书,这样我就可以在任何地方使用相同的证书,但我仍然面临着将证书安装到许多 Windows 服务器、apache 服务器、各种风格的 Linux 服务器的艰巨任务、专有操作系统、台式机,甚至打印机。

这项任务最令人生畏的是,我需要一次又一次地执行此任务——每次 SSL 证书到期时。我知道我可以购买 5 年期的证书,但即便如此,我也不想重复这样的麻烦。

是否可以让一个系统(如 Windows 域服务器)充当证书服务器,然后将证书加载到其他所有设备上,该证书“指向”证书服务器进行验证?我的想法是我只需要在一个中心位置更新证书,然后指向该服务器的所有其他设备将自动成为最新的。我已经注意到存在诸如“中间 CA”、“证书链”和“本地 CA 机构”之类的概念,但我不确定是否可以利用这些概念来帮助我分发来自大型机构的证书——将网络命名为 CA...

3个回答

为了执行此任务,您通常不依赖于单个证书,而是依赖于内部证书颁发机构。

您首先设置自己的离线根 CA,然后立即使用由您的私有根签名的密钥设置至少一个(通常更多)中间证书颁发机构(如果您使用的是 Windows AD 基础架构,则可以使用 Windows 设置这些 ICA证书服务服务器,然后集成在您的 AD 中)。

一旦正确部署(这不是一项简单的任务),您就可以非常轻松地为您的服务器生成和更新证书。

这种策略的弱点是它通常只在内部起作用:外部系统不会将您的根识别为有效。解决此问题的典型方法是使用放置在您外围的反向代理服务器,该服务器将向外部客户端提供由公共根签名的证书并连接到内部系统。由于这些代理应该安装了您的私有根,它们将能够验证您的连接。

请注意,这是对策略的非常高级的描述:在全球范围内安全地实施它并不容易,应该非常小心地完成。

该问题建议使用证书服务器将新证书加载到有问题的其他服务器上。

然而,该问题暗示需要确定证书何时到期。例如,CA DigiCert 提供了一个证书检查器工具,该工具似乎可以自动执行其中一些任务。请参阅此链接 https://www.digicert.com/cert-inspector.htm

我从 Comodo 购买了通配符 *.mydomain.com 证书

因此,如果任何机器遭到入侵,您需要撤销现有证书,购买新证书并将其部署到所有主机?

您没有提供有关端点数量和申请证书所涉及的工作的详细信息。此外,频率将取决于外部因素,但如果它有多个端点,则运行您自己的 CA 的成本和精力会更少。

请注意,如果您拥有来自“知名 CA”的证书签名证书,您可以获得相同的结果 - 但您甚至不想问他们会为此收取多少费用。

是否可以让一个系统(如 Windows 域服务器)充当证书服务器,然后将证书加载到其他所有设备上,该证书“指向”证书服务器进行验证?

是的。我相信 Active Directory 会为某些 MSWindows 服务(RDP、IIS、AD)执行此操作。

有很多编排工具可用于部署证书。18 年前,我在 Linux 上进行了配置,涵盖了 Linux、MSWindows、HPUX 服务器、MSWindows 台式机和现场笔记本电脑。然后我必须自己构建大部分集成。