博客与新闻

亚信互联 认为创建成功的安全网络形象应该容易且负担得起。在这里,您将找到我们的最新 SSL 新闻,行业文章和新闻稿。

创建自己的证书颁发机构服务器


创建自己的证书颁发机构服务器

创建自己的证书颁发机构服务器

我们来看一下创建自己的证书颁发机构服务器时可以使用的各种选项,以及每个选项的优缺点。

关于使用 SSL / TLS 证书保护站点和 / 或设备的安全,您有两种基本操作可供选择–支付证书颁发机构(CA)(例如 DigiCert 或 Sectigo)进行签名和颁发,或者您可以继续创建自己的证书颁发机构服务器并自己生成证书。最好的方法是什么?这完全取决于您的具体情况和需求。

如果要继续创建自己的证书颁发机构服务器,则必须在两种主要选择方式之间进行选择–您可以完全从头开始构建自己的证书颁发机构,或者可以使用第三方提供的托管 PKI 解决方案小贩。那么,它们各自的优缺点是什么?它们将如何影响您的业务?以及最常见的平台可供选择?

让我们将其散列出来。

为什么要运行自己的证书颁发机构服务器?

那么,您怎么知道创建自己的私有 CA 是可行的呢?如果您的网站是面向公众的(例如,假设这是一个电子商务网站),那么您很可能希望使用公共 CA 作为您的证书。这些证书由已建立的根证书签名,该证书的密钥包含在所有主要的 Web 浏览器和操作系统中。这样,访问者的机器将立即自动使用您站点的证书来信任您站点的证书,并且不会收到任何警告,例如以下警告:

由 Google Chrome 浏览器中不受信任的证书引起的安全警告。

另一方面,如果您是一个拥有自己的内部系统和设备的组织,这些内部系统和设备是外部世界专用的,那么创建自己的私有 CA 可以提供许多优势。您不必为每个设备和每个站点都购买证书,因为证书很快就会变得非常昂贵。

专用 CA 还是虚拟专用网络(VPN),内部 Wi-Fi 网络以及其他使用多因素身份验证的服务上的身份验证的理想选择。在这些情况下,私有证书非常有用–您可以自己发行和安装它们,而不必担心信任警告,因为外部用户不会尝试使用证书。只有已经在您的计算机上安装了受信任的根证书的内部用户才可以使用它们。

有了自己的专用 CA,您将可以完全控制以下各项:

  • 服务器硬件
  • 根证书和中间证书
  • 撤销机制(CRL 和 OCSP)
  • 政策规定
  • 颁发 / 管理证书的界面
  • 与系统集成

在某些情况下,创建自己的证书颁发机构服务器也具有安全优势。可以使用不是电子邮件地址或公共主机名 / IP 的通用名称来颁发专用证书。因此,例如,如果您想使用公共 SSL 在 IoT 设备上安装设备证书,则唯一的选择就是为该设备分配电子邮件地址。这不是很实用,并且增加了不必要的管理复杂性。

专用 CA 还使您可以完全控制发行和吊销。您知道除非您允许,否则没有人可以从您的 CA 获得证书。如果您改用公共 SSL 保护 IoT 网络,则组织外部的人将获得由同一 CA 颁发的证书,并且可能能够使用它们加入您的网络(取决于您的设置方式)。使用私有证书,您是唯一可以授予访问权限的人(也可以随时撤消它)。

建立自己的内部 CA 与托管私有 CA

从头开始建立自己的私有 CA 可以为您提供最高级别的自定义和控制,但是您还需要权衡取舍。从理论上讲,建立自己的私有 CA 并不是一件容易的事。但是,正确而全面地做到这一点-点全“ I”并越过所有“ T”-需要大量的时间和专业知识。这是一个资源密集型项目,因此是否要比采用托管第三方解决方案更好的选择这一问题必须在特定于组织的基础上进行分析。

绝大多数公司并不是天生就无法建立有效的企业范围内的 PKI 解决方案。通常,就人员和技术资源而言,还需要大量额外投资,因为组织还有其他更高优先级目标,即专注于开发新产品,提高制造能力,支持其销售队伍等。我希望对每种选择的优缺点有一个扎实的了解,以便您可以做出明智的,明智的决定,这对您的组织是最合适的。

人员

考虑从头开始构建自己的证书颁发机构服务器的成本时,通常会忽略人员。首先,您很可能需要其他具有 PKI 经验的人员来构建和管理私有 CA。不仅如此,还需要您现有的工程 / IT 团队的时间。他们还有其他责任,涉及安全性和基础架构,维护电子邮件服务器,无线系统,审核,渗透测试等。很有可能他们没有空闲时间来创建私有 CA,相反,它将使他们脱离其他优先级高的工作。

可扩展性

可伸缩性是构建自己的私有 CA 的人员所面临的另一个挑战。组织倾向于根据当今的需求来制作其 CA,然后最终发现他们提出的内容不足以满足他们的未来需求。例如,一家公司设置其内部 CA 来向设备颁发证书,以便可以将其通过 Wi-Fi 网络进行身份验证。然后,六个月后,他们意识到所有内部服务器都需要证书,并希望通过 API 自动颁发证书。突然,该项目的范围已扩展到创建 API,所需的资源比原先想象的还要多。没有内部 PKI 专业知识,很难准确预测最终产品的最终需求。

可伸缩性的挑战是托管解决方案通常具有优势的领域。预测未来绝非易事,但如果 PKI 不是您组织的专业知识(对大多数公司而言并非如此),则更难。这是可以采用托管 PKI 解决方案的原因之一,因为商业 CA 具有更好的视角–他们的过去经验有助于他们为未来几年及以后的时间做好准备和扩展。

成本

在计算内部 CA 的美元成本时,该数字将在很大程度上取决于范围和您的需求。我们建议按类别细分成本考虑因素,然后进行分析。无论您组织的细节如何,如果要从头开始创建 CA,则需要为以下各项进行预算:

  • 硬件,软件和许可证
  • PKI 人员
  • 员工培训
  • 证书政策和做法
  • 稽核
  • 漏洞测试

公司倾向于避开托管解决方案并决定构建自己的 CA 的最大原因是由于对托管 CA 解决方案的成本存在误解。对于大多数组织而言,他们之前使用商业 CA 的经验与为其网站购买 SSL 证书有关。因此,假设私人颁发的证书在每个证书的基础上将具有与其公共信任的 SSL 证书类似的成本。但是,通过托管 CA 颁发私人证书几乎始终是商业 CA 颁发的公共信任证书成本的一小部分。

总体而言,托管 CA 解决方案的总拥有成本更低,并且前期资本投资需求也大大降低。而且,如果您要进行 DIY 路线,则涉及的风险更大,因为缺少的一切将由您自己承担,只有您自己才能照顾好。切记长远考虑,对所有潜在成本有透彻的了解,然后再尝试。

能力

能力是另一个关于受管 CA 的误解的领域。组织认为他们将拥有有限的选择,并且将无法使用托管 CA 来完成与自行开发的私有 CA 相同的工作。以自动证书颁发为例。大多数托管的 CA 平台都具有 API 和其他工具,可用于自动证书管理,这意味着您的公司无需开发它们。

基本上,这取决于您有多少开发资源。如果您已经具备了可以说的才能和基础架构,请构建自己的 API,那么按此路线进行操作将为您提供最健壮和可自定义的工具。

如果没有 借助托管 CA,您将获得一个预先配置好的托管解决方案,以便为您提供开箱即用所需的一切。不利之处在于,与从头开始相比,灵活性和自定义性要差一些。话虽如此,可供选择的选项对于绝大多数客户来说应该足够了。  

托管解决方案还使您的工程和 IT 团队可以专注于公司最优先的项目。他们不是在设计专用 CA,而是已经由供应商完成了,并且管理托管 CA 所需的资源只是从头开始构建它所需要的一部分。

灵活性

最后,人们认为托管的 CA 解决方案会限制灵活性,并将用户限制在特定的证书配置文件中。但是,您不必局限于 CA / B Forum 批准的证书配置文件。许多供应商愿意创建自定义证书配置文件来满足您的需求。例如,DigiCert 可以提供非 SSL 证书配置文件,这些配置文件甚至不必为 X.509 类型。如果您有特殊要求,一定值得与供应商联系以了解他们所提供的产品-很有可能您不会失望的。

根据情况,托管 CA 还可以提供更好的设备支持。稍后我们将讨论,Microsoft CA 是用于创建自己的 CA 的最受欢迎的平台。虽然它可以通过 Active Directory 提供一些自动化功能,但您可能对使用的任何非 Windows 服务器或设备都不走运。托管 CA 通常包括一个可与您所有设备一起使用的 PKI 管理器。因此,不仅对于新的 CA 部署,而且对于补充现有的 Microsoft CA 实例,托管 CA 都有可能是最佳选择。

用于创建自己的证书颁发机构服务器的流行平台

如果您决定从头开始创建自己的证书颁发机构服务器是您组织的最佳选择,那么下一步就是确定要使用的平台。两种最广泛使用的工具是Microsoft CAOpenSSL

专用 CA 的最常见平台是MicrosoftCA。它是 Windows Server OS 的一部分。请注意,默认情况下未启用它,但必须通过在“添加 / 删除程序”的“其他 Windows 组件”部分中选择“证书服务”进行安装。Microsoft CA 与 Active Directory 集成,因此,如果您在组织中已经设置了该目录,则在配置 Microsoft CA 时将使事情变得更加容易。完成后,您就可以通过组策略向与域连接的设备颁发证书。您可以通过本教程阅读有关如何开始使用 Microsoft CA 的信息。

在 Windows 10 中配置 Microsoft CA 的新部署。

Microsoft CA 的缺点是部署它不是一件容易的事。尽管基本的设置步骤非常简单,但是正确地进行将需要大量时间。您将需要一个在 PKI 方面经验丰富的专门团队来处理实施,然后再进行管理。因此,尽管从技术上讲 Microsoft CA 是免费的(如我们所提到的,它已包含在 Microsoft Server 中),但是请不要忘记考虑其他人员和硬件的成本。

OpenSSL具有免费开放源代码的优势。这是一个加密库,其中包含用于生成和管理数字证书的命令行工具,您可以将其配置为充当证书颁发机构。您可以生成私钥,创建 CSR,安装证书并查看证书信息。本教程可以帮助您学习 OpenSSL 的基础知识,并开始生成和安装自己的私有证书。

用于创建自己的证书服务器的托管解决方案

现在,让我们看一些用于创建自己的证书服务器的最受欢迎的托管解决方案。Sectigo 和 DigiCert 都有自己的平台来创建和管理您的私有 CA。

DigiCert 企业 PKI 经理

DigiCert 的选项称为 Enterprise PKI Manager,旨在实现可伸缩性和简化的管理。有许多部署选项,包括:

  • 公有云
  • 私有云
  • 杂交种
  • 气隙
  • 国内和本地
  • DigiCert 托管

它允许 Active Directory 集成和自动注册,并能够在整个企业中快速发布大量证书。它还包括针对 VPN,Wi-Fi 网络,REST API,Adobe 和 Microsoft 之类的东西的预配置证书配置文件。您还可以通过一个仪表板管理所有证书类型,包括发行,安装和吊销。

在 DigiCert 的 Enterprise PKI Manager 中创建自动化任务。

Sectigo 私人 PKI

Secito Private PKI 与 DigiCert 的 PKI Manager 相似,因为它是一个托管平台,使您能够发布所有类型的私有证书,而不必部署和管理自己的单独服务器。与其他托管 CA 解决方案一样,与从头开始构建自己的 CA 相比,Sectigo Private PKI 需要的资源要少得多。它使用户可以通过经过验证的可伸缩基础结构来颁发,安装,续订和吊销证书。

Sectigo 的 Private PKI 证书管理器的仪表板视图。

Sectigo Private PKI 还可以与您已经设置并运行的任何现有内部 CA 一起使用。例如,如果您已经有 Microsoft CA 部署,则 Sectigo Private PKI 可以对其进行集成和扩充。它的两个主要好处是,它使您可以将证书颁发给非 Microsoft 设备和应用程序,并且它提供了一个功能强大的管理平台,该平台比现成的 Microsoft CA 更强大,更易于使用。

除此之外,您还将获得:

  • 带有安全存储的备份
  • 全面的安全政策
  • 专用 CA 硬件的安全设施
  • 中央密钥库
  • A 2第二冗余系统在紧急情况下
  • 审核以验证合规性

所有这些任务对于成功建立私有 CA 都是至关重要的,否则,要独自承担数十万美元的费用,更不用说还需要时间和人员要求。

托管还是内部?

正如我们所看到的,两条路线都有好处。如果您的组织对需要什么有清晰的想法,并且有预算和资源来完成它,那么从头开始创建自己的证书颁发机构服务器将为您提供最大程度的自定义和控制。但是,对于大多数公司而言,PKI 既不是主要重点,也不是核心竞争力。由于所需的专业知识,时间和金钱,托管 CA 解决方案通常是最好的选择。并且由于大多数可用的私有 PKI 平台的发展状况,一旦启动并运行了托管的私有 CA,您就不会在功能和特性方面做出重大牺牲。

上一篇:客户端身份验证证书 101:如何使用 PKI 身份验证简化访问 [2021年05月25日]

下一篇:由于 SSL 证书过期,Microsoft Exchange 管理员网关被拦截 [2021年05月26日]