Zwar besitzt die UTM mit dem HTML5 VPN auch eine Lösung um RDP Verbindungen im Browser darzustellen, jedoch läuft diese als innerhalb des Userportals. Wer nur eine öffentliche IP hat, muss also wie ich mit der eingebauten Sophos Lösung auf einen anderen Port ausweichen. Oft sind in anderen Netzwerken aber oft nur die gängigen Ports wie 80 und 443 geöffnet.
Ich stand vor genau diesem Problem, nur eine öffentliche IP, oft konnte ich über andere Ports keine Verbindung zum UTM Userportal herstellen. Der HTTPS Port wird schon durch die Webserver Protection und andere Dienste belegt.
Ich habe dann zunächst das Windows Admin Center getestet, ziemlich brauchbare Lösung, nur leider nicht in Verbindung mit der UTM Webserver Protection. Das Windows Admin Center verwendet WebSockets, dies wird jedoch nicht durch die UTM Webserver Protection unterstützt.
Es gibt aber Apache Guacamole Projekt, dies funktioniert bei mir bisher perfekt in Zusammenspiel mit der Webserver Protection. Vielleicht hilft dieser kleine Artikel ja noch anderen Leuten weiter, daher hier einmal kurz die Einrichtung der Webserver Protection für Guacamole.
Mein Aufbau sieht in etwa wie folgt aus:
Die Sophos UTM Webserver Protection nutzt ein kostenloses Wildcard Zertifikat von Let’s Encrypt. Die Webserver Protection läuft auf Port 443 (https) und leitet je nach Hostnamen an die echten Webserver weiter. Zur Zeit sind dies zum Beispiel ein Exchange Server und ein weiterer Webserver:
Zusätzlich kommt jetzt nun noch eine kleine CentOS VM dazu, auf die Guacamole laufen soll. Ich nutze die CentOS Minimal Installation mit 1 GB RAM und 1 CPU. Die Installation von Guacamole ist ziemlich einfach, ich habe einfach dieses Installationsscript verwendet:
Das Script fragt ein paar Einstellungen ab und installiert eine fertige Guacamole Umgebung.
Kleiner Hinweis: Ich habe Guacamole mit NGINX installiert, mehr dazu später.
Sobald Guacamole installiert ist, kann auf der UTM ein neuer Webserver angelegt werden:
Danach wird ein Firewall Profil benötigt:
Damit Guacamole funktioniert, sind ein paar Ausnahmen nötig. Diese Regeln musste ich übergehen:
- 981257
- 981245
- 981246
- 981243
- 981204
- 981172
- 981173
- 960015
- 981203
- 981318
- 981176
Jetzt kann der virtuelle Webserver angelegt werden (Firewall Profil nicht vergessen):
Da die Guacamole Installation über das Verzeichnis /guacamole aufgerufen wird, habe ich die NGIX Konfiguration noch etwas angepasst. So muss nicht bei jedem Aufruf das /guacamole angehangen werden:
- /etc/nginx/conf.d/guacamole_ssl.conf
Somit wird nun beispielsweise ein Aufruf von https://rdp.frankysweb.de nach https://rdp.frankyweb.de/guacamole umgeleitet. Mit einer entsprechenden Umleitung direkt in der UTM wollte es bei mir nicht funktionieren. Aktuell ist es also doppelt gemoppelt (UTM + NGNIX). Vielleicht hat da ja noch jemand einen Tipp?
Bisher konnte ich keine Einschränkungen in Verbindung mit der UTM feststellen, alles funktioniert wie geschmiert:
Der Funktionsumfang ist zwar nicht mit dem Windows Admin Center zu vergleichen, aber die RDP Verbindung im Browser funktioniert erstklassig und ist extrem schnell:
Ich habe zusätzlich noch die Reverse Authentication vorgeschaltet, dadurch wird derzeit allerdings doppelt nach Benutzernamen und Passwort gefragt. Ich werde mal schauen, ob sich Guacamole auf Basic Authentication umstellen lässt. man könnte es natürlich auch als 2-Faktor Authentifizierung so belassen