ADCS 中的默认通用名称命名方案是<DomainName>-<CAHostName>-CA. 对于非常小的和纯内部的场景可以工作,但是该方案至少公开了两个属性:内部 Active Directory 域名和主机名。此外,如果 CA 位于域控制器上,它可能会显示域控制器名称。例如,Contoso-DC1-CA会告诉内部域名是Contoso,CA 主机名是DC1。因此我们可以猜测该服务器也充当域控制器。在某些方面,这对于内部结构学习的攻击者来说是一个很好的开始。
此外,默认的专有名称后缀包含 CA 所在域的完整 X.500 路径。例如,DC=HQ, DC=Int, DC=Contoso, DC=com。在这里我们可以确定,Contoso 公司在 LDAP 树中至少有三个 AD 域:顶级域是Contoso(最有可能是组织名称),子域是Int(可能是内部)和子域是(可能是HQ总部)
然而,安全风险并没有那么危险,因为在许多情况下,以其他方式更容易检索这些(以及更多)信息。例如,调查客户证书、使用社会工程工具等。命名建议在灵活性方面发挥着重要作用。当 CA 坚持特定的域和主机名时,将很难将 CA 移动到其他地方(由于重组),并且 CA 名称信息会误导企业用户。最终,您将不得不停用 CA 服务器并将客户端移动到新位置的新 CA。
因此,建议构建您的 CA,因为它们不绑定到任何特定域。但是,应包括组织信息。
假设您正在 Contoso Pharmaceuticals 中实施 2 层 ADCS 并计划将其部署在hq.int.contoso.com和west.int.contoso.com域中,那么您可以为脱机根 CA 和联机颁发 CA 使用以下名称:
Root CA common name:
CN=Contoso Pharmaceuticals Root CA
OU=Security Division
O=Constoso Pharmaceuticals Ltd.
L=Philadelphia
S=PA
C=US
Issuing CA (headquarters) common name:
CN=Contoso Pharmaceuticals Class 3 Client CA
OU=Security Division
O=Constoso Pharmaceuticals Ltd.
L=Philadelphia
S=PA
C=US
Issuing CA (west branch) common name:
CN=Contoso Pharmaceuticals West Coast Class 2 Client CA
OU=Security Division
O=Constoso Pharmaceuticals Ltd.
L=San Francisco
S=CA
C=US
该方案不透露内部名称,也不与任何 Active Directory 域绑定,因此,在重组期间可以轻松地跨域和树甚至林执行 CA 服务器迁移。另一方面,它们提供了足够的信息来识别拥有这些 CA 的组织,并可能为用户提供一些关于 CA 位置的线索以选择最近的 CA。位置地址不是必需的(因为它们可以从公共资源中检索),但可能是法律要求的。至少,Organizational Unit必须在 DN 后缀中指定Organization和RDN 属性。Country
ADCS 命名很重要,但许多管理员忘记了命名很重要的另一件事:Authority Information Access证书CRL Distribution Points扩展。默认命名方案比默认 CA 名称显示更多信息(对潜在攻击者)。并且很难将 CA 迁移到具有默认 CDP 和 AIA 位置的其他地方。前段时间我写了一个指南,使用了 CDP/AIA URL 命名方案的最佳实践。这可能对您也有帮助:Designing CRL Distribution Points and Authority Information Access locations