Zum Inhalt springen

Xrdp

Aus Foxwiki

xrdp - Server für das Remote Desktop Protocol (RDP)

Beschreibung

xrdp ist ein Remote Desktop Protocol (RDP)-Server für Linux

Im Gegensatz zu Windows-Servern zeigt xrdp einen X-Window-Desktop an

xrdp bietet einem Client eines entfernten Rechners einen grafischen Anmeldebildschirm an

  • Dafür nutzt er das Remote Desktop Protocol (RDP)
  • Der Server kann mit den xorgxrdp-Treibern eine Verbindung zu einer lokalen X.org-Sitzung herstellen
  • Auch die Verbindung zu einem VNC-X11-Server und die Weiterleitung zu einem anderen RDP-Server sind möglich
Xrdp akzeptiert Verbindungen von
  • freerdp
  • rdesktop
  • Den integrierten Terminal-Server-/Remote-Desktop-Clients von Microsoft Windows-Betriebssystemen
VNC->RDP-Brücke

Es kann auch als VNC->RDP-Brücke verwendet werden

  • Im RDP- oder VNC-Weiterleitungsmodus kann jede Art von Desktop verwendet werden
  • In den Modi xorgxrdp (der X11RDP ersetzt) und VNC stellt er einen voll funktionsfähigen Linux-Terminalserver bereit, der dem Benutzer eine X-Window-Arbeitsumgebung bietet.

Erste Verbindung

Windows (mstsc)
mstsc /v:HOSTNAME-ODER-IP
Linux (FreeRDP)
xfreerdp /v:HOSTNAME-ODER-IP /u:USERNAME /p:PASSWORD

Aufruf

xrdp --kill
xrdp --help
xrdp --version
xrdp [--nodaemon] [--port port] [--fork] [--dump-config] [--config /path/to/xrdp.ini]

Optionen

Unix GNU Parameter Beschreibung
-k --kill Laufenden xrdp-Daemon beenden
-h --help Hilfeinformationen ausgeben und beenden
-v --version Versionsinformationen ausgeben und beenden
-n --nodaemon Startet xrdp im Vordergrund statt als Daemon
-p --port PORT Legt den TCP-Port fest, der überwacht werden soll. Dies überschreibt die Porteinstellung in der Datei xrdp.ini.
-f --fork Erstellt einen neuen Prozess für eine neue Verbindung. Wenn nicht aktiviert, wird für jede Verbindung ein neuer Thread verwendet. Dies überschreibt die "Fork"-Einstellung in der Datei xrdp.ini.
‑‑dump‑config Die Konfiguration vor dem Start des Daemons auf stdout ausgeben. Standardmäßig wird dies nicht durchgeführt
-c --config Einen Pfad zu einer anderen xrdp.ini-Datei angeben. Diese Option ist hauptsächlich für Tests oder ungewöhnliche Konfigurationen vorgesehen.

Konfiguration

  • Die zentrale Konfiguration erfolgt über /etc/xrdp/xrdp.ini und /etc/xrdp/sesman.ini
  • Der Session-Start erfolgt über /etc/xrdp/startwm.sh (optional zusätzlich pro Benutzer über ~/.xsession)

Baseline

Port und TLS-Grundparameter
[Globals]
port=3389
security_layer=negotiate
crypt_level=high
certificate=
key_file=
  • Für produktive Nutzung ist eine definierte TLS-Konfiguration und eine restriktive Netzfreigabe sinnvoll
  • Nicht benötigte RDP-Funktionen (z.B. Laufwerks- oder Clipboard-Umleitung) sollten deaktiviert werden, sofern nicht erforderlich (Parameter in /etc/xrdp/xrdp.ini)

Sicherheit

  • Direkte Exponierung von 3389/TCP ins Internet vermeiden. Zugriff über VPN, Jump Host oder Tunnel bereitstellen
  • Eingehende Verbindungen auf bekannte Quellnetze beschränken (Firewall-Allowlist)
  • TLS aktivieren, schwache Modi vermeiden
  • Nicht benötigte Kanäle deaktivieren (z.B. Laufwerksumleitung rdpdr, Zwischenablage cliprdr)
  • Brute-Force-Schutz vorsehen

Dateien

Datei Beschreibung
/etc/xrdp/xrdp.ini Hauptkonfiguration
/etc/xrdp/sesman.ini Session-Manager
/etc/xrdp/startwm.sh Start der Desktop-Sitzung
/var/log/xrdp.log Log-Datei
/var/log/xrdp-sesman.log Session-Log
/usr/sbin/xrdp Ausführbare Datei (Daemon)
/var/run/xrdp.pid PID-Datei
/usr/lib/systemd/system/xrdp.service systemd Unit
/usr/lib/systemd/system/xrdp-sesman.service systemd Unit


Anhang

Siehe auch

Sicherheit

Dokumentation

RFC
Man-Page
  • xrdp.ini(5)
  • sesman(8)
  • sesman.ini(5)
  • sesrun(8)

Links

Projekt

  1. https://www.xrdp.org/

Weblinks