SSL-VPN
SSL-VPN ist eine Art Remote-Access-VPN, das eine Alternative zu IPsec, PPTP und L2TP darstellt. Während die meisten VPN-Techniken relativ komplex und fehleranfällig sein können, kommt SSL-VPN durch jede Firewall und durch jedes Netzwerk hindurch. Weil SSL-VPN auf die Standards SSL bzw. TLS baut hat sich daraus der Begriff SSL-VPN gebildet.
SSL bzw. SSL-VPN beherrscht kein Tunneling und eignet sich deshalb ausschließlich für Remote-Access- oder Extranet-Anwendungen. Um Standorte zu vernetzen ist SSL-VPN eher ungeeignet. Es wäre sehr umständlich einzurichten.
Funktionsweise von SSL-VPN
Bei einem SSL-VPN ist in der Regel ein Browser der VPN-Client, der auf dem Client-Rechner läuft. Dabei werden die Daten mittels HTTPS vom Browser zu einem HTTP-Server (Webserver), der als VPN-Gateway dient, übertragen. HTTPS ist in jedem Browser eingebaut und funktioniert praktisch überall. Auch durch eine Firewall oder einen NAT-Router hindurch.
Um auch Daten von außerhalb des Browsers übertragen zu können, wird innerhalb des Browsers ein Plugin, Java-Applet oder eine ActiveX-Komponente ausgeführt, die als Gateway dient und die die Daten über die verschlüsselte Verbindung umleitet.
Browser-based
Ein typisches SSL-VPN ist ein Browser-basiertes SSL-VPN. Alles was man braucht ist ein Browser, der SSL/TLS beherrscht und einen Webserver mit der dazu passenden Implementierung. Die Verbindung wird dabei über HTTPS-Requests und -Responses zwischen Browser und Server abgewickelt. Im Gegensatz zu HTTP ist die Verbindung bei HTTPS verschlüsselt.
Allerdings hat diese Art von VPN keine Vorteile. Es können keine Dienste außerhalb des Browsers, wie E-Mail oder File-Server benutzt werden. Es bräuchte dazu ein Web-Frontend, wie zum Beispiel ein Webmailer, der im Browser ausgeführt wird.
Im Prinzip handelt es sich beim Zugriff auf einen Webmail-Dienst, wie er von verschiedenen Internet-Service-Providern angeboten wird ein Browser-based SSL-VPN.
Client-based
Es gibt VPN-Clients, die auch SSL-VPN beherrschen. Häufig als Backup-Lösung, wenn keine Verbindung mit IPsec oder anderen VPN-Protokollen möglich ist. Beispielsweise weil eine Firewall den Verbindungsaufbau blockiert.
Nach einem erfolgreichen Verbindungsaufbau mit SSL-VPN klingt sich der VPN-Client wie üblich als zusätzliche Netzwerkschnittstelle ins Betriebssystem ein.
Enhanced Browser-based
Bei Client-basierten SSL-VPNs muss man auf alle Fälle einen Client installieren, wobei die Vorteile eines Client-losen VPNs nicht mehr gegeben sind. Im Vergleich ist mit einem rein Browser-basierte SSL-VPN vieles nicht möglich. Deshalb kombiniert man Client-basiertes und Browser-basiertes SSL-VPN miteinander.
Dazu stellt man per Browser eine HTTPS-Verbindung zu einem Server oder Gateway her. HTTPS ist in jedem Browser eingebaut und funktioniert praktisch überall. Auch durch eine Firewall oder NAT-Router hindurch. Vom Server oder Gateway lädt sich der Browser automatisch eine Java- oder ActiveX-Applikation herunter. Diese Applikation wird vom Browser ausgeführt und arbeitet als TCP/UDP-Gateway, um die VPN-Verbindungen über den Browser umzuleiten.
Dieses Verfahren funktioniert auf mobilen Geräten nur eingeschränkt, weil externe Applikationen in deren Browser nicht ausgeführt werden können.
Wie sicher ist SSL-VPN?
Gegen SSL kann man grundsätzlich nichts aussetzen, wenn man berücksichtigt, dass die Authentisierung in Browsern mangelhaft implementiert ist. Ein weiterer kritischer Punkt, SSL verschlüsselt nur die Daten, aber nicht die gesamte Kommunikation. Allerdings kommen in SSL viele Verschlüsselungs-, Schlüsselerzeugungs- und Hash-Verfahren zum Einsatz, die auch im IPsec- und IKE-Protokoll Anwendung finden.
SSL ist für Online-Banking und eCommerce gemacht. Hier profitiert man von der Nutzung unabhängig von Ort und Software-Ausstattung. Die Kunden brauchen nur einen SSL/TLS-fähigen Browser. SSL-VPN funktioniert also von fast jedem Computer, der Internet-Zugang hat. Und das auch, bei einem unsicheren Rechner. Für manche Anwendungsfälle ist das nicht sicher genug. So unterstützt SSL keine Tunnel, was aber für ein sicheres VPN eigentlich eine Voraussetzung ist.
Vor dem Einsatz von SSL-VPN ist also zu prüfen, ob SSL für den gewünschten Anwendungsfall sicher genug ist. Gegebenenfalls muss der SSL-Datenverkehr in ein VPN zusätzlich durch eine Firewall kontrolliert und die Verbindungsmöglichkeiten eingeschränkt werden.
Vergleich: IPsec und SSL-VPN
IPsec und SSL kann man nicht direkt miteinander vergleichen. Dafür ist deren Ausrichtung und Einsatzzweck zu unterschiedlich.
IPsec arbeitet infrastruktur- und anwendungstransparent auf der Netzwerkebene. Dagegen arbeitet ein SSL-VPN ebenso infrastrukturtransparent aber anwendungsbezogen zwischen Transport- und Anwendungsebene. In der Regel ist ein SSL-VPN schneller eingerichtet. Im laufenden Betrieb gibt es weniger Verbindungsprobleme.
Der große Vorteil von SSL-VPN ist, dass die Installation eines VPN-Client nicht zwingend notwendig ist. Es reicht ein SSL-tauglicher Browser und die Unterstützung von Java oder ActiveX. Eines von beiden sollte auf einem Standard-PC kein Problem darstellen. Insbesondere Java-Applets funktionieren Browser- und Betriebssystem-unabhängig.
SSL-VPN hinterlässt auch auf dem Rechner keine Spuren. Trotzdem sind bei hohen Sicherheitsanforderungen fremde Rechner tabu. Dann sollte man kein SSL-VPN zur Verfügung stellen. Bei veralteten Browsern kann niemand wirklich eine hohe Sicherheit gewährleisten.
IPsec schützt die gesamte Verbindung und erlaubt den Zugriff nur von Geräten und Netzen, die sich dafür autorisieren. Mit IPsec lassen sich Sicherheitsrichtlinien leichter durchsetzen und Angriffsversuche besser verhindern, als mit SSL-VPN. IPsec eignet sich für die Vernetzung und SSL/TLS für sichere Internet-Transaktionen.
Allerdings bietet sich SSL als Ergänzung zu IPsec an. Eine VPN-Lösung mit IPsec UND SSL, am besten mit einer einzigen Benutzerverwaltung, bietet die größtmöglichste Flexibilität und kann damit jedes Einsatz-Szenario abdecken. Die Schwächen der beiden Protokolle werden in einer Gesamtlösung sehr gut ausgeglichen.
Eine IPsec-Installation durch SSL ablösen zu wollen ist in den seltensten Fällen eine gute Idee. SSL-VPN ergänzt IPsec auf Applikationsebene mit vergleichbaren Sicherheitsfunktionen.