Apache Guacamole

kostenloses und Open-Source-Remote-Desktop-Gateway

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.

Apache Guacamole

Basisdaten

Entwickler Apache Software Foundation
Erscheinungsjahr 17.03.2010
Aktuelle Version 1.5.5[1]
(5. April 2024)
Betriebssystem Server: Linux
Programmier­sprache C und Java (Server), JavaScript (Client)
Lizenz Apache-Lizenz 2.0
https://guacamole.apache.org

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.[2]

Komponenten

Bearbeiten

Guacamole setzt sich aus verschiedenen Komponenten zusammen. Die Webanwendung bildet die Schnittstelle, über die die Benutzer mit Guacamole interagieren können. Diese stellt die visuelle Oberfläche bereit, mit der entfernte Computersysteme über den Browser aufgerufen und gesteuert werden können. Im Hintergrund arbeitet der Dienst „guacd“, welcher als Backend-Dienst fungiert. Dieser Dienst übersetzt und optimiert dynamisch native Protokolle in das spezifische Guacamole-Protokoll[3], um eine effiziente Kommunikation und Darstellung im Webbrowser zu ermöglichen.[4]

Webanwendung

Bearbeiten

Die Webanwendung dient als Benutzeroberfläche und ist für Authentifizierung sowie Autorisierung zuständig. Sie implementiert nicht direkt Fernzugriffsprotokolle. Stattdessen verlässt sie sich auf den Dienst „guacd“, der diese Protokolle ins Guacamole-Protokoll übersetzt. Die Serverseite dieser Anwendung ist in Java programmiert und wird in einem Servlet-Container, wie Apache Tomcat oder Jetty, ausgeführt. Auf der Clientseite, die im Webbrowser abläuft, kommt JavaScript zum Einsatz.

Dienst „guacd“

Bearbeiten

„guacd“ ist ein Backend-Dienst, der Anfragen von der Webanwendung entgegennimmt und Verbindungen zu entfernten Computersystemen herstellt. Dabei lädt „guacd“ dynamisch Unterstützung für verschiedene Fernzugriffsprotokolle, was bedeutet, dass weder „guacd“ noch die Webanwendung die Einzelheiten der verschiedenen Fernzugriffsprotokolle kennen müssen. Sowohl „guacd“ als auch die dazugehörigen Client-Plugins greifen auf die Bibliothek „libguac“ zurück, die das Guacamole-Protokoll abstrahiert und die Kommunikation mit der Webanwendung erleichtert.

Geschichte

Bearbeiten

Im Jahr 2010 entwickelte Michael Jumper Guacamole zunächst als Client für VNC basierend auf HTML5.[5] Dabei wurden Komponenten eines zuvor existierenden browserbasierten Telnet-Clients mit dem Namen „RealMint“ verwendet.[6]

Um die Weiterentwicklung und Unterstützung von Guacamole zu gewährleisten, gründete sich die Firma Glyptodon LLC.[7]

Im Jahr 2016 übergab Glyptodon das Projekt an die Apache Software Foundation. Dort begann für Guacamole eine Phase der Inkubation. Nach deren erfolgreichem Abschluss im Jahr 2017 avancierte Guacamole zum Top-Level-Projekt unter dem Dach der Apache Software Foundation, seither bekannt als Apache Guacamole.[8]

Als Projekt der Apache Software Foundation steht Guacamole unter der Apache-Lizenz und wird von einer Gemeinschaft von Beitragenden entwickelt.[9] Diskussionen zur Entwicklung und Unterstützung finden in den Mailinglisten des Projekts statt,[10] Beiträge werden durch das Eröffnen von Pull Requests gegenüber den GitHub-Repositories des Projekts geleistet. Guacamole folgt den Praktiken zur verantwortungsvollen Offenlegung und bietet eine private Liste, über die Sicherheitsprobleme gemeldet und behandelt werden können.[11]

Im Juli 2020 wurden zwei Sicherheitslücken mit mittlerer Schwere in Guacamole entdeckt, die es einem Angreifer, der bereits einen RDP-Server kompromittiert hatte, potenziell ermöglichen könnten, ein Guacamole-Gateway zu kontrollieren.[12][13] Die Schwachstellen wurden offiziell in Apache Guacamole 1.2.0[14] behoben und danach bekannt gegeben.[15][16]

Literatur

Bearbeiten
  • Michael E. Auer, Danilo G. Zutin: Online Engineering & Internet of Things (= Lecture Notes in Networks and Systems. Band 22). Springer Link, New York 2017, ISBN 978-3-319-64351-9, Remote Laboratories: For Real Time Access to Experiment Setups with Online Session Booking, Utilizing a Database and Online Interface with Live Streaming, S. 190–204.
Bearbeiten

Einzelnachweise

Bearbeiten
  1. Release 1.5.5. 5. April 2024 (abgerufen am 19. April 2024).
  2. Seth Kenlon: 5 open source tools IT leaders should know about now. In: enterprisersproject.com. 6. Mai 2020, abgerufen am 22. September 2020 (englisch).
  3. Performance testing of Guacamole-Apache Mail Archives. In: lists.apache.org. (englisch).
  4. Implementation and architecture – Apache Guacamole Manual v1.5.0. In: guacamole.apache.org. (englisch).
  5. Apache Guacamole – SourceForge.net. In: SourceForge.net. Abgerufen am 23. März 2023 (englisch).
  6. Introduction – Apache Guacamole Manual v1.5.0. In: guacamole.apache.org. (englisch).
  7. Guacamole – HTML5 Clientless Remote Desktop. In: guac-dev.org. Archiviert vom Original am 5. April 2016; abgerufen am 23. März 2023 (englisch).
  8. Guacamole Incubation Status – Apache Incubator. In: incubator.apache.org. (englisch).
  9. Apache Phone Book. Abgerufen am 4. Oktober 2023.
  10. Apache Guacamole™: Help / Support. Abgerufen am 4. Oktober 2023.
  11. Apache Guacamole™: Security Reports. Abgerufen am 4. Oktober 2023.
  12. NVD – CVE-2020-9497. In: nvd.nist.gov. (englisch).
  13. NVD – CVE-2020-9498. In: nvd.nist.gov. (englisch).
  14. Apache Guacamole™: Security Reports. In: guacamole.apache.org. (englisch).
  15. [SECURITY] CVE-2020-9497: Apache Guacamole: Improper input validation of RDP static virtual channels-Apache Mail Archives. In: lists.apache.org. (englisch).
  16. [SECURITY] CVE-2020-9498: Apache Guacamole: Dangling pointer in RDP static virtual channel handling-Apache Mail Archives. In: lists.apache.org. (englisch).