加密控制技术参考

适用于: Configuration Manager(current branch)

Configuration Manager使用签名和加密来帮助保护Configuration Manager层次结构中的设备的管理。 使用签名时,如果在传输过程中更改了数据,则会丢弃数据。 加密有助于防止攻击者使用网络协议分析器读取数据。

Configuration Manager用于签名的主要哈希算法是 SHA-256。 当两个Configuration Manager站点相互通信时,它们使用 SHA-256 签署通信。

从版本 2107 开始,Configuration Manager使用的主要加密算法是 AES-256。 加密主要发生在以下两个方面:

  • 如果使站点能够 使用加密,则客户端会加密其清单数据和发送到管理点的状态消息。

  • 当客户端下载机密策略时,管理点始终加密这些策略。 例如,包含密码的 OS 部署任务序列。

对于版本 2103 及更早版本的客户端,主要加密算法为 3DES

注意

如果配置 HTTPS 通信,这些消息将加密两次。 使用 AES 加密消息,然后使用 AES 加密 HTTPS 传输。

通过 HTTPS 使用客户端通信时, (PKI) 配置公钥基础结构,以使用具有最大哈希算法和密钥长度的证书。 使用 CNG v3 证书时,Configuration Manager客户端仅支持使用 RSA 加密算法的证书。 有关详细信息,请参阅 PKI 证书要求CNG v3 证书概述

为了保证传输安全性,使用 TLS 的任何内容都支持 AES。 此支持包括为 增强型 HTTP 或 HTTPS 配置站点时。 对于本地站点系统,可以控制 TLS 密码套件。 对于基于云的角色(例如云管理网关 (CMG) ),如果启用 TLS 1.2,Configuration Manager配置密码套件。

对于大多数使用基于 Windows 的操作系统的加密操作,Configuration Manager从 Windows CryptoAPI 库 rsaenh.dll 使用这些算法。

有关特定功能的详细信息,请参阅 站点操作

站点操作

Configuration Manager中的信息可以进行签名和加密。 它支持具有或不使用 PKI 证书的这些操作。

策略签名和加密

站点使用其自签名证书对客户端策略分配进行签名。 此行为有助于防止安全风险泄露的管理点发送篡改的策略。 如果使用 基于 Internet 的客户端管理,则此行为非常重要,因为它需要面向 Internet 的管理点。

从版本 2107 开始,当策略包含敏感数据时,管理点使用 AES-256 对其进行加密。 在版本 2103 及更早版本中,它使用 3DES。 包含敏感数据的策略仅发送到授权客户端。 站点不加密没有敏感数据的策略。

当客户端存储策略时,它会使用 Windows 数据保护应用程序编程接口 (DPAPI) 加密策略。

策略哈希

当客户端请求策略时,它首先获取策略分配。 然后,它知道哪些策略适用于它,并且只能请求这些策略机构。 每个策略分配都包含相应策略正文的计算哈希。 客户端下载适用的策略正文,然后计算每个策略正文的哈希。 如果策略正文上的哈希与策略分配中的哈希不匹配,则客户端将放弃策略正文。

策略的哈希算法为 SHA-256

内容哈希

站点服务器上的分发管理器服务对所有包的内容文件进行哈希处理。 策略提供程序在软件分发策略中包含 哈希。 当Configuration Manager客户端下载内容时,客户端在本地重新生成哈希,并将其与策略中提供的哈希进行比较。 如果哈希匹配,则不会更改内容,客户端会安装它。 如果更改了内容的单个字节,则哈希不匹配,并且客户端不会安装软件。 此检查有助于确保安装正确的软件,因为实际内容与策略进行比较。

内容的默认哈希算法为 SHA-256

并非所有设备都可以支持内容哈希。 例外包括:

  • 流式传输 App-V 内容时的 Windows 客户端。

  • Windows Mobile 客户端,但这些客户端验证由受信任的源签名的应用程序的签名。

清单签名和加密

当客户端将硬件或软件清单发送到管理点时,它始终对清单进行签名。 客户端是否通过 HTTP 或 HTTPS 与管理点通信并不重要。 如果他们使用 HTTP,还可以选择加密此数据,这是推荐的。

状态迁移加密

当任务序列从客户端捕获用于 OS 部署的数据时,它始终加密数据。 在版本 2103 及更高版本中,任务序列使用 AES-256 加密算法运行用户状态迁移工具 (USMT) 。 在版本 2010 及更早版本中,它使用 3DES

多播包加密

对于每个 OS 部署包,可以在使用多播时启用加密。 此加密使用 AES 算法。 如果启用加密,则不需要其他证书配置。 启用多播的分发点自动生成对称密钥来加密包。 每个包都有一个不同的加密密钥。 使用标准 Windows API 将密钥存储在启用了多播的分发点上。

当客户端连接到多播会话时,密钥交换通过加密通道进行。 如果客户端使用 HTTPS,则使用 PKI 颁发的客户端身份验证证书。 如果客户端使用 HTTP,则使用自签名证书。 客户端仅在多播会话期间将加密密钥存储在内存中。

OS 部署媒体的加密

使用媒体部署操作系统时,应始终指定密码来保护媒体。 使用密码,任务序列环境变量使用 AES-128 进行加密。 媒体上的其他数据(包括应用程序的包和内容)未加密。

基于云的内容的加密

启用云管理网关 (CMG) 来存储内容时,内容使用 AES-256 进行加密。 每当更新内容时,内容都将被加密。 当客户端下载内容时,会通过 HTTPS 连接对其进行加密和保护。

登录软件更新

所有软件更新必须由受信任的发布者签名,以防止篡改。 在客户端计算机上,Windows 更新代理 (WUA) 扫描目录中的更新。 如果无法在本地计算机上的受信任发布服务器存储中找到数字证书,则它不会安装更新。

使用 System Center 汇报 Publisher 发布软件更新时,软件更新由数字证书签名。 可以指定 PKI 证书或配置 汇报 Publisher 以生成自签名证书来对软件更新进行签名。 如果使用自签名证书发布更新目录(如 WSUS 发布者自签名),则证书还必须位于本地计算机上的受信任的根证书颁发机构证书存储中。 WUA 还会检查是否在本地计算机上启用了 “允许来自 Intranet Microsoft 更新服务位置的已签名内容 ”组策略设置。 必须启用此策略设置,WUA 才能扫描使用 System Center 汇报 Publisher 创建和发布的更新。

符合性设置的已签名配置数据

导入配置数据时,Configuration Manager验证文件的数字签名。 如果文件未签名,或者签名检查失败,控制台会警告你继续导入。 仅当显式信任发布者和文件的完整性时,才导入配置数据。

客户端通知的加密和哈希

如果使用客户端通知,则所有通信都使用 TLS 以及服务器和客户端可以协商的最高算法。 例如,所有受支持的 Windows OS 版本都可以至少使用 AES-128 加密。 对使用 SHA-2 的客户端通知期间传输的数据包进行哈希处理时,会发生相同的协商。

证书

有关可供Configuration Manager使用的公钥基础结构 (PKI) 证书的列表、任何特殊要求或限制以及证书的使用方式,请参阅 PKI 证书要求。 此列表包括支持的哈希算法和密钥长度。 大多数证书支持 SHA-2562048 位密钥长度。

使用证书的大多数Configuration Manager操作也支持 v3 证书。 有关详细信息,请参阅 CNG v3 证书概述

注意

Configuration Manager使用的所有证书都必须在使用者名称或使用者可选名称中仅包含单字节字符。

对于以下情况,Configuration Manager需要 PKI 证书:

  • 在 Internet 上管理Configuration Manager客户端时

  • 在移动设备上管理Configuration Manager客户端时

  • 管理 macOS 计算机时

  • 使用云管理网关 (CMG)

对于大多数需要证书进行身份验证、签名或加密的其他通信,Configuration Manager自动使用 PKI 证书(如果可用)。 如果它们不可用,Configuration Manager会生成自签名证书。

Configuration Manager在使用Exchange Server连接器管理移动设备时不使用 PKI 证书。

移动设备管理和 PKI 证书

如果移动设备未被移动运营商锁定,可以使用 Configuration Manager 来请求和安装客户端证书。 此证书在移动设备上的客户端与Configuration Manager站点系统之间提供相互身份验证。 如果移动设备已锁定,则无法使用Configuration Manager部署证书。

如果为移动设备启用硬件清单,Configuration Manager还会列出移动设备上安装的证书清单。

OS 部署和 PKI 证书

使用 Configuration Manager 部署操作系统,并且管理点需要 HTTPS 客户端连接时,客户端需要证书才能与管理点通信。 即使客户端处于过渡阶段(例如从任务序列媒体或启用了 PXE 的分发点启动),此要求也是如此。 若要支持此方案,请创建 PKI 客户端身份验证证书,并使用私钥将其导出。 然后将其导入站点服务器属性,并添加管理点的受信任根 CA 证书。

如果创建可启动媒体,请在创建可启动媒体时导入客户端身份验证证书。 若要帮助保护任务序列中配置的私钥和其他敏感数据,请在可启动媒体上配置密码。 从可启动媒体启动的每台计算机使用与客户端功能(例如请求客户端策略)所需的管理点相同的证书。

如果使用 PXE,请将客户端身份验证证书导入到已启用 PXE 的分发点。 对于从启用 PXE 的分发点启动的每个客户端,它使用相同的证书。 若要帮助保护任务序列中的私钥和其他敏感数据,需要 PXE 的密码。

如果其中任一客户端身份验证证书遭到入侵,请阻止“管理”工作区“安全”节点的“证书”节点中的证书。 若要管理这些证书,需要 具有管理操作系统部署证书的权限。

Configuration Manager部署操作系统安装客户端后,客户端需要自己的 PKI 客户端身份验证证书进行 HTTPS 客户端通信。

ISV 代理解决方案和 PKI 证书

独立软件供应商 (ISV) 可以创建扩展Configuration Manager的应用程序。 例如,ISV 可以创建扩展来支持非 Windows 客户端平台(如 macOS)。 但是,如果站点系统需要 HTTPS 客户端连接,这些客户端还必须使用 PKI 证书与站点通信。 Configuration Manager包括向 ISV 代理分配证书的功能,该代理支持 ISV 代理客户端与管理点之间的通信。 如果使用需要 ISV 代理证书的扩展,请参阅该产品的文档。

如果 ISV 证书已泄露,请在“管理”工作区“安全”节点的“证书”节点中阻止该证书。

复制 ISV 代理证书的 GUID

从版本 2111 开始,为了简化这些 ISV 代理证书的管理,现在可以在 Configuration Manager 控制台中复制其 GUID。

  1. 在Configuration Manager控制台中,转到“管理”工作区。

  2. 展开 “安全性”,然后选择“ 证书” 节点。

  3. “类型” 列对证书列表进行排序。

  4. 选择 ISV 代理类型的证书。

  5. 在功能区中,选择“ 复制证书 GUID”。

此操作复制此证书的 GUID,例如: aa05bf38-5cd6-43ea-ac61-ab101f943987

资产智能和证书

Configuration Manager使用资产智能同步点用于连接到 Microsoft 的 X.509 证书进行安装。 Configuration Manager使用此证书从 Microsoft 证书服务请求客户端身份验证证书。 客户端身份验证证书安装在资产智能同步点上,用于向 Microsoft 对服务器进行身份验证。 Configuration Manager使用客户端身份验证证书下载资产智能目录并上传软件标题。

此证书的密钥长度为 1024 位。

Azure 服务和证书

云管理网关 (CMG) 需要服务器身份验证证书。 这些证书允许服务通过 Internet 向客户端提供 HTTPS 通信。 有关详细信息,请参阅 CMG 服务器身份验证证书

客户端需要另一种类型的身份验证才能与 CMG 和本地管理点通信。 他们可以使用Microsoft Entra ID、PKI 证书或站点令牌。 有关详细信息,请参阅 为云管理网关配置客户端身份验证

客户端不需要客户端 PKI 证书来使用基于云的存储。 向管理点进行身份验证后,管理点向客户端颁发Configuration Manager访问令牌。 客户端向 CMG 提供此令牌以访问内容。 令牌的有效期为 8 小时。

CRL 检查 PKI 证书

PKI 证书吊销列表 (CRL) 提高整体安全性,但确实需要一些管理和处理开销。 如果启用 CRL 检查,但客户端无法访问 CRL,则 PKI 连接将失败。

默认情况下,IIS 启用 CRL 检查。 如果将 CRL 用于 PKI 部署,则无需配置运行 IIS 的大多数站点系统。 软件更新例外,这需要手动步骤来启用 CRL 检查以验证软件更新文件上的签名。

客户端使用 HTTPS 时,默认情况下会启用 CRL 检查。 对于 macOS 客户端,无法禁用 CRL 检查。

以下连接不支持在Configuration Manager中签入 CRL:

  • 服务器到服务器连接

  • Configuration Manager注册的移动设备。

服务器通信

Configuration Manager使用以下加密控制进行服务器通信。

站点内的服务器通信

每个站点系统服务器都使用证书将数据传输到同一Configuration Manager站点中的其他站点系统。 某些站点系统角色还使用证书进行身份验证。 例如,如果在一台服务器上安装注册代理点,在另一台服务器上安装注册点,则它们可以使用此标识证书相互进行身份验证。

当Configuration Manager使用证书进行此通信时,如果有 PKI 证书可用于服务器身份验证功能,Configuration Manager会自动使用该证书。 否则,Configuration Manager生成自签名证书。 此自签名证书具有服务器身份验证功能,使用 SHA-256,密钥长度为 2048 位。 Configuration Manager将证书复制到可能需要信任站点系统的其他站点系统服务器上的受信任人员存储。 然后,站点系统可以使用这些证书和 PeerTrust 相互信任。

除了每个站点系统服务器的此证书外,Configuration Manager还会为大多数站点系统角色生成自签名证书。 如果同一站点中有多个站点系统角色实例,则它们共享同一证书。 例如,你可能在同一站点中有多个管理点。 此自签名证书使用 SHA-256,密钥长度为 2048 位。 它将复制到可能需要信任它的站点系统服务器上的受信任人员存储。 以下站点系统角色生成此证书:

  • 资产智能同步点

  • 证书注册点

  • Endpoint Protection 点

  • 注册点

  • 回退状态点

  • 管理点

  • 已启用多播的分发点

  • Reporting Services 点

  • 软件更新点

  • 状态迁移点

Configuration Manager自动生成和管理这些证书。

若要将状态消息从分发点发送到管理点,Configuration Manager使用客户端身份验证证书。 配置 HTTPS 的管理点时,需要 PKI 证书。 如果管理点接受 HTTP 连接,则可以使用 PKI 证书。 它还可以使用具有客户端身份验证功能的自签名证书,使用 SHA-256,并且密钥长度为 2048 位。

站点之间的服务器通信

Configuration Manager使用数据库复制和基于文件的复制在站点之间传输数据。 有关详细信息,请参阅 站点之间的数据传输终结点之间的通信

Configuration Manager自动配置站点之间的数据库复制。 如果可用,它将使用具有服务器身份验证功能的 PKI 证书。 如果不可用,Configuration Manager创建用于服务器身份验证的自签名证书。 在这两种情况下,它通过使用 PeerTrust 的受信任人员存储中的证书在站点之间进行身份验证。 它使用此证书存储来确保只有Configuration Manager层次结构 SQL Server 参与站点到站点复制。

站点服务器通过使用自动进行的安全密钥交换建立站点到站点通信。 发送站点服务器生成哈希并使用其私钥对其进行签名。 接收站点服务器使用公钥检查签名,并将哈希与本地生成的值进行比较。 如果它们匹配,则接收站点接受复制的数据。 如果值不匹配,Configuration Manager将拒绝复制数据。

Configuration Manager 中的数据库复制使用 SQL Server Service Broker 在站点之间传输数据。 它使用以下机制:

  • SQL Server SQL Server:此连接使用 Windows 凭据进行服务器身份验证,并使用 1024 位的自签名证书使用 AES 算法对数据进行签名和加密。 如果可用,它将使用具有服务器身份验证功能的 PKI 证书。 它仅使用计算机个人证书存储中的证书。

  • SQL Service Broker:此服务使用具有 2048 位的自签名证书进行身份验证,并使用 AES 算法对数据进行签名和加密。 它仅使用SQL Server master 数据库中的证书。

基于文件的复制使用服务器消息块 (SMB) 协议。 它使用 SHA-256 对未加密且不包含任何敏感数据的数据进行签名。 若要加密此数据,请使用独立于Configuration Manager实现的 IPsec。

使用 HTTPS 的客户端

当站点系统角色接受客户端连接时,你可以将其配置为接受 HTTPS 和 HTTP 连接,或者仅接受 HTTPS 连接。 接受来自 Internet 连接的站点系统角色仅接受通过 HTTPS 建立的客户端连接。

通过 HTTPS 建立的客户端连接通过与公钥基础结构 (PKI) 集成,从而提供更高级别的安全性,以帮助保护客户端到服务器的通信。 但是,如果在不全面了解 PKI 规划、部署和操作的情况下配置 HTTPS 客户端连接,仍可能会使你容易受到攻击。 例如,如果不保护根证书颁发机构 (CA) ,攻击者可能会损害整个 PKI 基础结构的信任。 如果无法使用受控且受保护的进程部署和管理 PKI 证书,可能会导致无法接收关键软件更新或包的非托管客户端。

重要

Configuration Manager用于客户端通信的 PKI 证书仅保护客户端与某些站点系统之间的通信。 它们不会保护站点服务器和站点系统之间或站点服务器之间的信道。

客户端使用 HTTPS 时的未加密通信

当客户端通过 HTTPS 与站点系统通信时,大多数流量都是加密的。 在以下情况下,客户端无需使用加密即可与站点系统通信:

  • 当站点系统允许此配置时,客户端无法在 Intranet 上建立 HTTPS 连接,并回退到使用 HTTP。

  • 与以下站点系统角色的通信:

    • 客户端将状态消息发送到回退状态点。

    • 客户端将 PXE 请求发送到已启用 PXE 的分发点。

    • 客户端将通知数据发送到管理点。

将 Reporting Services 点配置为独立于客户端通信模式使用 HTTP 或 HTTPS。

使用 HTTP 的客户端

客户端使用与站点系统角色的 HTTP 通信时,可以使用 PKI 证书进行客户端身份验证,或使用Configuration Manager生成的自签名证书。 当Configuration Manager生成自签名证书时,它们具有用于签名和加密的自定义对象标识符。 这些证书用于唯一标识客户端。 这些自签名证书使用 SHA-256,密钥长度为 2048 位。

OS 部署和自签名证书

使用 Configuration Manager 部署具有自签名证书的操作系统时,客户端还必须具有证书才能与管理点通信。 即使计算机处于过渡阶段(例如从任务序列媒体或启用 PXE 的分发点启动),此要求也是如此。 为了支持此 HTTP 客户端连接方案,Configuration Manager生成自签名证书,这些证书具有用于签名和加密的自定义对象标识符。 这些证书用于唯一标识客户端。 这些自签名证书使用 SHA-256,密钥长度为 2048 位。 如果这些自签名证书遭到入侵,则阻止攻击者使用它们来模拟受信任的客户端。 阻止“管理”工作区“”安全“节点的”证书“节点中的证书。

客户端和服务器身份验证

当客户端通过 HTTP 进行连接时,它们使用 Active Directory 域服务 或使用Configuration Manager受信任的根密钥对管理点进行身份验证。 客户端不会对其他站点系统角色进行身份验证,例如状态迁移点或软件更新点。

当管理点首次使用自签名客户端证书对客户端进行身份验证时,此机制提供的最低安全性,因为任何计算机都可以生成自签名证书。 使用客户端审批来增强此过程。 仅通过Configuration Manager自动或由管理用户手动批准受信任的计算机。 有关详细信息,请参阅 管理客户端

关于 SSL 漏洞

若要提高Configuration Manager客户端和服务器的安全性,请执行以下操作:

  • 在所有设备和服务中启用 TLS 1.2。 若要为Configuration Manager启用 TLS 1.2,请参阅如何为Configuration Manager启用 TLS 1.2

  • 禁用 SSL 3.0、TLS 1.0 和 TLS 1.1。

  • 对与 TLS 相关的密码套件重新排序。

有关详细信息,请参阅以下文章:

这些过程不会影响Configuration Manager功能。

注意

汇报Configuration Manager从 Azure 内容分发网络 (CDN) 下载,该网络有密码套件要求。 有关详细信息,请参阅 Azure Front Door:TLS 配置常见问题解答