HTML und JavaScript-Rewriting im SSL-VPN-Gateway

Posted by hob Wed, 06 Jul 2016 09:15:00 GMT

HTML Java Script Rewriting SSL

In unserem heutigen  Blogpost erklären wir Ihnen, wie ein SSL-VPN-Gateway Websites samt JavaScript-Programmen zum Browser des Users tunnelt.

Sogenannte SSL-VPN-Gateways funktionieren folgendermaßen: Der User verbindet sich mittels Browser über SSL (TLS) / HTTPS mit einem SSL-VPN-Gateway. Dieses verbindet sich über das Internet mit einem Webserver. Die Verbindungskette sieht folglich so aus:

SSL VPN Gateway Rewriting

Das SSL-VPN-Gateway lädt die Website vom Server und schickt sie verschlüsselt an den Browser des Users.

In diesem Szenario gibt es folgendes Problem: Die meisten Websites laden Ressourcen von anderen Websites oder verweisen mit Links direkt auf Websites. Wenn der User einem dieser Links folgt, verbindet sich sein Browser direkt mit der verknüpften Website. Das SSL-VPN-Gateway wird dabei außen vor gelassen, weswegen der User auf bestimmte Ziele nicht mehr zugreifen kann; beispielsweise den firmeninternen Fileserver.

Diese Problematik gilt nur für absolute Links mit vollständiger Web-Adresse. Relative Links sind unproblematisch. Absolute Links können hingegen an beliebige Stellen im Web verweisen – vergleichbar mit Längen- und Breitengrad auf Landkarten.
Relative Links beinhalten nur den relativen Pfad zum neuen Dokument, abhängig vom Pfad des aktuellen Dokuments. Sie sind vergleichbar mit einer Wegbeschreibung. Relative Links haben entsprechend eine verkürzte URL ohne „http://www.“ am Anfang.

Damit auch die Websites von absoluten Links über das SSL-VPN-Gateway zum User getunnelt werden, gibt es diese traditionelle Lösung: Das SSL-VPN-Gateway analysiert die Antworten des Webservers und ändert die Links so ab, dass sie auf das SSL-VPN-Gateway verweisen statt direkt auf den Webserver. Für HTML ist das eine gängige Praxis. Auch der Webserver von Apache führt dieses sogenannte HTML-Rewriting durch. Die geänderten URLs bestehen aus der Internetadresse des SSL-VPN-Gateways und dem ursprünglichen Link. Oft benötigt das SSL-VPN-Gateway noch zusätzliche Informationen, um den ursprünglichen Webserver zu finden.

Viele Websites bestehen allerdings nicht nur aus statischem HTML. Stattdessen werden oft JavaScript-Programme vom Webserver in den Browser des Users geladen und dort ausgeführt. Diese Programme bestimmen erst beim User das genaue Aussehen der Website. Außerdem können diese Programme auch Links auf der Website erstellen und abändern. Zusätzlich können sie sich mit dem Webserver verbinden, um Teile der Website im Browser des Users zu aktualisieren.

Wenn ein SSL-VPN-Gateway zwischen Browser und Webserver geschaltet ist, muss der SSL-VPN-Gateway auch das Verhalten der JavaScript-Programme ändern. Diese JavaScript-Programme und ihre erzeugten Links müssen nämlich wie die HTML-Links auf den SSL-VPN-Gateway verweisen, anstatt direkt auf den Webserver. Das kann man erreichen, indem das SSL-VPN-Gateway das JavaScript-Programm analysiert und so verändert, dass das JavaScript-Programm Links so erstellt bzw. abändert, dass sie über das SSL-VPN-Gateway gehen. Der SSL-VPN-Gateway ruft die Website samt JavaScript-Programmen auf, ändert beide und sendet sie erst dann zum Browser des Users weiter.

Diese Methode kann erweitert werden, um auch komplexere Web-Applikationen entsprechend zu ändern. Dann bindet das SSL-VPN-Gateway speziellen JavaScript-Code in die Website ein, der den ursprünglichen JavaScript-Code der Website erst dann modifiziert, wenn er im Browser des Users ausgeführt wird. In komplexeren Web-Applikationen kann es sogar vorkommen, dass JavaScript-Programme dynamisch JavaScript-Code generieren und ihn bei Bedarf ausführen. Das JavaScript-Rewriting im SSL-VPN-Gateway kann so etwas nicht vorhersehen. In diesem Fall ist eben beschriebenes JavaScript-Rewriting auf Seiten des Users obligatorisch.

Trotz dieser Techniken treten beim Rewriting von manch komplexeren Web-Applikationen Fehler auf, die eine korrekte Ausführung unmöglich machen. Beim Rewriting muss die Logik erkannt werden, mit der Links generiert werden. Diese Logik kann von Website zu Website unterschiedlich sein, sodass das Rewriting auf der einen Website problemlos funktionieren kann, während es auf einer anderen Website überhaupt nicht klappt.

Mehr Informationen zu unseren IT-Security Lösungen erhalten Sie auf www.hob.de

keine Kommentare |

Secure Remote-Access auf Ubuntu 7.10 mit HOB X11Gate

Posted by Martin Leupoldt Wed, 13 Feb 2008 17:20:00 GMT
Dieser Artikel beschreibt die Client-Installation und Konfiguration von HOB X11 Gate für den Internet basierten Zugriff auf den Firmen-PC. Nach der Installation von HOB X11 Gate kann mit HOBLink JWT von jeder Betriebssystem Plattform auf einen Linux-Rechner zugegriffen werden.

Als Basis wird eine funktionierende Installation von Ubuntu vorausgesetzt, da ich mich hier ausschließlich mit der Konfiguration des Display-Managers und HOB X11 Gate beschäftige.

Um den Zugriff aus dem Internet zu gewährleisten ist eine HOB RD VPN Installation mit HOB Desktop-on-Demand zu empfehlen.
1. Vorteile dieser Lösung
2. Komponenten
3. Installation
4. Konfiguration
5. Testen
6. Erfahrung



1. Vorteile dieser Lösung

HOB RD VPN bringt für jede Applikation die passende Client-Software mit. Dadurch ist ein hoch performanter Zugriff auf alle Applikationen möglich. Die HOB-Clients sind Web-basiert, daher ist am Clientrechner nur ein Browser mit Java-Unterstützung notwendig.
HOB RD VPN

HOB Desktop-on-Demand ist die Lösung von HOB, die den Remote-Zugriff auf Rechner ermöglicht, die im Corporate Network stehen. Die ideale Lösung für den Einsatz im Home-Office oder vom Laptop, da alle Daten auf dem Rechner im Corporate Network verbleiben und somit kein umständliches und fehleranfälliges Abgleichen verschiedener Datenbestände notwendig ist. Darüber hinaus ist HOB Desktop-on-Demand auch für die Remote-Administration geeignet.
HOB Desktop-on-Demand

Ein Weiterer Vorteil dieser Lösung ist, dass der Ziel-Rechner nicht laufen muss und somit die Stromkosten zuhause oder im Unternehmen reduziert werden. Der PC wird durch Wake-on-Lan bei Bedarf eingeschaltet.



2. Komponenten

Folgende Komponenten (Hardware / Software) werden bei dieser Konfiguration verwendet:
Dell Precision 370 mit interner Netzwerkkarte
Ubuntu 7.10 mit Gnome 2.20.1
SUN Java VM 1.6
HOB X11 Gate



3. Installation

Um eine funktionierende Konfiguration zu bekommen müssen folgende Komponenten auf dem Zielrechner installiert werden:

Die Installation und Konfiguration muss mit dem Benutzer „root“ erfolgen!

Installation der JAVA VM:
apt-get install sun-java6-jre
oder unter Verwendung eines Paketmanagers (z.B. Synaptic)

HOB X11 Gate (HOB X11 Gate):
wechseln in das Home-Verzeichnis, Ausführen des Installers:
./install.bin
und den weiteren Anweisungen der Installationsroutine folgen.



4. Konfiguration

Bearbeiten der gdm.conf:
vi /etc/gdm/gdm.conf
und folgenden Einträge unter der Kategorie [XDMCP] ändern:
enable=true
und falls nötig, den Root-Login erlauben:
AllowRoot=true
AllowRemoteRoot=true
Port=177
HOB X11 Gate wird über ein Webinterface konfiguriert:
http://localhost:8081/
Default-User: administrator
Default-PW: adminpw

Im darauf folgenden Menü auf „Connection Setup“ gehen. Unter der Rubrik „Default Connection“ den „Startup Mode“ auf „XDMCP Direct“ ändern und einen Haken bei „Use LoopBack IP for local connections“ machen.

Sofern man keinen Drucker während der Verbindung benötigt auf „Done“ klicken und die Änderung bestätigen.

BIOS:
Beim Booten des Rechners mit der entsprechenden Taste ins BIOS wechseln (z. B. „F2“) und folgende Punkte einstellen:
Onboard Devices -> Integrated NIC -> On
Power Management -> Remote Wake Up -> On
Power Management -> Low Power Mode -> Off
Mit diesen Einstellungen kann der Rechner über Wake on Lan aufgeweckt werden.

RDP-Client:
Je nach Konfiguration des Gnome-Display-Managers muss die Farbtiefe des RDP-Clients (z. B. HOBLink JWT) geändert werden.



5. Testen

Der Rechner sollte jetzt in der Lage sein RDP-Verbindungen zu akzeptieren. Das lässt sich einfach herausfinden, in dem man von einem anderen Computer aus eine RDP-Verbindung auf den Zielrechner aufmacht.



5. Erfahrung

Mit minimalem Konfigurationsaufwand ist es möglich mit HOB RDVPN einen performanten Zugriff auf ein Linux-System mit Wake-on-Lan zu realisieren.


Martin Leupoldt, 13. Feb. 2008

keine Kommentare |


emplates.arcsin.se/'), link_to("Frédéric de Villamil", 'http://fredericdevillamil.com')) %>
Powered by typo