Zum Inhalt springen
06 · Legacy-ProtokolleTeil 4 von 4Fortgeschritten

Druckwarteschlange und Point and Print härten

PrintNightmare-Risiken schließen: Druckwarteschlange wo ungenutzt abschalten, Treiberinstallation auf Admins beschränken, Package Point and Print mit Freigabeliste.

Florian Amette7 Min. Lesezeit

Der Dienst Druckwarteschlange (Print Spooler) läuft auf fast jedem Windows-Rechner als SYSTEM, lädt Treibercode von Drittanbietern und nimmt RPC-Aufrufe aus dem Netz entgegen. Aus dieser Kombination entstanden 2021 die PrintNightmare-Schwachstellen (CVE-2021-1675 und CVE-2021-34527), über die ein gewöhnlicher Domänenbenutzer auf jedem Rechner mit laufendem Spooler Code als SYSTEM ausführen konnte, Domänencontroller eingeschlossen. Sie ermöglicht außerdem den „Printer Bug“: Ein authentifizierter Benutzer bittet den Spooler eines Rechners über das Protokoll MS-RPRN, sich mit einem Host zu verbinden, den er kontrolliert. Dadurch muss sich das Computerkonto dort authentifizieren, bereit für ein NTLM-Relay oder den Missbrauch einer uneingeschränkten Delegierung.

Sicherheitsupdates haben die konkreten Fehler geschlossen. Die Härtung in diesem Leitfaden beseitigt die Problemklassen: Spooler, die nicht laufen müssen, Benutzer, die Treiber installieren können, und Clients, die über Point and Print jedem Druckserver vertrauen. Sie gehört zum Bereich Legacy-Protokolle, neben den Relay-Abwehrmaßnahmen aus dem Grundlagenleitfaden.

Schritt 1: festlegen, wo der Spooler laufen muss

RolleBraucht den Spooler?Maßnahme
DomänencontrollerNeinDienst deaktivieren
Tier-0-Server (PKI, AD-Synchronisierung, Backup, Hypervisor-Hosts)NeinDienst deaktivieren
Andere ServerSeltenDeaktivieren, sofern der Server nicht selbst druckt oder Druckserver ist
DruckserverJaBeibehalten, härten, zuerst patchen
ArbeitsplätzeJa, für lokales DruckenLaufen lassen, eingehende Remoteverbindungen blockieren

Finden Sie heraus, wo der Spooler aus dem Netz erreichbar ist, bevor Sie etwas ändern. Von einem Admin-Arbeitsplatz aus:

PowerShell
Get-ADComputer -Filter 'OperatingSystem -like "*Server*"' | ForEach-Object {
  [pscustomobject]@{ Host = $_.Name; SpoolerPipe = Test-Path "\\$($_.Name)\pipe\spoolss" }
}

Eine erreichbare Named Pipe spoolss bedeutet, dass der Spooler läuft und auf Remoteverbindungen lauscht. Der Umkehrschluss gilt nicht: Windows 11 ab 22H2 lauscht standardmäßig nur über TCP auf Druck-RPC, eine fehlende Pipe auf diesen Rechnern bedeutet also nicht, dass der Spooler aus ist. Prüfen Sie zusätzlich den Dienststatus.

Schritt 2: den Spooler dort deaktivieren, wo er nicht gebraucht wird

Verwenden Sie ein GPO, das mit der OU Domain Controllers und den Server-OUs verknüpft ist: Computer Configuration > Policies > Windows Settings > Security Settings > System Services > Print Spooler = Disabled. Lokal oder zum Testen:

PowerShell
Stop-Service -Name Spooler -Force
Set-Service -Name Spooler -StartupType Disabled

Manche Serveranwendungen hängen unbemerkt vom Spooler für das Rendering oder die PDF-Ausgabe ab (Reporting-Tools, manche ERP- und Etikettendrucksoftware). Klären Sie das auf jedem Server mit den Anwendungsverantwortlichen, bevor Sie ihn deaktivieren.

Schritt 3: verhindern, dass Arbeitsplätze Remote-Druckverbindungen annehmen

Arbeitsplätze brauchen den Spooler zum Drucken, müssen aber selten Druckaufträge oder RPC-Aufrufe von anderen Rechnern annehmen. Setzen Sie Computer Configuration > Policies > Administrative Templates > Printers > Allow Print Spooler to accept client connections = Disabled (Registrierung HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers RegisterSpoolerRemoteRpcEndPoint = 2). Starten Sie den Spooler neu, damit die Einstellung greift. Lokales Drucken und Drucken auf Netzwerkwarteschlangen funktionieren weiter; der Rechner ist lediglich kein Druckserver mehr. Wenden Sie dies nicht auf echte Druckserver an.

Neuere Windows-Versionen bringen im selben Ordner Printers verwandte Einstellungen mit, darunter Configure RPC connection settings und Configure RPC listener settings, mit denen Sie steuern, ob Druck-RPC TCP oder Named Pipes verwendet und welche Authentifizierung akzeptiert wird. Seit Windows 11 22H2 lauten die Standardwerte RPC über TCP für ausgehende Verbindungen und ein reiner TCP-Listener; Named Pipes sind aus, sofern Sie sie nicht wieder aktivieren. Behalten Sie diese Standardwerte bei. Sind alle Rechner Mitglied der Domäne, können Sie das Authentifizierungsprotokoll des Listeners zusätzlich auf Kerberos setzen.

Schritt 4: die Installation von Druckertreibern auf Administratoren beschränken

Seit den Sicherheitsupdates vom August 2021 erlaubt Windows standardmäßig nur Administratoren, Druckertreiber über Point and Print zu installieren. Machen Sie das explizit, damit keine ältere Richtlinie und keine Änderung bei der Fehlersuche es rückgängig machen kann:

  • GPO: Computer Configuration > Policies > Administrative Templates > Printers > Limits print driver installation to Administrators = Enabled (verfügbar in aktuellen ADMX-Vorlagen und in den MS-Security-Guide-Vorlagen, die mit der Microsoft-Sicherheitsbaseline ausgeliefert werden).
  • Registrierung: HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Printers\PointAndPrint RestrictDriverInstallationToAdministrators = 1.

Steht dieser Wert auf 1, setzt er die Warn- und Erhöhungseinstellungen der Point-and-Print-Einschränkungen außer Kraft. Durchsuchen Sie Ihre GPOs danach, ob jemand ihn 2021 auf 0 gesetzt hat, damit das Drucken wieder funktionierte; dieser eine Wert öffnet den PrintNightmare-Angriffspfad erneut.

PowerShell
Get-GPOReport -All -ReportType Xml |
  Select-String -Pattern "RestrictDriverInstallationToAdministrators|NoWarningNoElevationOnInstall" -Context 0,2

Schritt 5: nur freigegebene Druckserver zulassen

Konfigurieren Sie Point and Print Restrictions unter Computer Configuration > Policies > Administrative Templates > Printers = Enabled:

  • Users can only point and print to these servers: aktiviert, mit den vollqualifizierten Namen Ihrer Druckserver.
  • When installing drivers for a new connection: Show warning and elevation prompt.
  • When updating drivers for an existing connection: Show warning and elevation prompt.

Verwenden Sie niemals „Do not show warning or elevation prompt“; genau diese Konfiguration machte PrintNightmare auf gepatchten Systemen ausnutzbar (NoWarningNoElevationOnInstall = 1).

Wechseln Sie dann zu Package Point and Print, das nur Treiber installiert, die mit einem signierten Katalog paketiert sind, und diese überprüft:

  • Only use Package Point and print = Enabled.
  • Package Point and print - Approved servers = Enabled, mit denselben Druckservern.

Ältere, nicht paketfähige Treiber lassen sich danach nicht mehr über Point and Print installieren. Ersetzen Sie sie durch aktuelle Herstellertreiber oder universelle Druckertreiber, oder installieren Sie sie vorab mit Ihrem Verteilungswerkzeug.

Schließlich schließt Manage processing of Queue-specific files im selben Ordner, eingestellt auf die Beschränkung warteschlangenspezifischer Dateien auf Farbprofile, ein Folgeproblem, bei dem Druckwarteschlangen beliebige Dateien an Clients übertragen konnten.

Schritt 6: die Druckserver selbst härten

Die verbleibenden Druckserver sind nun die einzigen Rechner, die Treiber an die gesamte Flotte verteilen, und damit ein lohnendes Ziel. Behandeln Sie sie entsprechend:

  • Dedizierte Server. Hosten Sie Druckdienste nicht zusammen mit Dateifreigaben, Anwendungen oder, schlimmer noch, Domänencontrollerrollen.
  • Zuerst patchen. Nehmen Sie Druckserver in den frühesten Patchring für Server auf; Korrekturen für den Spooler erscheinen regelmäßig in den monatlichen Updates.
  • Treiber kuratieren. Pflegen Sie eine kurze Liste aktueller, paketfähiger Herstellertreiber oder universeller Treiber und entfernen Sie den Rest mit Remove-PrinterDriver. Jeder zusätzliche Treiber ist Code, der auf Clients als SYSTEM läuft.
  • Administration einschränken. Nur eine kleine Druck-Admingruppe darf Treiber oder Warteschlangen hinzufügen; diese Gruppe sollte keine gewöhnlichen Helpdesk-Konten enthalten, die sich überall an Arbeitsplätzen anmelden.
  • Firewall-Begrenzung. Clients müssen den Druckserver erreichen; der Druckserver muss selten selbst Verbindungen zu Clients aufbauen.

Schritt 7: Treiber unter Windows 11 weiter reduzieren

  • Geschützter Druckmodus von Windows (ab Windows 11 24H2): Printers > Configure Windows protected print. Der Spooler verwendet dann nur noch den mitgelieferten IPP-Klassentreiber und verweigert Treiber von Drittanbietern. Das ist die stärkste Option, wenn Ihre Drucker Mopria/IPP unterstützen.
  • Universal Print, der Cloud-Druckdienst von Microsoft, macht lokale Druckserver und Treiberverteilung für viele Umgebungen überflüssig.
  • Redirection Guard (Printers > Configure Redirection Guard) verhindert, dass der Spooler Dateisystemumleitungen folgt, etwa von einem Angreifer platzierten Junctions. Lassen Sie ihn aktiviert.

Was dabei kaputtgeht

  • Drucken von Servern, auf denen eine Anwendung den Spooler unbemerkt genutzt hat.
  • Benutzer, die selbst Drucker hinzufügen, wenn der Treiber auf ihrem Rechner noch nicht installiert ist oder der Druckserver eine neuere Treiberversion hat.
  • Ältere Treiber, die nicht paketfähig sind, sobald Package Point and Print erzwungen wird.
  • Drucker auf nicht freigegebenen Servern, etwa ein eigener Druckserver einer Abteilung oder ein direkt per IP angebundener Drucker, der vom PC eines Kollegen freigegeben wird. Das ist beabsichtigt; ziehen Sie sie auf den freigegebenen Server um.

Überprüfen

PowerShell
Get-Service Spooler | Select-Object Status, StartType          # DCs und Server: 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, MajorVersion

Erwartet werden RestrictDriverInstallationToAdministrators = 1, NoWarningNoElevationOnInstall nicht vorhanden oder 0 und RegisterSpoolerRemoteRpcEndPoint = 2 auf Arbeitsplätzen. Wiederholen Sie die Prüfung der Pipe spoolss aus Schritt 1; nur Druckserver sollten antworten.

Aktivieren Sie für die Überwachung das standardmäßig ausgeschaltete Protokoll Microsoft-Windows-PrintService/Operational (wevtutil sl Microsoft-Windows-PrintService/Operational /e:true) und erfassen Sie Ereignis 808 in PrintService/Admin (der Spooler konnte ein Plug-in-Modul nicht laden), einen bekannten Indikator für Ausnutzungsversuche. Treiberinstallationen auf Rechnern, auf denen Benutzer keine Drucker hinzufügen, verdienen einen genaueren Blick.

Checkliste

  • Spooler auf Domänencontrollern und Tier-0-Servern deaktiviert
  • Spooler auf anderen Servern deaktiviert, die weder drucken noch Drucker bereitstellen
  • Arbeitsplätze nehmen keine Remote-Druckverbindungen an (RegisterSpoolerRemoteRpcEndPoint = 2)
  • RestrictDriverInstallationToAdministrators = 1 per GPO erzwungen; kein GPO setzt den Wert auf 0
  • Point and Print auf freigegebene Server beschränkt, mit Warn- und Erhöhungsaufforderungen
  • Ausschließlich Package Point and Print, mit der Liste freigegebener Server
  • Warteschlangenspezifische Dateien auf Farbprofile beschränkt; Redirection Guard aktiv
  • Geschützter Druckmodus von Windows für Umgebungen mit Windows 11 24H2+ geprüft
  • PrintService-Protokolle aktiviert und Ereignis 808 erfasst

Das Deaktivieren des Spoolers auf DCs beseitigt außerdem einen der einfachsten Coercion-Pfade in Tier 0. Kombinieren Sie es mit SMB-Signierung und NTLM-Einschränkungen sowie Firewallregeln, die RPC zwischen Arbeitsplätzen blockieren.

Häufige Fragen

Kann ich die Druckwarteschlange auf Domänencontrollern gefahrlos deaktivieren?

Ja, sofern der Domänencontroller nicht zugleich Druckserver ist, was er nicht sein sollte. Domänencontroller brauchen die Druckwarteschlange nicht, und ein laufender Spooler erlaubt jedem authentifizierten Benutzer, den DC zur Authentifizierung bei einem vom Angreifer kontrollierten Host zu zwingen. Microsoft Defender for Identity meldet einen laufenden Spooler auf DCs als Sicherheitsmangel. Deaktivieren Sie ihn per Gruppenrichtlinie auf der OU Domain Controllers.

Stört RestrictDriverInstallationToAdministrators das Drucken für Benutzer?

Es hindert Standardbenutzer daran, Druckertreiber selbst zu installieren oder zu aktualisieren. Das Drucken über Warteschlangen, deren Treiber bereits installiert sind, funktioniert weiter. Probleme bekommen Benutzer nur, wenn sie sich mit einem neuen Drucker verbinden, dessen Treiber fehlt oder auf dem Druckserver neuer ist. Installieren Sie Treiber vorab über Ihr Verteilungswerkzeug oder verwenden Sie paketfähige Treiber und freigegebene Server, dann bleibt die Änderung meist unsichtbar.

Was ist der geschützte Druckmodus von Windows?

Ein mit Windows 11 24H2 eingeführter Modus (Windows protected print mode), in dem die Druckwarteschlange keine Druckertreiber von Drittanbietern mehr lädt und ausschließlich den integrierten Mopria-kompatiblen Klassentreiber über IPP verwendet. Das beseitigt den Großteil der Angriffsfläche durch Treiber. Er eignet sich nur für Umgebungen, deren Drucker Mopria oder IPP unterstützen; testen Sie Ihre Druckermodelle also, bevor Sie ihn per Gruppenrichtlinie aktivieren.

Druckwarteschlange und Point and Print härten

Verwandte Leitfäden

Anwendungssteuerung

AppLocker-Rollout: Skripte, Installer und App-Pakete

AppLocker sicher ausrollen: Dienst Anwendungsidentität, Überwachungsmodus, Herausgeberregeln für EXE, Skripte, MSI und App-Pakete sowie Lücken in beschreibbaren Ordnern.

Fortgeschritten