/etc/xrdp/xrdp.ini
Erscheinungsbild
/etc/xrdp/xrdp.ini - Zentrale Konfigurationsdatei des XRDP-Listeners.
Beschreibung
In xrdp.ini werden die globalen Eigenschaften des Dienstes konfiguriert:
- Netzwerk-Listener (Port, Bind-Interface)
- Sicherheitslayer (TLS/RDP)
- Logging
- Feature-Kanäle (Clipboard, Laufwerke, Audio)
- Sitzungsdefinitionen
Aufbau
- Wichtige Sektionen
- [Globals] – Listener, Security, Performance-Flags, Laufzeit-User
- [Logging] – Logziele und Loglevel
- [Channels] – Aktivierung einzelner virtueller Kanäle
- [Xorg], [Xvnc] und weitere – Connection sections
Parameter
[Globals]
| Parameter | Werte / Beispiel | Beschreibung |
|---|---|---|
| ini_version | 1 | Marker für das Konfigurationsformat. Wird meist durch Paketmaintainer gesetzt |
| port | 3389 tcp://:3389 tcp://10.0.0.1:3389 |
Listener-Endpunkt. Abhängig von Release werden Schemas unterstützt (z.B. tcp/tcp6/unix/vsock) |
| address | 127.0.0.1 / 10.0.0.1 | Bind-Adresse (Legacy/Distribution). Wenn verfügbar, wird der Listener auf ein Interface begrenzt |
| tcp_nodelay | true/false | Reduziert Latenz (TCP_NODELAY). |
| tcp_keepalive | true/false | Keepalive für lange TCP-Sessions (SO_KEEPALIVE) |
| security_layer | tls / rdp / negotiate | Security-Modus. negotiate wählt abhängig vom Client |
| crypt_level | none/low/medium/high/fips | Verschlüsselungsstufe für Classic-RDP-Security (wirksam bei security_layer=rdp oder teils negotiate) |
| certificate | /etc/xrdp/cert.pem | TLS-Zertifikat (PEM) |
| key_file | /etc/xrdp/key.pem | TLS-Private-Key (PEM) |
| ssl_protocols | TLSv1.2,TLSv1.3 | Erlaubte TLS-Protokolle (bei TLS/Negotiation) |
| tls_ciphers | <OpenSSL-Cipher-String> | Cipher-Suite-Auswahl für TLS (OpenSSL-Syntax) |
| allow_channels | true/false | Globale Freigabe virtueller Kanäle. Bei false werden Kanäle effektiv blockiert |
| max_bpp | 8/15/16/24/32 | Maximale Farbtiefe |
| bitmap_cache | true/false | Bitmap-Caching zur Performance-/Bandbreitenoptimierung. |
| bitmap_compression | true/false | Bitmap-Kompression (reduziert Bandbreite, erhöht CPU) |
| bulk_compression | true/false | Kompression von Bulk-Daten |
| use_fastpath | none/input/output/both | FastPath-Optimierung (Performance) |
| domain_user_separator | \\, @, + | Trennzeichen für Domain/Realm im Username |
| runtime_user | xrdp | Laufzeit-User des Dienstes (wenn im Setup genutzt) |
| runtime_group | xrdp | Laufzeit-Gruppe des Dienstes (wenn im Setup genutzt) |
- Hinweis
- key_file muss restriktiv berechtigt sein, aber für den XRDP-Prozess lesbar bleiben
[Logging]
| Parameter | Werte | Beschreibung |
|---|---|---|
| LogFile | xrdp.log /var/log/xrdp.log |
Logdatei (relativ oder absolut Pfad) |
| LogLevel | ERROR/WARN/INFO/DEBUG | Detailgrad der Datei-Logs |
| EnableSyslog | true/false | Syslog-Logging aktivieren |
| SyslogLevel | ERROR/WARN/INFO/DEBUG | Detailgrad für Syslog |
| EnableConsole | true/false | Console-Logging (Debugging) |
| ConsoleLevel | ERROR/WARN/INFO/DEBUG | Detailgrad der Console-Logs |
| EnableProcessId | true/false | PID in Logzeilen ausgeben |
[Channels]
| Parameter | Werte | Beschreibung |
|---|---|---|
| cliprdr | true/false | Zwischenablage |
| rdpdr | true/false | Device Redirection (u.a. Laufwerksweiterleitung) |
| rdpsnd | true/false | Audio |
| drdynvc | true/false | Dynamic Virtual Channels. Voraussetzung für diverse Features |
| rail | true/false | RemoteApp/RAIL (falls genutzt) |
| xrdpvr | true/false | XRDP-Video/Streaming (falls genutzt) |
- Hinweis
- Aktivierte Kanäle erhöhen die Angriffsfläche. Nicht benötigte Kanäle deaktivieren
Session types
Connection sections definieren die im Login-Dialog auswählbaren Backend-Typen
| Sektion | Parameter | Werte | Beschreibung |
|---|---|---|---|
| [Xorg]/[Xvnc]/… | name | Xorg / Xvnc | Anzeigename im Login-Dialog |
| [Xorg]/[Xvnc]/… | lib | libxup.so / libvnc.so | Backend-Library (Xorgxrdp/VNC) |
| [Xorg]/[Xvnc]/… | username | ask / na | Credential-Handling (GUI-Abfrage oder n/a) |
| [Xorg]/[Xvnc]/… | password | ask / na | Password-Handling |
| [Xorg]/[Xvnc]/… | ip | 127.0.0.1 / ask | Zielhost für Backend |
| [Xorg]/[Xvnc]/… | port | -1 / ask5900 | Zielport (-1 nutzt Backend-Default, VNC - 5900) |
| [Xorg]/[Xvnc]/… | code | 20 | Session-Typ-ID |
| [Xvnc] | xserverbpp | 24 | Farbtiefe des VNC-Backends |
| [Xvnc] | disable_encodings_mask | Integer/Bitmask | Maskiert VNC-Encodings (Workarounds) |
- Beispiele
TLS + Bind auf internes Interface
[Globals]
port=3389
address=10.0.0.1
security_layer=tls
certificate=/etc/xrdp/cert.pem
key_file=/etc/xrdp/key.pem
- nicht benötigte Kanäle deaktivieren
[Channels]
cliprdr=true
rdpdr=false
rdpsnd=false
drdynvc=true
rail=false
Änderungen übernehmen
sudo systemctl restart xrdp xrdp-sesman