Print Spooler 为什么高危
打印后台处理程序(Print Spooler)历史上多次爆出提权与远程执行漏洞,PrintNightmare 系列影响尤其大:攻击者可借它加载恶意驱动或 DLL 获得系统权限。处置原则很直接——不需要打印功能的主机就停用该服务,尤其是域控与高价值服务器;确有打印需求的场景用专门的打印服务器承接,并及时补齐相关补丁与缓解项。
基本信息
| 适用平台 | Windows Server / Windows 10、11 |
|---|---|
| 服务名 | Spooler(Print Spooler) |
| 关联注册表 | HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers 下的 Point and Print 相关项 |
| 基线 | 非打印主机停用;打印主机补丁完整 |
| 风险等级 | 高 |
典型使用场景
- 域控加固:按厂商建议停用不必要的打印服务
- 服务器基线:批量核查哪些主机仍在运行 Spooler
- 漏洞应急:PrintNightmare 类漏洞爆发期先停服务再打补丁
- 打印服务器专项:保留服务但收紧驱动安装权限
- 巡检对比:发现被意外重新启用的服务项
核查与处置
核查与处置
Get-Service Spooler | Select-Object Name, Status, StartType
Get-Printer -ErrorAction SilentlyContinue | Select-Object Name, DriverName, PortName
# 非打印主机处置(执行前确认无打印依赖):
# Stop-Service Spooler -Force; Set-Service Spooler -StartupType Disabled
Get-HotFix | Where-Object {$_.HotFixID -match 'KB50|KB51'} | Select-Object HotFixID, InstalledOn
Get-ItemProperty 'HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint' -ErrorAction SilentlyContinue处置对照
| 主机类型 | 建议动作 | 注意点 |
|---|---|---|
| 域控 / 纯应用服务器 | 停用并禁用 Spooler | 先确认无打印依赖,如打印队列 |
| 打印服务器 | 保留服务,及时打补丁 | 收紧驱动安装权限,核对缓解项 |
| 终端用户机 | 按需保留 | 限制普通用户安装打印驱动 |
| 文件服务器 | 通常可停用 | 确认无第三方软件依赖打印组件 |
| Web 应用服务器 | 通常可停用 | 部分报表组件可能依赖打印接口 |
域控上保留 Spooler 是常见的历史决策,厂商已多次建议在域控上禁用;确有打印需求时用独立打印服务器承接。
落地要点
- 停服务前确认受影响主机上是否存在打印队列与业务依赖
- 批量处置要走变更流程,并记录每台主机的处置状态
- Point and Print 相关的注册表缓解项要一并核对:只关服务不等于彻底缓解
- 补丁与缓解项同步推进:先打补丁再评估是否需要长期停用
- 把 Spooler 状态纳入例行巡检,防止被安装打印机的软件自动重新启用
部分软件(报表、标签打印、票据机)依赖打印组件:处置前先与业务确认,避免影响出票与对账流程。