Forscher der Sicherheitsfirma ESET haben seit Beginn der Corona Pandemie einen enormen Anstieg von Angriffen via Remote Desktop Protocol (RDP) auf Unternehmenscomputer festgestellt. Sie stellten für den Monat Juni täglich rund 3 Millionen Angriffsversuche auf RDP fest.
Vor Corona waren hier noch 260.000 Fälle täglich zu verzeichnen.
RDP ist seit Jahren in Sicherheitskreisen als riskant eingestuft und Administratoren brauchen tiefgreifendes Wissen, um den Unternehmenseinsatz sicher zu gestalten. Auch wir testen regelmäßig fremde Unternehmen auf deren Sicherheit und haben in einem Großteil der Fälle die Möglichkeit, mit den Tools hydra oder bluekeep über unsichere RDP-Verbindungen in die Systeme einzudringen.
Die Uni Rostock hat dazu ein How-to veröffentlicht, was auch erfahrenen Administratoren Hilfestellungen geben kann im Umgang mit RDP.
(Es folgt eine Kopie von https://www.itmz.uni-rostock.de/anwendungen/software/windows/sicherheit/absicherung-von-remotedesktopzugaengen/, 26.09.2020)
Remotedesktop ist für viele Nutzer und Administratoren unverzichtbar für die tägliche Arbeit geworden, da es den weltweiten Zugriff auf den Windows-Desktop einschließlich aller gestarteten Anwendungen ermöglicht.
Um so wichtiger ist es, den Zugriff auf den vom Remotedesktopdienst benutzten TCP-Port (Standard 3389) abzusichern.
Dies können Sie mit den Bordmitteln des Betriebssystems (Windows Firewall, Benutzerrechte, RDP-ACLs, IPSec-Schutz) und/oder Zusatzsoftware (VPN, Remotedesktop-Gateway) erreichen.
Achtung! Die Voraussetzung für ein sicheres System ist die Installation der aktuellen Windows-Sicherheitsupdates per Windows Update!
Welche Methode der Absicherung ist für mich geeignet?
Für alle Nutzer geeignet:
Für Administratoren geeignet:
Auswirkungen der Schutzmaßnahmen auf die verschiedenen RDP-Angriffsvektoren
Die nachfolgende Tabelle stellt in Kurzform die Wirksamkeit der einzelnen Schutzmaßnahmen in Bezug auf das Unterbinden der verschiedenen RDP-Angriffsvektoren dar.
Schutzmaßnahme | Weltweite anonyme Verbindungs-aufnahme (z.B. nmap-Scans) | Weltweite Passwortangriffe per RDP | Weltweite administrative Zugriffe per RDP | Weltweite man-in-the-middle Angriffe |
---|---|---|---|---|
Einschränkung der Reichweite des Remotedesktop-TCP-Ports | unterbunden | unterbunden | unterbunden | unterbunden |
Härten des RDP-Protokolls | möglich | möglich | möglich | unterbunden |
Unterbinden administrativer Anmeldungen per Remotedesktop | möglich | möglich | unterbunden | möglich |
Anlegen eines RDP-Ports für administrative Zugänge (mit Einschränkung der Reichweite auf vertrauenswürdige IP-Adressen) | unterbunden | unterbunden | unterbunden | unterbunden |
Nutzung von IPSec für Verschlüsselung und Integrität | unterbunden | unterbunden | unterbunden | unterbunden |
Nutzung von VPN-Servern | unterbunden | möglich, nach erfolgter VPN-Anmeldung | möglich, nach erfolgter VPN-Anmeldung | möglich, nach erfolgter VPN-Anmeldung |
Nutzung von Remotedesktop-Gatewayservern | unterbunden | unterbunden | unterbunden | unterbunden |
Die einfachste Art der Absicherung von Remotedesktopzugängen ist die Einschränkung der Reichweite des Remotedesktop-TCP-Ports auf vertrauenswürdige IP-Adressen per Windows Firewall, entweder per grafischer Oberfläche (GUI) oder per Kommandozeile. Dies ist ab Windows XP möglich.
Die Batchdatei “Restrict_RDP.bat”, beschränkt den Zugriff auf den Remotedesktop-TCP-Port 3389 auf das Subnetz 192.168.0.0/16. Die Batchdatei “Restrict_RDP.bat” ist für administrativer Nutzer ab Windows Vista/Windows Server 2008 nutzbar.
Laden Sie sich die Datei Restrict_RDP.bat herunter, passen Sie die Reichweite des Remotedesktop-RDP-Ports über die Variable RDIPs Ihrer Umgebung an und führen Sie die veränderte Batchdatei “Restrict_RDP.bat” aus.
Dazu gehen Sie folgt vor:
Falls es eventuell nicht sinnvoll ist, den Remotedesktop-TCP-Port auf vertrauenswürdige IP-Adressen einzuschränken, wie z.B. auf Arbeitsplatz-PCs oder zentralen Remotedesktopservern, dann sollten Sie nachstehende Möglichkeiten der Absicherung nutzen.
Führen Sie jeweils folgendes Kommando als Administrator aus. Die entsprechende Einstellung ist anschließend für jede neue RDP-Sitzung aktiviert.
Erzwingen der Verschlüsselung per TLS
Es ist auch möglich diese Einstellungen per Gruppenrichtline vorzunehmen, s. dazu
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc781085(v=ws.10)#BKMK_GP
Erzwingen aktualisierter RDP-Clients für Sciherheitsproblem CVE-2018-0886 des CredSSP-Protokolls
Es ist auch möglich diese Einstellungen per Gruppenrichtline vorzunehmen, s. dazu
https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018
Achtung! Linux-Clients müssen anschließend auf Remmina 1.4.3 oder höher umsteigen, s . dazu
https://www.itmz.uni-rostock.de/onlinedienste/anwendungsserver-des-itmz/downloads/
Alle Mac- und Windows-Clients sollten mit aktuellen RDP-Clients problemlos arbeiten können.
Um die Standardeineinstellungen wiederherzustellen, führen Sie folgende Kommandos an einer administrativen Kommandozeile aus:
Referenz:
Um sicherzustellen, dass trotz des Besitzes eines Kontos (z.B. Kenntnis von administrativem Nutzerkennzeichen und Passwort) keine Anmeldung per Remotedesktop erfolgen kann, gibt es folgende Möglichkeiten:
Um den Zugriff auf Remotedesktop-TCP-Port nur vertrauenswürdigen Systemen unabhängig von der jeweiligen IP-Adresse des RDP-Clients zu erlauben, kann IPSec benutzt werden. Dazu wird mittels IPSec die anonyme Verbindungsaufnahme unterbunden und entweder ein Password (PSK – Preshared Key) oder Zertifikate überprüft.
Der preshared key-basierte IPSec-Schutz ist verglichen mit dem zertifikats-basierten IPSec-Schutz unsicherer, aber um ein Vielfaches sicherer als einen TCP-Port ohne IPSec-Schutz zu öffnen, da durch den IPSec-Schutz in jedem Fall die anonyme Verbindungsaufnahme unterbunden wird.
Vor allem TCP-Ports, welche internetweit geöffnet werden müssen, lassen sich per IPSec wirksam ohne den Einsatz von zusätzlichen Mitteln schützen.
Folgende UDP-Ports müssen weltweit im Firewall geöffnet werden, damit der IPSec-Schutz funktioniert:
Dazu muß jeweils auf dem Remotedesktopserver (z.B. Arbeitsplatz-PC, Anwendungsserver usw.) und dem zugreifenden System (z.B. PC zu Hause, Laptop unterwegs) IPSec konfiguriert werden, da sowohl auf dem Server als auch auf Client der preshared Key und die Verschlüsselungs- und Integritätsprotokolle aktiviert werden müssen, bevor eine IPSec-gesicherte Verbindung hergestellt werden kann.
Die Konfiguration kann per GUI oder Kommandozeile erfolgen.
Nachfolgend finden Sie zwei Beispielbatchdateien, welche Sie sich herunterladen, anpassen und anschließend für die IPSec-Konfiguration des Servers und des Clients verwenden können:
Folgende Schritte sind für eine erfolgreiche Konfiguration des IPsec-Schutzes zwischen zwei Systemen notwendig.
Ausführlichere Informationen dazu finden Sie in den nächsten Zeilen.
Systemvoraussetzungen
Ausführen der Batchdateien
Die beiden Batchdateien müssen jeweils auf dem Remotedesktopserver und auf dem Remotedesktopclient ausgeführt werden, damit die dazugehörigen IPSec-Policies konfiguriert werden können.
Parameter der Batchdateien
Anlegen der IPSec-Policy zum Schutz des RDP-TCP-Ports
Löschen der IPSec-Policy zum Schutz des RDP-TCP-Ports
Aktivieren der IPSec-Policy zum Schutz des RDP-TCP-Ports
Desktivieren der IPSec-Policy zum Schutz des RDP-TCP-Ports
Anpassen der Batchdateien
Beide Batchdateien lassen mittels folgender Variablen anpassen, indem Sie die Dateien direkt verändern.
Anpassbare Variablen der Batchdatei
Variablenname | Mögliche Werte | Standard | Bedeutung |
---|---|---|---|
PSK | beliebige Zeichenkette | wj+fQ3MuXOE_mKRi_KoS8UBUT]jbtZBe*HC#t#$?;BS UWu.%TB2H;)8:hjOPVx(+b>^{XyK/*&CQ]nz%oMk&@2(#x[UyWD0ggo] |
Preshared Key für IPsec-Schutz |
TrustedIPs | Leer (TrustedIPs=) oder Kommagetrennte Liste von IP-Adressen oder Subnetzen in CIDR-Format | 192.168.1.0/24,192.168.3.4/32 | Liste von vertrauenswürdigen IP-Adressen oder Subnetzen |
Generierung eines Preshared Keys
Führen Sie folgende Kommandos in einer Windows-Powershell im Full Language Mode nacheinander aus:
[Reflection.Assembly]::LoadWithPartialName(“System.Web”) > $null
[System.Web.Security.Membership]::GeneratePassword(100,5)
Diese Befehle erzeugen ein Zufallspasswort mit einer Länge von 100 Zeichen und mindestens 5 Sonderzeichen.
Referenz:
IPSec-Konfiguration des Servers (z.B. Arbeitsplatz-PC, Anwendungsserver usw.)
Laden Sie sich die Datei IPSec_RDPServer.bat herunter, passen Sie die Datei Ihrer Umgebung an und führen Sie die veränderte Batchdatei “IPSec_RDPServer.bat” aus.
Dazu gehen Sie folgt vor:
IPSec-Konfiguration des Clients (z. B. PC zu Hause, Laptop unterwegs)
Laden Sie sich die Datei IPSec_RDPClient.bat herunter, passen Sie die Datei Ihrer Umgebung an und führen Sie die veränderte Batchdatei “IPSec_RDPServer.bat” aus.
Dazu gehen Sie folgt vor:
Beide nachfolgend angebenen Schutzmöglichkeiten beruhen darauf, den Zugriff auf den Remotedesktop-TCP-Port mit einer zusätzlichen Anmeldung per Nutzerkennzeichen und Passwort zu versehen.
Dies verringert die Angriffsmöglichkeiten auf den Remotedesktop-TCP-Port erheblich.
Nutzung von VPN-Servern
Voraussetzung für einen sinnvollen Schutz des Remotedesktop-TCP-Ports mittels VPN ist die Einschränkung der Reichweite des Remotedesktop-TCP-Ports 3389 auf die vom VPN-Server ausgegebenen IP-Adressen. Dies lässt sich einfach per Windows Firewall-Regeln umsetzen, s. dazu auch das Batchdateibeipiel weiter oben.
Anschließend kann ein Zugriff auf den Remotedesktop-TCP-Port nur aus den Subnetzen oder von den IP-Adressen erfolgen, welche der VPN-Server nach erfolgter Anmeldung per VPN-Client ausgibt.
Dadurch sind alle direkten Angriffe auf den Remotedesktop-TCP-Port abgeschaltet.
Hinweise zur Nutzung des VPN-Servers des ITMZ finden Sie hier
Nutzung von Remotedesktop-Gatewayservern
Ein Remotedesktop-Gateway ermöglicht es einem Remotedesktop-Client das Remotedesktop-Protokoll über das HTTPS-Protokoll zu tunneln.
Dadurch kann die Reichweite des Remotedesktop-TCP-Port 3389 auf den Remotedesktop-Gatewayserver eingeschränkt werden, da alle Remotedesktop-Clients über den Remotedesktop-Gatewayserver arbeiten können.
Dadurch sind alle direkten Angriffe auf den Remotedesktop-TCP-Port unterbunden.
Die Nutzung eines Remotedesktop-Gatewayservers durch den Windows Remotedesktop-Client “mstsc.exe” konfigurieren Sie wie folgt:
Wer sich noch einmal tiefgängiger mit dem Thema beschäftigen will, findet hier einen wirklich sauber ausgearbeiteten Artikel:
https://www.privacytutor.de/vpn/