Endurecer la cola de impresión y Point and Print
Cierra los riesgos tipo PrintNightmare: deshabilita la cola de impresión donde sobre, limita los controladores a administradores y usa Package Point and Print.
El servicio Cola de impresión (Print Spooler) se ejecuta como SYSTEM en casi todos los equipos Windows, carga código de controladores de terceros y acepta llamadas RPC remotas. Esa combinación produjo en 2021 las vulnerabilidades PrintNightmare (CVE-2021-1675 y CVE-2021-34527), con las que un usuario de dominio corriente podía ejecutar código como SYSTEM en cualquier equipo con la cola de impresión en marcha, controladores de dominio incluidos. También posibilita el «printer bug»: un usuario autenticado pide a la cola de impresión de un equipo, mediante el protocolo MS-RPRN, que se conecte a un equipo que él controla, lo que obliga a la cuenta de equipo a autenticarse allí, lista para una retransmisión NTLM o un abuso de la delegación sin restricciones.
Las actualizaciones de seguridad cerraron los fallos concretos. El endurecimiento de esta guía elimina las clases de problema: colas de impresión que no necesitan ejecutarse, usuarios que pueden instalar controladores y clientes que confían en cualquier servidor de impresión mediante Point and Print. Forma parte del área de protocolos heredados, junto a las defensas contra la retransmisión de la guía pilar.
Paso 1: decidir dónde debe ejecutarse la cola de impresión
| Rol | ¿Necesita la cola de impresión? | Acción |
|---|---|---|
| Controladores de dominio | No | Deshabilitar el servicio |
| Servidores Tier 0 (PKI, sincronización de AD, copias de seguridad, hosts de hipervisor) | No | Deshabilitar el servicio |
| Otros servidores | Rara vez | Deshabilitar, salvo que el propio servidor imprima o sea servidor de impresión |
| Servidores de impresión | Sí | Mantener, endurecer, aplicar parches antes que nada |
| Puestos de trabajo | Sí, para imprimir en local | Mantener en ejecución, bloquear las conexiones remotas entrantes |
Averigua dónde es accesible remotamente la cola de impresión antes de cambiar nada. Desde una estación de administración:
Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' | ForEach-Object {
[pscustomobject]@{ Host = $_.Name; SpoolerPipe = Test-Path "\\$($_.Name)\pipe\spoolss" }
}Una canalización con nombre spoolss accesible significa que la cola de impresión está en ejecución y escuchando en remoto. Lo contrario no es una prueba: Windows 11 22H2 y posteriores solo escuchan RPC de impresión sobre TCP por defecto, así que la ausencia de la canalización en esos equipos no significa que la cola de impresión esté desactivada. Comprueba también el estado del servicio.
Paso 2: deshabilitar la cola de impresión donde no hace falta
Usa una GPO vinculada a la OU Domain Controllers y a las OU de servidores: Computer Configuration > Policies > Windows Settings > Security Settings > System Services > Print Spooler = Disabled. En local o para pruebas:
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType DisabledAlgunas aplicaciones de servidor dependen discretamente de la cola de impresión para el renderizado o la salida en PDF (herramientas de informes, algunos ERP y programas de impresión de etiquetas). Consúltalo con los responsables de las aplicaciones de cada servidor antes de deshabilitarla.
Paso 3: impedir que los puestos de trabajo acepten conexiones de impresión remotas
Los puestos de trabajo necesitan la cola de impresión para imprimir, pero rara vez necesitan aceptar trabajos de impresión o llamadas RPC de otros equipos. Establece Computer Configuration > Policies > Administrative Templates > Printers > Allow Print Spooler to accept client connections = Disabled (Registro HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers RegisterSpoolerRemoteRpcEndPoint = 2). Reinicia la cola de impresión para aplicarlo. La impresión local y la impresión a colas de red siguen funcionando; el equipo simplemente deja de ser un servidor de impresión. No lo apliques a los servidores de impresión reales.
Las versiones más recientes de Windows añaden controles relacionados en la misma carpeta Printers, como Configure RPC connection settings y Configure RPC listener settings, para controlar si RPC de impresión usa TCP o canalizaciones con nombre y qué autenticación acepta. Desde Windows 11 22H2, los valores por defecto son RPC sobre TCP para las conexiones salientes y un agente de escucha solo TCP; las canalizaciones con nombre están desactivadas salvo que vuelvas a habilitarlas. Mantén esos valores por defecto y, donde todos los equipos estén unidos al dominio, puedes además establecer Kerberos como protocolo de autenticación del agente de escucha.
Paso 4: restringir la instalación de controladores de impresora a los administradores
Desde las actualizaciones de seguridad de agosto de 2021, Windows solo permite por defecto a los administradores instalar controladores de impresora mediante Point and Print. Hazlo explícito para que ninguna directiva antigua ni ningún cambio de resolución de problemas pueda revertirlo:
- GPO: Computer Configuration > Policies > Administrative Templates > Printers > Limits print driver installation to Administrators = Enabled (disponible en las plantillas ADMX actuales y en las plantillas MS Security Guide incluidas con la línea base de seguridad de Microsoft).
- Registro:
HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrintRestrictDriverInstallationToAdministrators=1.
Cuando este valor es 1, invalida la configuración de advertencia y elevación de Point and Print Restrictions. Busca en tus GPO a quien lo pusiera en 0 en 2021 para que la impresión volviera a funcionar; ese único valor reabre la vía de ataque de PrintNightmare.
Get-GPOReport -All -ReportType Xml |
Select-String -Pattern "RestrictDriverInstallationToAdministrators|NoWarningNoElevationOnInstall" -Context 0,2Paso 5: permitir solo los servidores de impresión aprobados
Configura Point and Print Restrictions en Computer Configuration > Policies > Administrative Templates > Printers = Enabled:
- Users can only point and print to these servers: marcada, con los nombres completos (FQDN) de tus servidores de impresión.
- When installing drivers for a new connection: Show warning and elevation prompt.
- When updating drivers for an existing connection: Show warning and elevation prompt.
No uses nunca «Do not show warning or elevation prompt»; esa es la configuración que hacía explotable PrintNightmare en sistemas con parches (NoWarningNoElevationOnInstall = 1).
Después pasa a Package Point and Print, que solo instala controladores empaquetados con un catálogo firmado y los verifica:
- Only use Package Point and print = Enabled.
- Package Point and print - Approved servers = Enabled, con la lista de los mismos servidores de impresión.
Los controladores heredados no compatibles con paquetes dejan de instalarse mediante Point and Print en cuanto se activa esta opción. Sustitúyelos por controladores actuales del fabricante o por controladores de impresión universales, o preinstálalos con tu herramienta de despliegue.
Por último, Manage processing of Queue-specific files, en la misma carpeta y configurada para limitar los archivos específicos de cola a los perfiles de color, cierra un problema posterior por el que las colas de impresión podían enviar archivos arbitrarios a los clientes.
Paso 6: endurecer los propios servidores de impresión
Los servidores de impresión que quedan son ahora los únicos equipos que distribuyen controladores a toda la flota, lo que los convierte en un objetivo valioso. Trátalos en consecuencia:
- Servidores dedicados. No combines la impresión con recursos compartidos de archivos, aplicaciones o, peor aún, roles de controlador de dominio.
- Parches primero. Pon los servidores de impresión en el primer anillo de parches de servidores; las correcciones de la cola de impresión aparecen con regularidad en las actualizaciones mensuales.
- Depura los controladores. Mantén una lista corta de controladores actuales compatibles con paquetes de los fabricantes o de controladores universales, y elimina el resto con
Remove-PrinterDriver. Cada controlador adicional es código que se ejecuta comoSYSTEMen los clientes. - Restringe la administración. Solo un grupo reducido de administradores de impresión puede añadir controladores o colas; ese grupo no debe incluir las cuentas estándar del centro de soporte que inician sesión en puestos de trabajo por todas partes.
- Acota el firewall. Los clientes necesitan llegar al servidor de impresión; el servidor de impresión rara vez necesita iniciar conexiones hacia los clientes.
Paso 7: reducir aún más los controladores en Windows 11
- Modo de impresión protegida de Windows (Windows 11 24H2 y posteriores): Printers > Configure Windows protected print. La cola de impresión usa entonces solo el controlador de clase IPP integrado y rechaza los controladores de terceros. Es la opción más sólida si tus impresoras admiten Mopria/IPP.
- Universal Print, el servicio de impresión en la nube de Microsoft, elimina los servidores de impresión locales y la distribución de controladores en muchas flotas.
- Redirection Guard (Printers > Configure Redirection Guard) impide que la cola de impresión siga redirecciones del sistema de archivos, como las uniones (junctions) colocadas por un atacante. Mantenlo activado.
Qué se rompe
- La impresión desde servidores en los que una aplicación usaba la cola de impresión sin que se supiera.
- Los usuarios que añaden impresoras por su cuenta cuando el controlador aún no está instalado en su equipo, o cuando el servidor de impresión tiene una versión más reciente del controlador.
- Los controladores heredados no compatibles con paquetes, una vez aplicado Package Point and Print.
- Las impresoras en servidores no aprobados, como el servidor de impresión propio de un departamento o una impresora por IP directa compartida desde el PC de un compañero. Es intencionado; muévelas al servidor aprobado.
Verificarlo
Get-Service Spooler | Select-Object Status, StartType # DC y servidores: Stopped, Disabled
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint"
Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Printers" -Name RegisterSpoolerRemoteRpcEndPoint
Get-PrinterDriver | Select-Object Name, Manufacturer, MajorVersionLo esperado es RestrictDriverInstallationToAdministrators = 1, NoWarningNoElevationOnInstall ausente o 0, y RegisterSpoolerRemoteRpcEndPoint = 2 en los puestos de trabajo. Repite la comprobación de la canalización spoolss del paso 1; solo deben responder los servidores de impresión.
Para la supervisión, habilita el registro Microsoft-Windows-PrintService/Operational, que está desactivado por defecto (wevtutil sl Microsoft-Windows-PrintService/Operational /e:true), y recoge el evento 808 de PrintService/Admin (la cola de impresión no pudo cargar un módulo complementario), un indicador conocido de intentos de explotación. Las instalaciones de controladores en equipos donde los usuarios no añaden impresoras merecen una revisión.
Lista de comprobación
- Cola de impresión deshabilitada en los controladores de dominio y en los servidores Tier 0
- Cola de impresión deshabilitada en los demás servidores que no imprimen ni sirven impresoras
- Los puestos de trabajo no aceptan conexiones de impresión remotas (
RegisterSpoolerRemoteRpcEndPoint= 2) -
RestrictDriverInstallationToAdministrators= 1 aplicado por GPO; ninguna GPO lo pone en 0 - Point and Print limitado a los servidores aprobados, con advertencias y solicitudes de elevación
- Solo Package Point and Print, con la lista de servidores aprobados
- Archivos específicos de cola limitados a perfiles de color; Redirection Guard activado
- Modo de impresión protegida de Windows evaluado para las flotas con Windows 11 24H2+
- Registros de PrintService habilitados y evento 808 recopilado
Deshabilitar la cola de impresión en los DC elimina además una de las vías de coerción más fáciles hacia Tier 0. Combínalo con la firma SMB y las restricciones de NTLM y con reglas de firewall que bloqueen el RPC entre puestos de trabajo.
Preguntas frecuentes
¿Es seguro deshabilitar la cola de impresión en los controladores de dominio?
Sí, salvo que el controlador de dominio sea también servidor de impresión, algo que no debería ser. Los controladores de dominio no necesitan la cola de impresión para funcionar, y una cola de impresión en ejecución permite a cualquier usuario autenticado forzar al DC a autenticarse ante un equipo controlado por el atacante. Microsoft Defender for Identity señala una cola de impresión en ejecución en los DC como un problema de postura de seguridad. Deshabilítala por directiva de grupo en la OU Domain Controllers.
¿Rompe RestrictDriverInstallationToAdministrators la impresión para los usuarios?
Impide que los usuarios estándar instalen o actualicen por sí mismos los controladores de impresora. La impresión a través de colas cuyos controladores ya están instalados sigue funcionando. Los usuarios solo tienen problemas al conectarse a una impresora nueva cuyo controlador falta o es más reciente en el servidor de impresión. Preinstala los controladores con tu herramienta de despliegue, o usa controladores compatibles con paquetes y servidores aprobados, y el cambio suele pasar desapercibido.
¿Qué es el modo de impresión protegida de Windows?
Es un modo introducido con Windows 11 24H2 que impide que la cola de impresión cargue controladores de impresora de terceros y usa solo el controlador de clase integrado compatible con Mopria sobre IPP. Eso elimina la mayor parte de la superficie de ataque de los controladores. Solo encaja en flotas cuyas impresoras admiten Mopria o IPP, así que prueba tus modelos de impresora antes de activarlo por directiva de grupo.
Endurecer la cola de impresión y Point and Print