在部署 ADCS 时,Microsoft 在文档中建议对组成 ADCS 的服务使用服务帐户。问题是它没有解决这些服务是否应该单独管理、它们是否可以共享主机的问题,也没有解决由于涉及 Kerberos 委派而失去远程服务器管理器访问权限的问题。
我之前学会了如何解决这个问题,因为当动态功能评估*已部署:服务帐户窃取了计算机的控制权,但是,你可能知道,只需向机器帐户添加 Active Directory 别名 (CNAME) 即可恢复它。例如;
…如果 CA 被称为 LOCKSMITH…
netdom computername locksmith /add:ceslocksmith.domain.tld
netdom computername locksmith /add:ceplocksmith.domain.tld
netdom computername locksmith /add:nedeslocksmith.domain.tld
…甚至可能是子域名;(我从未尝试过这个想法)
netdom computername locksmith /add:ces.locksmith.domain.tld
…
所以我想知道,如果我为 ADCS 可能使用的每个服务账户(CES、CEP、NDES)添加了别名,我可以按照建议在同一台机器上运行每个别名——这可能违反了最佳实践,但你知道— 除了我在一些论坛类型的地方发现了这个东西,上面说CES 的多个实例(我假设在农场里)都应该运行同一服务帐号。没有提及其他服务。但它们是否也应该共享同一个服务帐户,还是单独服务都可以绑定到单身的企业 CA每个都在自己的服务帐户下运行?
谢谢。
*:实际上,ADFS 的情况更糟,因为多年来,文档错误地指示使用错误的 Kerberos
service/PRINCIPAL
。它指示host
,而不是服务http
。将控制权交给http最多只能将您锁定在远程管理/PowerShell 远程控制之外,但将主机控制权交给机器的帐户会使其脱离域。更糟糕的是,这种情况被逐字重复最有价值球员以及其他人在其自己的博客中。
答案1
考虑到时间延迟并且没有完整的答案,现在这可能已经无关紧要了,但我们开始吧:
NDES 连接器(用于 SCEP)不应安装在颁发 CA 服务器上,因此这意味着这不在考虑范围内。它应该作为自己的服务帐户运行,并在 CA 上委派适当的“颁发证书”权限以及其他要求,文档。
对于 CES/CEP,您只需根据需要安装它们 - 例如跨域或非域加入的机器/外部用户证书注册。就我个人而言,如果它们不在 CA 服务器上,我会更高兴,但你能将它们部署在那里。默认情况下,它们使用应用程序池标识作为 Web 服务,但您可以(并且应该)将其更改为域用户帐户。另请注意,您可以使用 (g)MSA 来运行服务。本文档相当古老,但仍然是最完整的。
文档指出,如果您在 CA 上安装 CES/CEP,可能会遇到以下问题。这就是为什么我个人会在其他地方运行这些服务,如果它们是必需的。
如果其他 Kerberos 身份验证的 http/https 服务与配置为 Kerberos 身份验证的证书注册策略 Web 服务或证书注册 Web 服务在同一主机上运行,则可能会因 SPN 冲突而导致注册失败。解决方法是将所有服务配置为以同一用户帐户运行
最后,目前尚不清楚您可能遵循哪些文档或部署哪个版本的 ADCS,但请记住保护 CA 服务器免受 NTLM 中继攻击,KB5005413理想情况下,这意味着在域控制器上禁用 NTLM 身份验证(在大多数企业环境中相当困难),或者在每个 CS 服务器(即 CA 或 CES 服务器)上禁用 NTLM 身份验证。最小的解决方法是要求 https 并在注册 Web 服务上配置身份验证扩展保护 (EPA)。