Apache/Guacamole: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 90: | Zeile 90: | ||
== Troubleshooting == | |||
=== XRDP Tastatur === | |||
; Lösung des Problems mit der Eingabe von Zeichen in anderen Sprachen als Englisch | |||
: Um deutsche Zeichen über XRDP in Guacamole korrekt eingeben zu können, musst du in den Verbindungseinstellungen als Tastaturlayout ''German'' auswählen. | |||
== Anhang == | == Anhang == | ||
Aktuelle Version vom 2. Dezember 2025, 16:10 Uhr
Apache/Guacamole - Gateway zum Fernzugriff auf Computersysteme
Beschreibung
Apache Guacamole ist ein freies und quelloffenes Gateway für den Fernzugriff auf Computersysteme, welches von der Apache Software Foundation betreut wird
Plattformunabhängig ermöglicht es Benutzern, ohne einen dedizierten Client über Webbrowser auf entfernte Computer oder virtuelle Maschinen zuzugreifen
- Administratoren können den Zugriff durch ein erweiterbares System für Authentifizierung und Autorisierung regeln, sodass Zielcomputer sicher hinter Guacamole isoliert werden können, ohne direkt im Internet erreichbar zu sein
Für den Fernzugriff nutzt Guacamole die Komponente guacd, die Protokolle wie RDP, VNC oder SSH für den Zugriff auf die jeweiligen Ressourcen verwendet
- Da Guacamole keinen spezifischen Client benötigt, ist keine Agenteninstallation auf den Zielressourcen erforderlich
- Durch die Integration des Clients in Webbrowser können Benutzer ohne zusätzliche Fernwartungssoftware auf ihre Computersysteme zugreifen
Komponenten
Guacamole besteht aus mehreren logisch getrennten Komponenten:
- Webanwendung (Guacamole-Client)
- guacd (Guacamole Proxy Daemon)
- Protokollmodule (RDP, VNC, SSH usw.)
- gemeinsame Bibliothek libguac
- Im Hintergrund arbeitet der Dienst "guacd", welcher als Backend-Dienst fungiert
- Dieser Dienst übersetzt und optimiert dynamisch native Protokolle in das spezifische Guacamole-Protokoll, um eine effiziente Kommunikation und Darstellung im Webbrowser zu ermöglichen
Frontend
- Webanwendung
Die Webanwendung dient als Benutzeroberfläche und ist für Authentifizierung sowie Autorisierung zuständig
- Die Webanwendung ist eine Schnittstelle, über die Benutzer mit Guacamole interagieren, auf entfernte Computersysteme zugreifen und diese über einen Browser verwalten können
- Die Serverseite ist als Java-Webanwendung implementiert und läuft in einem Servlet-Container wie Apache Tomcat oder Jetty
- Im Webbrowser wird eine JavaScript-Anwendung ausgeführt, die Ein- und Ausgabedaten (Tastatur, Maus, Bildschirm) über das Guacamole-Protokoll an guacd überträgt bzw. von dort empfängt
Backend
- guacd
guacd fungiert als Backend-Dienst und Protokoll-Proxy zwischen der Webanwendung und den Zielsystemen.
- nimmt Verbindungsanforderungen der Webanwendung entgegen,
- stellt Sitzungen zu entfernten Systemen über die jeweils konfigurierten Fernzugriffsprotokolle her,
- übersetzt Datenströme zwischen dem Guacamole-Protokoll und den nativen Protokollen (RDP, VNC, SSH usw.),
- kapselt die Protokolldetails und stellt eine einheitliche Schnittstelle für die Webanwendung bereit
- Fernzugriffsprotokolle
Die Unterstützung für konkrete Fernzugriffsprotokolle wird durch dynamisch ladbare Client-Plugins bereitgestellt.
- Weder guacd noch die Webanwendung müssen die Details der einzelnen Fernzugriffsprotokolle kennen
- Sowohl guacd als auch die Plugins verwenden die gemeinsame Bibliothek libguac, die das Guacamole-Protokoll implementiert und die Kommunikation mit der Webanwendung abstrahiert
Anwendungsbereiche
Typische Einsatzgebiete von Guacamole sind Umgebungen, in denen zentraler, browserbasierter Fernzugriff benötigt wird
- Bereitstellung von administrativem Remotezugriff auf Server und Netzwerkgeräte ohne direkten Zugriff auf deren Management-Schnittstellen
- Zugriff auf Labor-, Schulungs- oder Poolrechner, bei denen Bedienoberflächen über das Web bereitgestellt werden
- Betrieb als zentraler Jump-Host, über den Verbindungen in abgeschottete Netzwerksegmente geführt werden
- Ersatz oder Ergänzung VPN-Lösungen, wenn ausschließlich grafischer oder terminalbasierter Zugriff notwendig ist
Authentifizierung / Autorisierung
- Authentifizierung
Die Authentifizierung in Guacamole ist modular aufgebaut und kann über unterschiedliche Backends erfolgen:
- Die integrierte Datenbankauthentifizierung ermöglicht die Verwaltung von Benutzern, Gruppen und Berechtigungen innerhalb eines relationalen Datenbanksystems.
- Zugriffsrechte auf Verbindungen, Ordner und Freigaben werden direkt in der Datenbank definiert.
- Eine Authentifizierung über OpenID Connect oder SAML erlaubt die Integration in bestehende Identity-Provider-Infrastrukturen.
- Single-Sign-On ermöglicht eine zentrale Anmeldung für unterschiedliche Dienste.
- Anspruchsbasierte Zuordnung von Rollen und Rechten vereinfacht die zentrale Verwaltung.
- Es können auch externe Verzeichnisdienste wie LDAP oder Active Directory für die zentrale Benutzerverwaltung angeschlossen werden
- Autorisierung
Die Autorisierung erfolgt objektbasiert.
- Zugriffe auf Verbindungen, Ordner, Parameter und administrative Funktionen werden durch Berechtigungen gesteuert
- Rechte können Benutzern direkt oder über Gruppen zugewiesen werden
Sicherheit
Beim Betrieb von Guacamole sind insbesondere folgende Punkte relevant:
- Obligatorische durchgängige HTTPS-Verschlüsselung zwischen Browser und Gateway
- Platzierung von Guacamole in einer demilitarisierten Zone mit eingeschränktem Zugriff auf interne Systeme
- Härtung des guacd-Dienstes und der Protokollmodule, insbesondere im Hinblick auf exponierte RDP- und VNC-Zugänge
- Verwenden Sie für RDP und VNC zuverlässige Authentifizierungsmechanismen und Protokollversionen mit Verschlüsselung
- Einführung einer Begrenzung der Anfragehäufigkeit und eines Schutzes vor Brute-Force-Angriffen
- Protokollierung von Anmeldevorgängen und Sitzungsaufbauten zu Audit- und Nachvollziehbarkeitszwecken
- Authentifizierungsprotokolle sicher speichern
Troubleshooting
XRDP Tastatur
- Lösung des Problems mit der Eingabe von Zeichen in anderen Sprachen als Englisch
- Um deutsche Zeichen über XRDP in Guacamole korrekt eingeben zu können, musst du in den Verbindungseinstellungen als Tastaturlayout German auswählen.
Anhang
Siehe auch
Dokumentation
Links
Projekt
Weblinks
- https://de.wikipedia.org/wiki/Apache_Guacamole
- https://guacamole.apache.org
- https://guacamole.apache.org/doc/1.4.0/gug/guacamole-docker.html