KB5005652 - 管理新的“指向并打印”默认驱动程序安装行为 (CVE-2021-34481)

摘要

默认情况下,2021 年 8 月 10 日及更高版本发布的 Windows 更新需要管理员权限才能安装驱动程序。 我们对默认行为进行了此更改,以解决所有 Windows 设备中的风险,包括不使用“指向并打印”或“打印”功能的设备。 有关详细信息,请参阅 “指向并打印默认行为更改 ”和 CVE-2021-34481。

默认情况下,非管理员用户将无法再使用“指向并打印”执行以下操作,除非将权限提升为管理员:

  • 在远程计算机或服务器上使用驱动程序安装新打印机
  • 使用来自远程计算机或服务器的驱动程序更新现有打印机驱动程序

备注 如果未使用 “指向并打印”,则不应受此更改影响,并且将在安装 2021 年 8 月 10 日或更高版本发布的更新后默认受到保护。

重要 在安装 2021 年 9 月 14 日发布的更新之前,环境中的打印客户端必须具有 2021 年 1 月 12 日或之后发布的更新。  有关详细信息,请参阅下面“常见问题”中的 问题 2 。

使用注册表项修改默认驱动程序安装行为

可以使用下表中的注册表项修改此默认行为。 但是,使用值 0 (0) 时要非常小心,因为这样做会使设备容易受到攻击。 如果必须在环境中使用注册表值 0,建议在调整环境以允许 Windows 设备使用 1 (1) 的值时暂时使用它。

注册表位置 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint
DWord 名称 RestrictDriverInstallationToAdministrators
值数据 默认行为: 如果将此值设置为 1 ,或者 如果未定义或不存在该键,则需要管理员权限才能在使用“指向并打印”时安装任何打印机驱动程序。 此注册表项将覆盖所有“指向并打印限制”组策略设置,并确保只有管理员可以使用“指向并打印从打印服务器安装打印机驱动程序。
将值设置为 0 允许非管理员将已签名和未签名的驱动程序安装到打印服务器,但不会覆盖“指向并打印”组策略设置。 因此,“指向并打印限制组策略设置可以替代此注册表项设置,以防止非管理员从打印服务器安装已签名和未签名的打印驱动程序。 某些管理员可能会将该值设置为 0,以允许非管理员在添加其他限制(包括添加限制驱动程序安装位置的策略设置)后安装和更新驱动程序。
重要 没有等同于将 RestrictDriverInstallationToAdministrators 设置为 1 的缓解措施组合。
注意,在安装 2021 年 8 月 10 日或更高版本发布的更新之前,2021 年 7 月 6 日或更高版本发布的汇报默认值为 0 (禁用) 。 2021 年 8 月 10 日或更高版本发布的汇报默认为 1 (启用) 。
重启要求 创建或修改此注册表值时,无需重新启动。

备注 Windows 更新不会设置或更改注册表项。 可以在安装 2021 年 8 月 10 日或之后发布的更新之前或之后设置注册表项。

自动添加 RestrictDriverInstallationToAdministrators 注册表值

若要自动添加 RestrictDriverInstallationToAdministrators 注册表值,请按照下列步骤操作:

  1. 打开“命令提示符”窗口 (cmd.exe 具有提升权限的) 。
  2. 键入以下命令,然后按 Enter:
    reg add “HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Printers\PointAndPrint” /v RestrictDriverInstallationToAdministrators /t REG_DWORD /d 1 /f

使用组策略设置 RestrictDriverInstallationToAdministrators

安装 2021 年 10 月 12 日或更高版本发布的更新后,还可以使用组策略设置 RestrictDriverInstallationToAdministrators,并使用以下说明:

  1. 打开组策略编辑器工具,然后转到 “计算机配置>”、“管理模板”、“>打印机”。
  2. 将 “将打印驱动程序安装限制为管理员 ”设置设置为“已启用”。 这会将 RestrictDriverInstallationToAdministrators 的注册表值设置为 1。

强制执行新的默认设置时安装打印驱动程序

如果将 RestrictDriverInstallationToAdministrators 设置为 not defined 或 1,则根据你的环境,用户必须使用以下方法之一来安装打印机:

  • 尝试安装打印机驱动程序时,如果系统提示输入凭据,请提供管理员用户名和密码。
  • 在 OS 映像中包含必要的打印机驱动程序。
  • 临时将 RestrictDriverInstallationToAdministrators 设置为 0 以安装打印机驱动程序。

备注如果无法安装打印机驱动程序,即使具有管理员权限,也必须禁用“仅使用程序包指向和打印”组策略。

以下缓解措施有助于保护所有环境,尤其是在必须将 RestrictDriverInstallationToAdministrators 设置为 0 的情况下。 这些缓解措施并不能完全解决 CVE-2021-34481 中的漏洞。

重要 没有等同于将 RestrictDriverInstallationToAdministrators 设置为 1 的缓解措施组合。

验证 RpcAuthnLevelPrivacyEnabled 是否设置为 1 或未定义

验证 RpcAuthnLevelPrivacyEnabled 是否设置为 1 或未如管理 CVE-2021-1678 (KB4599464) 的打印机 RPC 绑定更改的部署 中所述进行定义。

验证是否为“指向并打印”启用了安全提示

验证是否为 Point and Print 启用了安全提示,如 KB5005010 中所述:在应用 2021 年 7 月 6 日更新后限制安装新的打印机驱动程序。

允许用户仅连接到您信任的特定打印服务器

此策略“ 指向并打印限制”适用于在服务器上使用非程序包感知驱动程序的“指向并打印”打印机。

请执行以下步骤:

  1. (GPMC) 打开 组策略 管理控制台。
  2. 在 GPMC 控制台树中,转到存储要修改其打印机驱动程序安全设置的用户帐户的域或组织单位 (OU) 。
  3. 右键单击相应的域或 OU,然后单击“ 在此域中创建 GPO”,然后单击“在此处链接”。 键入新 组策略 对象 (GPO) 的名称,然后单击“确定”。
  4. 右键单击创建的 GPO,然后单击 “编辑”。
  5. 在“组策略管理编辑器”窗口中,依次单击“计算机配置”、“策略”、“管理模板”和“打印机”。
  6. 右键单击“ 指向并打印限制”,然后单击 “编辑”。
  7. 在 “指向并打印限制 ”对话框中,单击“ 已启用”。
  8. 如果尚未选中,请选中“ 用户只能指向并打印到这些服务器 ”复选框。
  9. 输入完全限定的服务器名称。 使用分号 (;) 分隔每个名称。
    备注 安装 2021 年 9 月 21 日或更高版本发布的更新后,可以使用句点或点 (.) 分隔的 IP 地址与完全限定的主机名互换配置此组策略。
  10. 在“ 为新连接安装驱动程序时” 框中,选择“ 显示警告和提升的提示”。
  11. 在“ 更新现有连接的驱动程序时” 框中,选择“ 显示警告和提升的提示”。
  12. 单击“确定”。

允许用户仅连接到您信任的特定包指向和打印服务器

此策略“ 包指向并打印 - 批准的服务器”将限制客户端行为,以仅允许指向使用可识别程序包驱动程序的已定义服务器的“指向并打印”连接。

请执行以下步骤:

  1. 在域控制器上,选择“开始”,选择“管理工具”,然后选择“组策略管理”。 或者,选择 “开始”,选择“ 运行”,键入 GPMC.MSC,然后按 Enter。

  2. 展开林,然后展开域。

  3. 在域下,选择要在其中创建此策略的 OU。

  4. 右键单击 OU,然后选择“ 在此域中创建 GPO”,并将其链接到此处。

  5. 命名 GPO,然后选择“确定”。

  6. 右键单击新创建的组策略对象,然后选择“编辑”以打开组策略管理编辑器。

  7. 在组策略管理编辑器中,展开以下文件夹:

    1. 计算机配置
    2. 策略
    3. 管理模板
    4. 本地计算机策略
    5. Printers
  8. 启用 “程序包指向并打印 - 批准的服务器 ”,然后选择“ 显示... ”按钮。

  9. 输入完全限定的服务器名称。 使用分号 (;) 分隔每个名称。
    备注 安装 2021 年 9 月 21 日或更高版本发布的更新后,可以使用句点或点 (.) 分隔的 IP 地址与完全限定的主机名互换配置此组策略。

常见问题解答

问题 1:每次我尝试打印时,都会收到提示“你信任此打印机吗”,并且需要管理员凭据才能继续打印。  这是正常情况吗?

A1: 并非预期会提示每次打印作业。 遇到此问题的大多数环境或设备都将通过安装 2021 年 10 月 12 日或之后发布的更新来解决。  这些更新解决了打印服务器和打印客户端不在同一时区相关的问题。

如果在安装 2021 年 10 月 12 日或之后发布的更新后仍然遇到此问题,你可能需要联系打印机制造商以获取更新的驱动程序。  当打印客户端和打印服务器上的打印驱动程序使用相同的文件名,但服务器具有较新版本的驱动程序文件时,也可能发生此问题。 当打印客户端连接到打印服务器时,它会找到较新的驱动程序文件,并提示更新打印客户端上的驱动程序。 但是,提供用于安装的包中的文件不包含较新的驱动程序文件版本。

要比较的文件是假脱机文件夹中的驱动程序,通常位于打印客户端和打印服务器上的 C:\Windows\System32\spool\drivers\x64\3 中。  提供用于安装的驱动程序包通常位于打印服务器上的 C:\Windows\System32\spool\drivers\x64\PCC 中。  在设备之间比较 \3 文件夹中的文件后,如果它们不匹配,则安装 PCC 中的包。  如果打印服务器的 \3 文件夹中的文件不是来自 PCC 提供给客户端的同一打印机驱动程序,则打印客户端将比较文件并在每次打印时找出不匹配的地方。

要缓解此问题,请验证是否所有打印设备都使用了最新驱动程序。  如果可能,请在打印客户端和打印服务器上使用相同版本的打印驱动程序。 如果更新环境中的驱动程序无法解决问题,请联系打印机制造商的支持人员 (OEM) 。

问题 2:我安装了 2021 年 9 月 14 日发布的更新,但某些 Windows 设备无法打印到网络打印机。  是否有订单需要在打印客户端和打印服务器上安装更新?

解答 2:在打印服务器上安装 2021 年 9 月 14 日或之后发布的更新之前,打印客户端必须安装 2021 年 1 月 12 日或之后发布的更新。 如果 Windows 设备尚未安装 2021 年 1 月 12 日或之后发布的更新,则这些设备将不会打印。

备注 无需安装较早的更新,并且可以在打印客户端上安装 2021 年 1 月 12 日之后的任何更新。  我们建议你同时在客户端和服务器上安装最新的累积更新。

资源