Zum Inhalt springen
06 · Legacy-ProtokolleTeil 3 von 4Grundlagen

Remotedesktop (RDP) unter Windows härten

Remotedesktop absichern mit NLA, TLS-Sicherheitsschicht, PKI-Zertifikaten, eingeschränkten Benutzern, Firewall-Begrenzung, Sitzungslimits und den richtigen Protokollen.

Florian Amette7 Min. Lesezeit

Über Remotedesktop werden die meisten Windows-Server verwaltet, und zugleich ist es bei Ransomware-Vorfällen einer der häufigsten Kanäle für Erstzugriff und Lateral Movement. Exponiertes RDP wird per Brute Force angegriffen; internes RDP wird mit gestohlenen Anmeldedaten genutzt, um von Server zu Server zu springen. Der Großteil der Abwehr ist nicht exotisch: authentifizieren, bevor eine Sitzung existiert, mit einem vertrauenswürdigen Zertifikat verschlüsseln, begrenzen, wer sich von wo verbinden darf, und alles protokollieren.

Dieser Leitfaden gehört zum Bereich Legacy-Protokolle. Der Schutz der Anmeldedaten des Administrators auf dem Zielserver (Restricted Admin und Remote Credential Guard) ist ein eigenes Thema, das in RDP ohne preisgegebene Anmeldedaten behandelt wird.

Die Einstellungen in einer Tabelle

Alle folgenden Gruppenrichtlinieneinstellungen befinden sich unter Computer Configuration > Policies > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host, gefolgt vom angegebenen Unterordner.

UnterordnerEinstellungWert
SecurityRequire user authentication for remote connections by using Network Level AuthenticationEnabled
SecurityRequire use of specific security layer for remote (RDP) connectionsEnabled, SSL
SecuritySet client connection encryption levelEnabled, High Level
SecurityAlways prompt for password upon connectionEnabled
SecurityRequire secure RPC communicationEnabled
SecurityServer authentication certificate templateName Ihrer RDP-Vorlage
ConnectionsAllow users to connect remotely by using Remote Desktop ServicesNur dort aktiviert, wo RDP benötigt wird
Session Time LimitsSet time limit for disconnected sessions1 Stunde oder weniger auf Servern
Session Time LimitsSet time limit for active but idle Remote Desktop Services sessions15 bis 60 Minuten
Device and Resource RedirectionDo not allow drive redirectionAuf Servern aktiviert
Device and Resource RedirectionDo not allow Clipboard redirectionFür Tier 0 und sensible Server aktiviert

Die zugehörigen Registrierungswerte für den RDP-Listener liegen unter HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp: UserAuthentication = 1 (NLA), SecurityLayer = 2 (TLS), MinEncryptionLevel = 3 (High). Richtlinienwerte werden unter HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services geschrieben und haben Vorrang.

Schritt 1: RDP vom Internet fernhalten

Keine Einstellung in diesem Leitfaden macht RDP sicher genug, um es direkt zu exponieren. Verwenden Sie für den Fernzugriff eine dieser Varianten:

  • Remotedesktopgateway mit MFA (etwa über die NPS-Erweiterung für die Multi-Faktor-Authentifizierung von Microsoft Entra), das nur HTTPS exponiert.
  • Ein VPN mit MFA, wobei RDP nur aus dem VPN-Adresspool erreichbar ist.
  • Einen Cloud-Bastion-Dienst vor in der Cloud gehosteten VMs.

Prüfen Sie Ihre externe Angriffsfläche regelmäßig von außen und kontrollieren Sie die NAT-Regeln auf Firewalls für Port 3389 und alles, was dorthin weitergeleitet wird. Den Listening-Port zu ändern (PortNumber unter dem Schlüssel RDP-Tcp) ist keine Schutzmaßnahme.

Schritt 2: Authentifizierung auf Netzwerkebene verlangen

Mit NLA authentifiziert sich der Client per CredSSP, bevor der Server eine Sitzung erstellt oder einen Anmeldebildschirm anzeigt. Das beseitigt Angriffsfläche vor der Authentifizierung (Schwachstellen der BlueKeep-Klasse wurden durch NLA entschärft) und verhindert, dass anonyme Benutzer Sitzungsressourcen verbrauchen.

NLA ist in aktuellen Windows-Versionen der Standard, wird aber häufig abgeschaltet, um ein Verbindungsproblem zu „beheben“, und nie wieder eingeschaltet. Erzwingen Sie es per Richtlinie und beheben Sie dann die eigentliche Ursache: typischerweise ein alter Client, ein Jump-Host außerhalb der Domäne oder ein Benutzer, der ein abgelaufenes Kennwort ändern muss (NLA kann nicht zur Kennwortänderung auffordern; Benutzer brauchen dafür einen anderen Weg).

Setzen Sie außerdem Encryption Oracle Remediation unter Computer Configuration > Policies > Administrative Templates > System > Credentials Delegation auf Force Updated Clients, damit keine Seite ungepatchte CredSSP-Gegenstellen akzeptiert.

Schritt 3: TLS mit einem vertrauenswürdigen Zertifikat verwenden

Ist die Sicherheitsschicht auf SSL (TLS) gesetzt, wird jede Verbindung mit TLS verschlüsselt, und der Server weist seine Identität mit einem Zertifikat nach. Standardmäßig ist dieses Zertifikat selbstsigniert, sodass Benutzer lernen, die Warnung wegzuklicken, und genau darauf setzt ein Angreifer in der Mitte (Attacker-in-the-Middle).

Stellen Sie RDP-Zertifikate aus Ihrer internen PKI aus:

  1. Duplizieren Sie in AD CS die Vorlage Computer, benennen Sie sie (etwa RDP-Server) und stellen Sie sicher, dass die Anwendungsrichtlinien Server Authentication enthalten (oder die spezielle OID Remote Desktop Authentication 1.3.6.1.4.1.311.54.1.2). Erteilen Sie den relevanten Computergruppen das Recht zur automatischen Registrierung.
  2. Setzen Sie Server authentication certificate template auf diesen Vorlagennamen. Die Hosts registrieren sich automatisch und binden das Zertifikat an den Listener.
  3. Belassen Sie auf Clients Configure server authentication for client (unter Remote Desktop Connection Client) bei Warn me oder setzen Sie es für Admin-Arbeitsplätze auf Do not connect, damit ein nicht passendes Zertifikat nicht stillschweigend akzeptiert wird.

Zusammen mit der Härtung von TLS und Schannel erhält RDP so einen modernen, authentifizierten Kanal.

Schritt 4: begrenzen, wer sich von wo verbinden darf

Benutzer. Das Benutzerrecht Allow log on through Remote Desktop Services (Anmelden über Remotedesktopdienste zulassen; Computer Configuration > Policies > Windows Settings > Security Settings > Local Policies > User Rights Assignment) steht standardmäßig auf Administratoren und Remotedesktopbenutzer. Setzen Sie es pro Server-Tier ausdrücklich auf eine kleine Admingruppe. Ergänzen Sie Deny log on through Remote Desktop Services für lokale Konten (Local account and member of Administrators group, SID S-1-5-114) und auf niedrigeren Tiers für Tier-0-Konten, wie im Leitfaden zum Admin-Tiering beschrieben. Halten Sie die lokale Gruppe Remotedesktopbenutzer auf Servern leer, sofern sie nicht zentral verwaltet wird.

Arbeitsplätze. Die meisten Benutzerarbeitsplätze müssen überhaupt keine RDP-Verbindungen annehmen. Lassen Sie Allow users to connect remotely dort deaktiviert; der Helpdesk kann stattdessen ein Remoteunterstützungstool verwenden.

Netzwerke. Begrenzen Sie die eingehenden Firewallregeln auf Ihr Adminnetz oder Ihre Privileged Access Workstations:

PowerShell
Set-NetFirewallRule -DisplayGroup "Remote Desktop" `
  -RemoteAddress 10.10.50.0/24 -Profile Domain

Setzen Sie dasselbe zentral über die im Leitfaden zur Windows-Firewall beschriebene Firewallrichtlinie um, die auch RDP zwischen Arbeitsplätzen blockiert.

Brute Force. Windows 11 ab 22H2 wird mit einer standardmäßigen Kontosperrungsrichtlinie (10 Fehlversuche innerhalb von 10 Minuten) für lokale Konten ausgeliefert. Für Domänenkonten gilt Ihre Sperrrichtlinie der Domäne. Die Kontosperrung ist ein Auffangnetz, keine Verteidigung für exponiertes RDP.

Schritt 5: RDP-Aktivitäten protokollieren

ProtokollEreignisBedeutung
Security4624, Anmeldetyp 10Erfolgreiche RDP-Anmeldung (RemoteInteractive)
Security4625Fehlgeschlagene Anmeldung; mit NLA erscheinen Fehlschläge oft als Anmeldetyp 3
Security4778 / 4779Sitzung wiederverbunden / getrennt
TerminalServices-RemoteConnectionManager/Operational1149Netzwerkauthentifizierung für einen Benutzer von einer IP erfolgreich
TerminalServices-LocalSessionManager/Operational21, 23, 24, 25Sitzungsanmeldung, Abmeldung, Trennung, erneute Verbindung
RemoteDesktopServices-RdpCoreTS/Operational131Verbindung von einer Client-IP und einem Port angenommen

Aktivieren Sie Audit Logon und Audit Other Logon/Logoff Events (Erfolg und Fehler) in der erweiterten Überwachungsrichtlinie; die Baseline für die Überwachungsrichtlinie deckt beides ab. Alarmieren Sie bei RDP-Anmeldungen privilegierter Konten außerhalb von PAWs, bei RDP von Arbeitsplatz zu Arbeitsplatz und bei gehäuften 4625-Ereignissen.

Was dabei kaputtgeht

  • Kennwortänderung bei der Anmeldung unter NLA: Benutzer mit abgelaufenem Kennwort können sich erst verbinden, wenn sie es anderswo zurückgesetzt haben. Bieten Sie ihnen eine Self-Service-Kennwortzurücksetzung oder die Änderung per Strg+Alt+Ende in einer funktionierenden Sitzung an.
  • Das Entfernen der Zwischenablage- und Laufwerksumleitung frustriert Admins, die Dateien verschieben wollen. Stellen Sie einen ordentlichen Weg für die Dateiübertragung bereit.
  • Alte Thin Clients, die NLA oder TLS 1.2 nicht unterstützen.
  • Sitzungszeitlimits beenden lang laufende interaktive Aufgaben. Führen Sie diese als geplante Aufgaben oder Dienste aus, nicht in einer getrennten Sitzung.

Überprüfen

PowerShell
Get-CimInstance -Namespace root\cimv2\TerminalServices -ClassName Win32_TSGeneralSetting `
  -Filter "TerminalName='RDP-Tcp'" |
  Select-Object UserAuthenticationRequired, SecurityLayer, MinEncryptionLevel, SSLCertificateSHA1Hash
Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Get-NetFirewallAddressFilter

Erwartet werden UserAuthenticationRequired = 1, SecurityLayer = 2, MinEncryptionLevel = 3 und ein Zertifikatfingerabdruck, der zu einem von der PKI ausgestellten Zertifikat im persönlichen Speicher des Computers passt, nicht zu einem selbstsignierten. Verbinden Sie sich von einer PAW aus und prüfen Sie, dass keine Zertifikatwarnung erscheint; verbinden Sie sich aus einem Nicht-Admin-Subnetz und prüfen Sie, dass die Verbindung in ein Timeout läuft.

Checkliste

  • Kein RDP zum Internet exponiert; Fernzugriff über RD-Gateway oder VPN mit MFA
  • NLA per Richtlinie erzwungen; Encryption Oracle Remediation auf Force Updated Clients gesetzt
  • Sicherheitsschicht TLS, Verschlüsselungsstufe High, PKI-Zertifikate über eine Vorlage
  • RDP auf Arbeitsplätzen deaktiviert, die es nicht brauchen
  • „Allow log on through Remote Desktop Services“ pro Tier auf Admingruppen beschränkt
  • RDP-Anmeldung für lokale Adminkonten verweigert (S-1-5-114)
  • Firewallregeln auf Adminnetze begrenzt
  • Sitzungszeitlimits und Einschränkungen der Umleitung auf Servern
  • Ereignisse 4624 Typ 10, 1149 und LocalSessionManager erfasst und mit Alarmen versehen

Diese Einstellungen schützen den Server vor dem Netzwerk. Um den Administrator vor einem kompromittierten Server zu schützen, lesen Sie weiter bei Restricted Admin und Remote Credential Guard.

Häufige Fragen

Verbessert es die Sicherheit, den RDP-Port 3389 zu ändern?

Kaum. Internetweite Scanner finden RDP auf jedem Port innerhalb von Stunden; ein anderer Port reduziert also nur das Protokollrauschen der faulsten Bots. Außerdem verkompliziert er Firewallregeln und Dokumentation. Investieren Sie den Aufwand lieber darin, RDP komplett vom Internet fernzuhalten, Authentifizierung auf Netzwerkebene zu verlangen, die Firewallregel auf Adminnetze zu begrenzen und allem, was von außen kommt, ein RD-Gateway mit MFA vorzuschalten.

Was ist der Unterschied zwischen NLA und Restricted Admin oder Remote Credential Guard?

Die Authentifizierung auf Netzwerkebene (NLA) zwingt den Client, sich zu authentifizieren, bevor eine Sitzung und ein Anmeldebildschirm erstellt werden, und schützt so den Server vor nicht authentifizierten Angreifern. Restricted Admin und Remote Credential Guard schützen die Anmeldedaten des Clients vor einem kompromittierten Server. Sie lösen entgegengesetzte Probleme: Verwenden Sie NLA überall und ergänzen Sie für Administratoren einen der Modi zum Schutz von Anmeldedaten.

Welches Ereignis zeigt, wer sich per RDP angemeldet hat?

Sicherheitsereignis 4624 mit Anmeldetyp 10 (RemoteInteractive) zeichnet eine RDP-Anmeldung einschließlich der Quelladresse auf. Ereignis 1149 im Protokoll TerminalServices-RemoteConnectionManager Operational zeigt eine erfolgreiche Netzwerkauthentifizierung, und die Ereignisse 21, 24 und 25 im Protokoll TerminalServices-LocalSessionManager Operational zeigen Anmeldung, Trennung und erneute Verbindung einer Sitzung. Korrelieren Sie sie, um eine Sitzung von Anfang bis Ende zu verfolgen.

Remotedesktop (RDP) unter Windows 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