在 Configuration Manager 中规划 PKI 证书

适用于: Configuration Manager(current branch)

Configuration Manager使用公钥基础结构 (基于 PKI) 的数字证书(如果可用)。 为了提高安全性,建议使用这些证书,但在大多数情况下不需要这样做。 需要独立于Configuration Manager部署和管理这些证书。

本文提供有关 Configuration Manager 中的 PKI 证书的信息,以帮助你规划实现。 有关在 Configuration Manager 中使用证书的更多常规信息,请参阅 Configuration Manager 中的证书

PKI 证书吊销

将 PKI 证书用于Configuration Manager时,请计划使用证书吊销列表 (CRL) 。 设备使用 CRL 验证连接计算机上的证书。 CRL 是 CA) (证书颁发机构创建和签名的文件。 其中包含 CA 已颁发但已吊销的证书列表。 证书管理员吊销证书时,其指纹将添加到 CRL。 例如,如果已颁发的证书已知或怀疑已泄露。

重要

由于 CRL 的位置会在 CA 颁发证书时添加到证书中,因此,在部署Configuration Manager使用的任何 PKI 证书之前,请确保先规划 CRL。

IIS 始终在 CRL 中检查客户端证书,你无法在 Configuration Manager 中更改此配置。 默认情况下,Configuration Manager客户端始终检查站点系统的 CRL。 通过指定站点属性和指定 CCMSetup 属性来禁用此设置。

使用证书吊销检查但找不到 CRL 的计算机的行为就像吊销了证书链中的所有证书一样。 此行为是因为他们无法验证证书是否在证书吊销列表中。 在此方案中,所有需要证书且包含 CRL 检查的连接都会失败。 验证 CRL 是否可通过浏览到其 HTTP 位置来访问时,请务必注意,Configuration Manager客户端作为 LOCAL SYSTEM 运行。 在用户上下文下使用 Web 浏览器测试 CRL 可访问性可能会成功,但在尝试与同一 CRL URL 建立 HTTP 连接时,可能会阻止计算机帐户。 例如,由于内部 Web 筛选解决方案(如代理)而阻止它。 将 CRL URL 添加到任何 Web 筛选解决方案的已批准列表。

每次使用证书时检查 CRL 可以针对使用已吊销的证书提供更高的安全性。 它确实会在客户端上引入连接延迟和更多处理。 你的组织可能需要为 Internet 上的客户端或不受信任的网络提供此安全检查。

在决定Configuration Manager客户端是否需要检查 CRL 之前,请咨询 PKI 管理员。 如果满足以下两个条件,请考虑在Configuration Manager中保持启用此选项:

  • PKI 基础结构支持 CRL,并且发布时,所有Configuration Manager客户端都可以找到它。 这些客户端可能包括 Internet 上的设备,以及不受信任的林中的设备。

  • 对于配置为使用 PKI 证书的站点系统的每个连接,检查 CRL 的要求大于以下要求:

    • 更快的连接
    • 客户端上的高效处理
    • 如果客户端找不到 CRL,则客户端无法连接到服务器的风险

PKI 受信任的根证书

如果 IIS 站点系统使用 PKI 客户端证书通过 HTTP 进行客户端身份验证,或者使用 HTTPS 进行客户端身份验证和加密,则可能需要将根 CA 证书导入为站点属性。 下面是两种方案:

  • 使用 Configuration Manager 部署操作系统,并且管理点仅接受 HTTPS 客户端连接。

  • 使用不链接到管理点信任的根证书的 PKI 客户端证书。

    注意

    从颁发用于管理点的服务器证书的同一 CA 层次结构颁发客户端 PKI 证书时,无需指定此根 CA 证书。 但是,如果使用多个 CA 层次结构,并且不确定它们是否相互信任,请为客户端的 CA 层次结构导入根 CA。

如果需要导入Configuration Manager的根 CA 证书,请从颁发 CA 或客户端计算机导出它们。 如果从颁发 CA(也是根 CA)导出证书,请不要导出私钥。 将导出的证书文件存储在安全位置,以防止篡改。 设置站点时,需要访问该文件。 如果通过网络访问文件,请确保使用 IPsec 防止通信被篡改。

如果导入的任何根 CA 证书已续订,请导入续订的证书。

这些导入的根 CA 证书和每个管理点的根 CA 证书创建证书颁发者列表。 Configuration Manager计算机通过以下方式使用此列表:

  • 当客户端连接到管理点时,管理点会验证客户端证书是否已链接到站点证书颁发者列表中的受信任的根证书。 否则,证书将被拒绝,并且 PKI 连接失败。

  • 当客户端选择 PKI 证书并具有证书颁发者列表时,会选择链接到证书颁发者列表中的受信任的根证书的证书。 如果没有匹配项,则客户端不会选择 PKI 证书。 有关详细信息,请参阅 PKI 客户端证书选择

PKI 客户端证书选择

如果 IIS 站点系统使用 PKI 客户端证书通过 HTTP 进行客户端身份验证或通过 HTTPS 进行客户端身份验证和加密,请规划 Windows 客户端如何选择要用于Configuration Manager的证书。

注意

某些设备不支持证书选择方法。 而是自动选择满足证书要求的第一个证书。 例如,macOS 计算机和移动设备上的客户端不支持证书选择方法。

在许多情况下,默认配置和行为就足够了。 Windows 计算机上的 Configuration Manager 客户端按以下顺序使用以下条件筛选多个证书:

  1. 证书颁发者列表:证书链接到管理点信任的根 CA。

  2. 证书位于 个人的默认证书存储中。

  3. 证书有效、未吊销且未过期。 有效性检查还会验证私钥是否可访问。

  4. 证书具有客户端身份验证功能。

  5. 证书“使用者名称”包含作为子字符串的本地计算机名称。

  6. 证书的有效期最长。

使用以下机制将客户端配置为使用证书颁发者列表:

如果客户端在首次安装时没有证书颁发者列表,并且尚未分配给站点,则会跳过此检查。 如果客户端确实具有证书颁发者列表,并且没有链接到证书颁发者列表中的受信任根证书的 PKI 证书,则证书选择失败。 客户端不会继续使用其他证书选择条件。

在大多数情况下,Configuration Manager客户端正确标识唯一且适当的 PKI 证书。 如果此行为不是这种情况,则可以设置两种备用选择方法,而不是基于客户端身份验证功能选择证书:

  • 客户端证书使用者名称上的部分字符串匹配项。 此方法不区分大小写。 如果在主题字段中使用计算机的完全限定域名 (FQDN) ,并且希望证书选择基于域后缀(例如 contoso.com),则适用。 可以使用此选择方法标识证书使用者名称中任何顺序字符的字符串,这些字符串将证书与客户端证书存储中的其他证书区分开来。

    注意

    不能将部分字符串匹配与使用者可选名称 (SAN) 用作站点设置。 虽然可以使用 CCMSetup 为 SAN 指定部分字符串匹配项,但在以下方案中,站点属性将覆盖它:

    • 客户端检索发布到 Active Directory 域服务 的网站信息。
    • 使用客户端请求安装来安装客户端。

    仅在手动安装客户端且客户端未从Active Directory 域服务检索站点信息时,才使用 SAN 中的部分字符串匹配项。 例如,这些条件适用于仅限 Internet 的客户端。

  • 客户端证书使用者名称属性值或使用者可选名称 (SAN) 属性值的匹配项。 此方法是区分大小写的匹配。 如果使用 X500 可分辨名称或等效对象标识符, (OID) 符合 RFC 3280,并且希望基于属性值选择证书,则适用。 只能指定唯一标识或验证证书以及证书存储区中其他证书所需的属性及其值。

下表显示了Configuration Manager支持的客户端证书选择条件的属性值:

OID 属性 可分辨名称属性 属性定义
0.9.2342.19200300.100.1.25 DC 域组件
1.2.840.113549.1.9.1 电子邮件或电子邮件 电子邮件地址
2.5.4.3 快递 之 家 公用名
2.5.4.4 使用者名称
2.5.4.5 SERIALNUMBER 序列号
2.5.4.6 C 国家/地区代码
2.5.4.7 L 地区
2.5.4.8 S 或 ST 省/市/自治区/直辖市/自治区/直辖
2.5.4.9 街道地址
2.5.4.10 O 组织名称
2.5.4.11 OU 部门
2.5.4.12 T 或标题 Title
2.5.4.42 G、GN 或 GivenName 给定名称
2.5.4.43 I 或首字母缩写 Initials
2.5.29.17 (无值) 使用者可选名称

注意

如果配置上述任一备用证书选择方法,则证书“使用者名称”不需要包含本地计算机名称。

如果在应用选择条件后找到多个适当的证书,则可以替代默认配置,以选择有效期最长的证书。 相反,可以指定不选择任何证书。 在这种情况下,客户端无法使用 PKI 证书与 IIS 站点系统通信。 客户端向其分配的回退状态点发送错误消息,以提醒你证书选择失败。 然后,可以更改或优化证书选择条件。

然后,客户端行为取决于失败的连接是通过 HTTPS 还是 HTTP:

  • 如果失败的连接通过 HTTPS:客户端尝试通过 HTTP 进行连接,并使用客户端自签名证书。

  • 如果失败的连接是通过 HTTP 进行的:客户端尝试使用自签名客户端证书再次通过 HTTP 进行连接。

为了帮助标识唯一的 PKI 客户端证书,还可以在计算机存储中指定自定义存储,而不是默认的 Personal。 在 Configuration Manager 外部创建自定义证书存储。 你需要能够将证书部署到此自定义存储,并在有效期到期之前续订证书。

有关详细信息,请参阅 配置客户端 PKI 证书的设置

PKI 证书的转换策略

Configuration Manager 中的灵活配置选项使你可以逐步转换客户端和站点,以使用 PKI 证书来帮助保护客户端终结点。 PKI 证书提供更好的安全性,并使你能够管理 Internet 客户端。

此计划首先引入 PKI 证书,以便仅通过 HTTP 进行身份验证,然后通过 HTTPS 进行身份验证和加密。 按照此计划逐步引入这些证书时,可以降低客户端变得不受管理的风险。 你还将受益于Configuration Manager支持的最高安全性。

由于 Configuration Manager 中的配置选项和选项很多,因此没有单一方法可以转换站点,以便所有客户端都使用 HTTPS 连接。 以下步骤提供一般指导:

  1. 安装Configuration Manager站点并对其进行配置,以便站点系统通过 HTTPS 和 HTTP 接受客户端连接。

  2. 在站点属性中配置 “通信安全性 ”选项卡。 将 “站点系统设置” 设置为 “HTTP”或“HTTPS ”,然后选择“ 使用 PKI 客户端证书 (客户端身份验证功能”) 可用。 有关详细信息,请参阅 配置客户端 PKI 证书的设置

  3. 为客户端证书试点 PKI 推出。 有关部署示例,请参阅 为 Windows 计算机部署客户端证书

  4. 使用客户端请求安装方法安装客户端。 有关详细信息,请参阅如何使用客户端推送安装Configuration Manager客户端

  5. 使用 Configuration Manager 控制台中的报告和信息监视客户端部署和状态。

  6. 通过查看“资产和符合性”工作区“”设备“节点中的”客户端证书“列来跟踪使用客户端 PKI 证书的客户端数。

    注意

    对于也具有 PKI 证书的客户端,Configuration Manager控制台将“客户端证书”属性显示为“自签名”。 客户端控制面板 “客户端证书 ”属性显示 PKI

    还可以将Configuration Manager HTTPS 就绪情况评估工具 (CMHttpsReadiness.exe) 部署到计算机。 然后,使用报表查看有多少台计算机可以使用具有Configuration Manager的客户端 PKI 证书。

    注意

    安装 Configuration Manager 客户端时,它会在 %windir%\CCM 文件夹中安装 CMHttpsReadiness.exe 工具。 运行此工具时,可以使用以下命令行选项:

    • /Store:<Certificate store name>:此选项与 CCMCERTSTORE client.msi 属性相同:/Issuers:<Case-sensitive issuer common name>此选项与 CCMCERTISSUERS client.msi 属性相同
    • /Criteria:<Selection criteria>:此选项与 CCMCERTSEL client.msi 属性相同
    • /SelectFirstCert:此选项与 CCMFIRSTCERT client.msi 属性相同

    该工具将信息输出到目录中的 CMHttpsReadiness.log CCM\Logs

    有关详细信息,请参阅 关于客户端安装属性

  7. 如果确信有足够的客户端成功使用其客户端 PKI 证书通过 HTTP 进行身份验证,请执行以下步骤:

    1. 将 PKI Web 服务器证书部署到运行站点的另一个管理点的成员服务器,并在 IIS 中配置该证书。 有关详细信息,请参阅 为运行 IIS 的站点系统部署 Web 服务器证书

    2. 在此服务器上安装管理点角色。 在 HTTPS 的管理点属性中配置客户端连接选项。

  8. 使用 HTTPS 监视并验证具有 PKI 证书的客户端是否使用新的管理点。 可以使用 IIS 日志记录或性能计数器进行验证。

  9. 重新配置其他站点系统角色以使用 HTTPS 客户端连接。 如果要管理 Internet 上的客户端,请确保站点系统具有 Internet FQDN。 配置单个管理点和分发点以接受来自 Internet 的客户端连接。

    重要

    在设置站点系统角色以接受来自 Internet 的连接之前,请查看基于 Internet 的客户端管理的规划信息和先决条件。 有关详细信息,请参阅 终结点之间的通信

  10. 为客户端和运行 IIS 的站点系统扩展 PKI 证书推出。 根据需要为 HTTPS 客户端连接和 Internet 连接设置站点系统角色。

  11. 为了获得最高安全性:如果确信所有客户端都使用客户端 PKI 证书进行身份验证和加密,请将站点属性更改为仅使用 HTTPS。

后续步骤