Warum RDP härten?

Remote Desktop (RDP) ist in vielen Umgebungen der primäre Zugang zu Servern und Arbeitsstationen. Standardmäßig lauscht der RDP-Listener auf TCP-Port 3389 und akzeptiert Verbindungen ohne vorgeschaltete Authentifizierung auf Netzwerkebene. Das macht ihn zum bevorzugten Ziel von Brute-Force-Angriffen und Ransomware-Gruppen. Mit wenigen Gruppenrichtlinien lässt sich die Angriffsfläche deutlich reduzieren, ohne auf RDP verzichten zu müssen.

Voraussetzungen

Die Einstellungen gelten für Windows 10/11 sowie Windows Server 2019/2022/2025. Die Konfiguration erfolgt über den Gruppenrichtlinien-Editor (gpedit.msc lokal oder gpmc.msc in der Domäne). Der Pfad zu allen Einstellungen:

Computerkonfiguration → Richtlinien → Administrative Vorlagen → Windows-Komponenten → Remotedesktopdienste → Remotedesktop-Sitzungshost

1. Network Level Authentication (NLA) erzwingen

NLA verlangt, dass sich der Benutzer bereits auf Netzwerkebene authentifiziert, bevor eine RDP-Sitzung aufgebaut wird. Das verhindert, dass ein Angreifer ohne gültige Anmeldedaten einen Sitzungsaufbau auslöst und Ressourcen bindet.

  • Pfad: ... → Sicherheit → Benutzerauthentifizierung für Remotedesktopverbindungen erfordern
  • Einstellung: Aktiviert
  • Option: Benutzerauthentifizierung erforderlich

Alternativ per Registry: HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services, DWORD UserAuthentication = 1.

2. Verschlüsselungsstufe und Sicherheitsschicht festlegen

Die Sicherheitsschicht steuert, welche Protokolle für die Verschlüsselung verwendet werden. SSL (TLS 1.0) oder höher ist Pflicht; Negotiate kann auf ältere Clients zurückfallen.

  • Pfad: ... → Sicherheit → Sicherheitsschicht für Remotedesktopverbindungen festlegen
  • Einstellung: Aktiviert
  • Option: SSL

Für die Verschlüsselungsstufe:

  • Pfad: ... → Sicherheit → Verschlüsselungsstufe für Remotedesktopverbindungen festlegen
  • Einstellung: Aktiviert
  • Option: Hoch (128-Bit)

3. Mindest-TLS-Version erzwingen

Über die Registry lässt sich die minimale TLS-Version für RDP festlegen. TLS 1.2 ist derzeit der empfohlene Mindeststandard:

New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "MinEncryptionLevel" -Value 3 -Type DWord
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" -Name "SecurityLayer" -Value 2 -Type DWord

SecurityLayer = 2 entspricht SSL/TLS, MinEncryptionLevel = 3 der Stufe „Hoch“.

4. Sitzungszeitlimits setzen

Offene, inaktive RDP-Sitzungen sind ein Einfallstor. Setzen Sie Idle-Timeouts und maximale Sitzungsdauern:

  • Pfad: ... → Sitzungszeitlimits → Zeitlimit für aktive, aber untätige Remotedesktopdienste-Sitzungen festlegen → Aktiviert, Wert 15 Minuten
  • Pfad: ... → Sitzungszeitlimits → Zeitlimit für getrennte Sitzungen festlegen → Aktiviert, Wert 1 Minute
  • Pfad: ... → Sitzungszeitlimits → Zeitlimit für Remotedesktopdienste-Sitzungen festlegen → Aktiviert, Wert 8 Stunden

Zusätzlich: Getrennte Sitzungen beenden aktivieren, damit getrennte Sitzungen nicht unbegrenzt im Speicher verbleiben.

5. Remote Credential Guard aktivieren

Remote Credential Guard verhindert, dass Anmeldeinformationen bei einer RDP-Verbindung an den Zielhost übertragen werden. Stattdessen erfolgt die Authentifizierung über Kerberos-Delegierung. Das schützt vor Pass-the-Hash-Angriffen über RDP.

  • Pfad: Computerkonfiguration → Administrative Vorlagen → System → Anmeldeinformationen-Delegierung → Remotehost zulassen, um delegierte Standardanmeldeinformationen anzufordern → Deaktiviert
  • Registry: HKLM\SYSTEM\CurrentControlSet\Control\Lsa, DWORD DisableRestrictedAdmin = 0

Bei Verbindung mit Restricted Admin Mode:

mstsc /restrictedAdmin /v:server01.contoso.local

6. RDP-Port ändern (optional, Defense in Depth)

Das Ändern des Standardports 3389 reduziert automatisierte Scans, ersetzt aber keine echte Härtung. Registry-Pfad:

$port = 3390
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" -Name "PortNumber" -Value $port
New-NetFirewallRule -DisplayName "RDP Custom Port" -Direction Inbound -Protocol TCP -LocalPort $port -Action Allow

Neustart des Dienstes oder Neustart des Systems erforderlich. Firewall-Regel für Port 3389 anschließend entfernen.

7. Firewall und Zugriffsbeschränkung

Beschränken Sie RDP-Zugriffe auf Verwaltungsnetze und VPN-Segmente:

Set-NetFirewallRule -DisplayGroup "Remotedesktop" -RemoteAddress 10.0.0.0/8,192.168.0.0/16

Deaktivieren Sie RDP auf Systemen, die es nicht benötigen:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1

8. Prüfung und Audit

Nach der Anwendung der Richtlinie prüfen Sie die Einstellungen:

gpresult /h C:\Temp\rdp-gpo.html
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" | Select-Object UserAuthentication, SecurityLayer, MinEncryptionLevel

Im Ereignisprotokoll unter Microsoft-Windows-TerminalServices-LocalSessionManager/Operational lassen sich erfolgreiche und fehlgeschlagene RDP-Verbindungen nachvollziehen.

Quellen

Hinweis: Dieser Beitrag wurde mit Unterstützung künstlicher Intelligenz (KI) erstellt.

Tags

No responses yet

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert