![独立(在线)CA + 下属企业 CA 配置是否可以颁发有效的内联网 SSL 证书?](https://linux22.com/image/789621/%E7%8B%AC%E7%AB%8B%EF%BC%88%E5%9C%A8%E7%BA%BF%EF%BC%89CA%20%2B%20%E4%B8%8B%E5%B1%9E%E4%BC%81%E4%B8%9A%20CA%20%E9%85%8D%E7%BD%AE%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E9%A2%81%E5%8F%91%E6%9C%89%E6%95%88%E7%9A%84%E5%86%85%E8%81%94%E7%BD%91%20SSL%20%E8%AF%81%E4%B9%A6%EF%BC%9F.png)
问题纯粹是关于这个配置是否有能力的的颁发有效的内部网 SSL 证书(即面向内部站点的 SSL 证书),而不是任何其他含义或担忧。
(问题的重点不是安全性、可用性、连续性、灾难恢复或除颁发有效 SSL 证书的能力之外的任何其他影响或问题。)
上下文:继承了主 DC 具有 CS/CA 角色的 AD 设置,并且没有模板- 这意味着 CA 是“独立的”,而不是“企业”,通过以下方式确认certutil -getreg ca\catype
:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\<masked>AD01-CA\CAType:
CAType REG_DWORD = 3
ENUM_STANDALONE_ROOTCA -- 3
CertUtil: -getreg command completed successfully.
还有一个在“企业”辅助 DC 上运行的“从属”CA(尽管其“模板”功能不起作用:在其上使用 Web 注册时出现“未找到模板”错误)。
问题
这是配置(“独立”根 CA + “企业”从属 CA)有能力的为 vCenter、SolarWinds 等内部网站点颁发有效的 SSL 证书?
我问的原因是:
拥有很麻烦弄清楚如何为面向内部(内部网)的站点获取“受信任”的 SSL 设置,并且可以使用我能获得的任何帮助:
这可能与 CA 和 DC 的当前设置方式有关。
如果这是不是好的,我需要切换到“企业” CA,最简单的方法是什么?
PS 我同意它没有完全按照离线/在线 CA 和不在 DC 上运行的 CA 的规格进行配置 - 目前唯一的目标是能够向面向内部的站点和应用程序颁发良好的证书。
谢谢!
答案1
不可以在域控制器上运行任何证书服务。它们只能安装在成员服务器上。
原因有二:
- 如果 DC 上安装了证书服务,您将无法替换域控制器。根据最佳实践,DC 的替换方法是将新 DC 添加到网络,然后降级和停用旧 DC。您无法使用 CA 角色降级 DC。您必须先卸载 CA 角色,然后才能降级 DC。
- Microsoft 证书颁发机构是林范围的资源。在多域环境中,一个域中的管理员可能会影响他们没有权限的其他域。
答案2
正如其他人所说,不建议在域控制器上运行证书颁发机构,无论它是独立的还是企业的;此外,在域计算机上安装独立 CA 有什么意义(在 DC 上更是如此)?独立 CA 的全部意义不在于与 Active Directory 集成,它应该在未加入域的计算机上运行。
无论如何,回答您最初的问题:虽然企业 CA 会自动受到所有域成员的信任,但独立 CA 却不会;为了使用它的证书和/或下属 CA 颁发的证书,您需要每个人都信任其根证书。
这可以使用 GPO 或使用来完成certutil
;您可以在此处找到更多详细信息:将根 CA 和子 CA 证书发布到受信任的根证书存储区。
答案3
根据 Microsoft PKI 设计指南,实验室环境中应使用域控制器上的独立 CA。但这也取决于您组织的安全策略。
关于受信任的 SSL,您需要在设备上提供证书链。这可能是根 CA 证书,如果使用,则是中间 CA 证书。使用组策略,您可以将 CA 证书分发给客户端。
答案4
是的,它可以,即使它不遵循最佳安全强化实践,也是颁发 SSL 证书的有效设置。
- 请注意,问题与安全性或其他任何影响无关,也与这是否是生产环境中的有效设置无关。提出这个问题纯粹是为了解决浏览器不信任 CA 颁发的内联网 SSL 证书的问题。
- 除了 SSL 证书颁发之外的任何其他目的、关注点和含义(例如安全性、维护、配置更改等)均不在此涉及。
- 仅对于内部网 SSL 证书颁发而言,此配置似乎是有效的。(不确定是否值得重复 - 尽管在问题文本中重申了这一点,但现有的两个答案似乎对问题是什么感到困惑。)
- 是的,在 DC 上安装 CS/CA(证书服务/证书颁发机构)角色并不是最佳做法(如上所述这里)——但这与问题无关。
我这样相信的理由是:
- 没有迹象表明这是不是Microsoft 文档或其他地方的有效设置(它不是最佳实践,甚至“强烈建议不要”与这个问题的目的无关)
- 微软的警告,“切勿在生产环境中的域控制器上安装证书颁发机构“仅出现在一所有 Microsoft 文档的位置:在“基于实验室的 PKI”在他们的“配置并验证公钥基础设施 - 本地证书信任“。
- 事实上,它属于“基于实验室的 PKI”,而不是“部署企业认证机构”,这告诉我它可能只与“基于实验室的 PKI”相关,并且可能不是所有其他可能设置的严格指南。
- 在其他所有建议不要在 DC 上安装 CA 的地方(例如“证书颁发机构的其他角色“ - 这是其中的一部分”保护 PKI:保护 PKI 的技术控制“)——很明显不是这是一项硬性要求,但推荐从安全和维护方面。
附言
- 我远不是这方面的专家——这个答案完全基于阅读相关文档和对其他答案的评论总结,希望它能帮助其他处于类似情况的人。如果出现更好的答案,我会将其标记为这回答。
- 我问这个问题的原因是:这(“独立”根 CA + “下属”企业 CA)是否是无效配置,并且是 SSL 证书在我的环境中被标记为无效的原因?答案似乎是“不”:这不是我们的浏览器不信任 CA 颁发的 SSL 证书的原因 - 无论在 DC 上运行 CA 是多么不明智,这都是其他原因。继续... :)