Jetzt müssen Sie die Credentials für den Remotedesktop noch Guacamole bekannt geben, damit der Zugriff auch über den Browser gelingt. Dazu bearbeiten Sie die Datei
»/etc/guacamole/user-mapping.xml
«
(
Abbildung 3
)
sudo vi /etc/guacamole/user-mapping.xml
Dort tragen Sie im Abschnitt:
<!-- Per-user authentication and configinformation -->
die entsprechenden Daten ein. Entfernen Sie dazu zunächst die Kommentarzeichen
»<!--
«
und
»-->
«
.
Im Beispiel soll es eine Verbindung für den User
»tom
«
mit dem Passwort
»test
«
auf dem Windows-System mit der IP-Adresse 192.168.1.11 geben (
Listing 1
).
Listing 1
User-Mapping
01 ** ** ** **<authorize username="tom" password="test"> 02 ** ** ** ** ** ** ** ** ** **<protocol>rdp</protocol> 03 ** ** ** ** ** ** ** ** ** **<param name="hostname">192.168.1.11</param> 04 ** ** ** ** ** ** ** ** ** **<param name="port">3389</param> 05 ** ** ** ** ** ** ** ** ** **<param name="password"></param> 06 ** ** ** ** ** ** ** ** ** **</authorize>
Nutzen Sie lieber VNC, ersetzen Sie
»rdp
«
in der Protocol-Sektion einfach durch
»vnc
«
. Das Passwort für den VNC-Server landet dann im Abschnitt
<param name="password">MeinVNCPassword</param>
Speichern Sie jetzt die Konfigurationsdatei, und starten Sie
»guacd
«
neu:
sudo /etc/init.d/guacd restart
Stellen Sie sicher, dass der Rechner, den Sie in
»user-mapping.xml
«
eingetragen haben, über das entsprechende Protokoll erreichbar ist, und rufen Sie dann im Webbrowser die Adresse
»http://
IP-Adresse
:8080/guacamole
«
auf. Nach erfolgreicher Authentifizierung mit dem festgelegten Benutzernamen und Passwort sollte nun die Anmeldung am Desktop des Zielsystems im Browserfenster angezeigt werden (
Abbildung 4
). Dort können Sie sich dann mit Ihren Windows-Credentials anmelden.
Guacamole stellt eine einfache Zwischenablage für den Austausch von Texten zwischen Remote-Rechner und dem lokalen System sowie eine Bildschirmtastatur zur Verfügung ( Abbildung 5 ), wenn Sie den Mauszeiger in Richtung Adresszeile des Browsers bewegen. Dort können Sie dem Remote-Rechner im Bedarfsfalle auch ein [Strg] + [Alt] + [Entf] schicken oder die Remote-Sitzung mit Guacamole beenden.
Das Default-Setup von Guacamole ist zwar funktionsfähig aber alles andere als sicher, denn der Zugriff auf die Login-Seite erfolgt unverschlüsselt. Es empfiehlt sich daher dringend, Tomcat mit SSL-Unterstützung zu installieren. Wie das geht, verrät die ausführliche Tomcat-Dokumentation unter
[4]
. Unschön ist auch, dass das Passwort für den Verbindungsaufbau zum RDP-Server und – im Falle einer VNC-Verbindung auch das VNC-Passwort – im Klartext in der Konfigurationsdatei
»user-mapping.xml
«
stehen und von angemeldeten Benutzern ausgelesen werden können. Sie sollten daher Eigentümer und Rechte der Datei
»user-mapping.xml
«
wie folgt ändern:
sudo chown tomcat6.tomcat6 user-mapping.xml sudo chmod 640 user-mapping.xml
Alternativ bietet Guacamole im Config-File auch die Möglichkeit, nur gehashte Passworte anzulegen. Das nachfolgende Beispiel zeigt die entsprechende Sektion der
»user-mapping.xml
«
für den Benutzer
»tom
«
und dem mit MD5 gehashten Passwort
»GEHEIM
«
(
Listing 2
).
Listing 2
Passwort mit MD5
01 <authorize 02 username="tom" 03 password="b2016af253087887ccb510d7543ed514" 04 encoding="md5"> 05 <protocol>vnc</protocol> 06 <param name="hostname">localhost</param> 07 <param name="port">5900</param> 08 <param name="password">123456</param> 09 </authorize>
Der Hash eines Passworts lässt sich mit dem Hilfsprogramm
»md5sum
«
auf der Kommandozeile schnell anzeigen:
echo -n PASSWORD | md5sum -t 319f4d26e3c536b5dd871bb2c52e3178 ** **-
Diesen Hashwert übernehmen Sie anstelle des Passworts in die Konfiguration. Natürlich sollte das gehashte Passwort länger als acht Zeichen und mit Sonderzeichen möglichst sicher gewählt sein – einfache Passworte errechnen Brute-Force Cracker wie
»mdcrack
«
ansonsten binnen weniger Minuten.