Hamachi bietet einen Dienst im Internet, der es erlaubt, beliebige Rechner zu einem VPN zu verbinden. ZDNet zeigt, dass dieser nützliche Service auch schnell die Unternehmensfirewall austricksen und die Sicherheit gefährden kann.
Virtuelle private Netzwerke (VPNs[1]) sind eine praktische Angelegenheit. Rechner hinter einem NAT[2]-Router, die mit einer privaten IP-Adresse[3] ans Internet angebunden sind, können so miteinander kommunizieren, als ob sie im selben privaten Netz stünden.
VPNs werden heute meist eingesetzt, um Unternehmensstandorte miteinander zu verbinden (Site-To-Site-VPN) oder einzelnen Rechner über das Internet den Zugriff auf das Firmennetz (Site-To-End-VPN) zu ermöglichen.
Einen etwas anderen Weg geht die Software Hamachi[4] von LogMeIn[5]. Hamachi ermöglicht ein Peer-To-Peer-VPN. Dabei können beliebige Rechner mit Internet-Anschluss zu einem virtuellen LAN verbunden werden. Da es sich um ein Layer-2-VPN handelt, können sie kommunizieren, als ob sie sich im selben Ethernet-Segment befinden.
Die zum Download[7] angebotene kostenlose Basic-Version[8] ist auf 16 Rechner pro VPN beschränkt. Die Premium-Version gibt es als Abonnement für 4,95 Dollar pro Client und Monat.
Hamachi besteht dabei zum einen aus einem Client, der für Windows, Linux und Mac OS verfügbar ist, zum anderen aus einem Dienst im Internet, der zwischen den angeschlossen Rechnern einen Tunnel vermittelt. Dadurch ist es für jedermann möglich, ohne spezielle Vorkenntnisse ein VPN einzurichten. Andere Lösungen, etwa OpenVPN[9], benötigen ein erweitertes technisches Verständnis.

Bild 1: Ein Hamachi-Netzwerk besteht aus beliebigen Rechnern mit aktiver Internet-Verbindung.
Die Einsatzmöglichkeiten sind vielfältig. Im privaten Bereich lassen sich einzelne Rechner von Freunden und Bekannten vernetzen. Im LAN beheimatete Fileserver können von anderen mitbenutzt werden. Andere Rechner können mittels Screensharing, etwa VNC oder Remote Desktop, ferngesteuert werden. Ist man mit dem Laptop unterwegs an einem Hotspot eingeloggt, so ist die volle Konnektivität trotzdem gegeben.
Für Unternehmen bietet sich die Möglichkeit, ohne große Bereitstellung einer Infrastruktur einen Fernzugang für Heimarbeitsplätze zu schaffen. Freien Mitarbeitern kann ein Zugang zu einzelnen Servern gewährt werden, ohne dass sie gleich auf das gesamte Firmen-LAN zugreifen dürfen. Ebenso können Mitarbeiter vom Arbeitsplatz-PC auf ihr Heimnetzwerk zugreifen.
Für ein neues VPN muss lediglich ein frei wählbarer Netzwerkname im Client eingegeben werden. Dieses Netzwerk ist per Passwort oder per Bestätigungsprozess durch den Netzwerk-Owner schützbar. Andere Rechner können dem Netzwerk später beitreten. Innerhalb eines solchen VPN besteht darüber hinaus für jeden Teilnehmer die Möglichkeit, beliebige andere Teilnehmer einzeln zu sperren. Alle Rechner erhalten eine IP-Adresse aus dem Subnetz 5.0.0.0/8. Diese Adressen sind keine offiziellen privaten IP-Adressen. Sie sind von der IANA[10] allerdings zur Zeit nicht vergeben. Dadurch wird verhindert, dass ein Konflikt mit selbst genutzten privaten IP-Adressen[11] auftritt.
Der Vermittlungsdienst macht es möglich, dass sich beliebige Rechner zu einem VPN über Firmen- und Netzwerkgrenzen hinweg zusammenschließen lassen, auch wenn sie sich hinter einem NAT-Router oder einer Firewall befinden. Dabei wird keineswegs der gesamte Datenverkehr über den Hamachi-Server geleitet.
Der Dienst vermittelt, wann immer möglich, tatsächlich nur eine direkte Verbindung zwischen gegenseitig erreichbaren IP-Adressen. In der Regel ist das die öffentliche IP-Adresse des Routers, siehe Bild 2[12]. Die mit 256-Bit-AES-Verschlüsselung geschützten Daten werden auf dem direkten Weg versandt.
Als Protokoll wird normalerweise UDP[13] verwendet. Daraus ergibt sich der konkrete Vorteil, dass typische Consumer-Internet-Router, beispielsweise eine Fritz-Box[14], nur geringer CPU-Last ausgesetzt werden. Im Falle von TCP könnte es zu Performanceproblemen kommen, wenn viele Hamachi-Clients hinter einem Router stehen.
Damit die einzelnen Teilnehmer per UDP kommunizieren können, bietet der Hamachi-Vermittlungsserver einen Dienst, der einem STUN-Server[15] ähnelt, wie er oft bei VoIP-Verbindungen verwendet wird. Der ZDNet-Test mit fünf verschiedenen Netzen zeigt, dass die UDP-Vermittlung einwandfrei funktioniert. Auch Router, die aus Sicherheitsgründen kein UPnP[16] oder NAT-PMP[17] unterstützen, etwa von Lancom Systems[18], lassen alle Pakete ohne Konfigurationsänderungen an der NAT-Tabelle durch. Typische VoIP-Probleme, die sich zum Beispiel durch One-Way-Audio[19] bemerkbar machen, treten nicht auf.
Doch der Hamachi-Dienst kann noch mehr: Befinden sich zwei Hamachi-Teilnehmer im selben physikalischen LAN, so erkennt der Dienst auch das, und die Kommunikation erfolgt, ohne dass Pakete über die in der Regel langsamere Internet-Verbindung geroutet werden, siehe Bild 3[20]. Bild 4[21] zeigt, dass die Geschwindigkeit in diesem Fall nur geringfügig unter einer echten LAN-Verbindung liegt.
Falls UDP von der Firewall komplett geblockt wird, kann auch TCP verwendet werden. Zur Not reicht eine Verbindung über einen HTTP-Proxy-Server, siehe Bild 5[22]. Scheitert eine direkte Verbindung zwischen zwei Teilnehmern, werden alle Pakete über den Hamachi-Server geroutet, was allerdings eine große Geschwindigkeitsbuße bedeutet. Im ZDNet-Test ist in keinem Fall ein Fallback auf TCP oder gar einen Proxy-Server erforderlich.Unter Windows ist die Installation problemlos. Alle Windows-Versionen von 2000 bis Vista werden in der 32-Bit-Version und 64-Bit-Version unterstützt. Nach dem ersten Start drückt man den On/Off-Knopf unten links und erstellt ein neues Netzwerk oder loggt sich in ein bestehendes ein.
Die kostenlose Basic-Version unterstützt den Betrieb als Windows-Dienst nicht, was vor allem auf Server-Computern praktisch ist, auf denen sich normalerweise nach dem Hochfahren niemand einloggt. Ein Autostart nach dem Einloggen ist jedoch problemlos möglich. Behelfen kann man sich mit Tools, die jedes beliebige Programm als Windows-Dienst starten, zum Beispiel mit Srvany[23] aus dem Windows 2003 Resource Kit[24]. Das Tool funktioniert auch mit anderen Windows-Versionen.
Dabei sollte man beachten, dass man den Dienst unter dem LocalSystem-Account startet und ihm gestattet, Ausgaben auf dem Bildschirm zu machen, wie in Bild 6[25] gezeigt. Ferner müssen die Konfigurationsdateien aus dem AppData-Verzeichnis des Benutzers, das man unter %AppData%\Hamachi findet, in das des LocalSystem-Accounts kopiert werden. Letzteres befindet sich für Windows Vista in %SystemRoot%\
Die Versionen für Linux und Mac OS, die im wesentlichen identisch sind, besitzen gar kein GUI und werden von der Kommandozeile administriert. Insbesondere für viele Macintosh-Benutzer mag das ungewohnt sein.
Zunächst muss sichergestellt sein, dass die notwendigen Tunneltreiber installiert sind. Bei den meisten Linux-Distributionen ist das standardmäßig der Fall. Treiber für Mac OS gibt es von Mattias Nissler zum Download[26]. Sie lassen sich leicht über das GUI installieren.
Hamachi selbst installiert man als Benutzer root. Wenn man beabsichtigt, den Dienst beim Starten automatisch hochzufahren, muss die $HOME-Variable korrekt gesetzt sein, damit Hamachi seine Konfiguration später wiederfindet. Unter Mac OS erreicht man das, indem man auf der Shell-Ebene "sudo -H -s" eingibt. Der Parameter -H darf nicht weggelassen werden. Für Linux gilt das gleiche, wenn man Sudo-Berechtigung besitzt. Ansonsten lässt sich unter Linux der Befehl "su -l root" nutzen.
Unter Mac OS wird Hamachi nach dem Auspacken mit dem Befehl "./install" installiert, unter Linux mit "make install". Danach gibt man folgende Befehle ein:
Mit "hamachi create <network> [<password>]" legt man ein neues VPN an. Mit "hamachi join <network> [<password>]" tritt man einem Netzwerk bei. Anschließend aktiviert man sein Netzwerk mit dem Befehl "hamachi go-online <network>".
Autostart unter Linux
Um Hamachi unter Linux automatisch zu starten wird zunächst die Datei /etc/init.d/hamachi mit folgendem Inhalt erstellt:
Die Datei wird anschließend mit "chmod 755 /etc/init.d/hamachi" als ausführbar gekennzeichnet. Mit einem Runlevel-Editor, beispielsweise Yast bei Suse-Linux, wird der Dienst Hamachi nun für die Runlevel zwei, drei und fünf aktiviert.
Autostart unter Mac OS
Unter Mac OS wird für den Autostart zunächst mit Root-Rechten das Verzeichnis "/Library/StartupItems/hamachi" angelegt. Dort legt man zwei Dateien an. Die erste Datei heißt "StartupParameters.plist". Sie muss folgenden Inhalt haben:
Die zweite Datei heißt "hamachi" und enthält die folgenden Zeilen:
Die Datei hamachi muss man nun noch mit dem Befehl "chmod 755 /Library/StartupItems/hamachi/hamachi" ausführbar machen.Obwohl Hamachi, wie auch andere VPN-Lösungen, am Arbeitsplatz praktikable Dienste leisten kann, beispielsweise den Zugriff auf das Heimnetzwerk, birgt eine solche Lösung auch große Gefahren. Ein Mitarbeiter kann seinen PC damit leicht zum Hintereingang des Unternehmensnetzwerks machen. Das kann bewusst geschehen - oder auch unbewusst durch eingeschleuste Malware.
Problematisch dabei ist, dass eine solche Hintertür in der Regel vom Administrator nicht entdeckt wird, da sie über eine verschlüsselte UDP-Verbindung vom Internet-Router kommt, die auf den ersten Blick nicht weiter verdächtig scheint, weil sie vom Intranet zum Internet durch den Hamachi-Client aufgebaut wird.
Unter Windows eignet sich zum Beispiel der RAS-Dienst[27], der auch unter den Client-Versionen zur Einwahl genutzt werden kann. Eine beispielhafte Konfiguration für Vista, wie in Bild 8[28] gezeigt, erlaubt die Einwahl jedem Teilnehmer des Hamachi-VPNs.
Die übliche Erkennungsmethode, die die Unternehmensrechner darauf überprüft, ob TCP-Port 1723 aktiv ist, funktioniert nicht, wenn der betroffene Mitarbeiter-PC den RAS-Dienst nur an den virtuellen Hamachi-LAN-Adapter bindet, der keine Verbindung zum Unternehmensnetz hat.
Die Verwendung des RAS-Dienstes für eine Hintertür ist besonders einfach, da er Bestandteil von Windows ist. Denkbar sind allerdings auch andere Port-Forwarder oder NAT-Multiplexer, die einen Zugriff auf einzelne Server oder, wie im Falle von RAS, auf das ganze Unternehmens-LAN ermöglichen.
Von einem Windows-Rechner außerhalb des Unternehmens ist der Zugriff durch RAS-Einwahl nicht ganz einfach, da die Hamachi-Verbindung nach der Einwahl zunächst unterbrochen wird. Baut man jedoch die Routing-Tabelle komplett neu auf, wie in Bild 9[28] gezeigt, so besteht voller Zugriff auf das Unternahmens-LAN.
Ein solcher Angriff ähnelt einem mit einem SSH-Server[29], der unter der Kontrolle eines Angreifers außerhalb des Unternehmensnetzwerks steht. Er ist allerdings wesentlich gefährlicher, da Zugang zum gesamten Netzwerk erreicht werden kann.
Allerdings ist er auch leichter zu entdecken. Wird RAS als NAT-Lösung verwendet, so kann man in der Regel erkennen, dass der missbräuchlich genutzte Mitarbeiter-PC mehr als eine IP-Adresse vom DHCP-Server benötigt. Ist dies der Fall, so handelt es sich meist um ein Sicherheitsproblem. Eine Ausnahme liegt vor, wenn ein PC über mehrere Netzwerkkarten an das LAN angebunden ist, beispielsweise durch eine Kabelverbindung und einen WLAN-Adapter.
Verwendet der Angreifer eigene IP-Adressen, von denen er sich erhofft, dass sie aktuell nicht vom DHCP-Server vergeben sind, so kann man die Nutzung von Hamachi daran erkennen, dass IP-Pakete beim Verbindungsaufbau zu bibi.hamachi.cc geroutet werden. Derartige Firewallregeln findet man allerdings in Unternehmensnetzwerken selten.Hamachi ist eine sehr gute Lösung, wenn man schnell und einfach beliebige Rechner zu einem Netzwerk verbinden möchte. Gängige VPN-Lösungen verbinden meist nur vorher zu definierende Unternehmensstandorte oder erlauben die Einwahl eines Clients in ein bestimmtes Netzwerk.
Der Vermittlungsdienst von Hamachi hingegen erlaubt es, über alle Firewallgrenzen hinweg VPNs zu schaffen. Dies geschieht dank des ganz ausgezeichneten Dienstes, der ständig alle Rechner in einem Hamachi-Netzwerk auf dem Laufenden hält, wie sie die anderen Rechner über einen VPN-Tunnel erreichen können.
So eine Lösung bedeutet immer auch Gefahren. Einen Angriff konnte ZDNet mit einem Vista-Rechner in einer Default-Installation in einem Unternehmensnetzwert schnell nachvollziehen. Während so ein Angriff äußerst gefährlich ist, gibt es allerdings Möglichkeiten, ihn zu entdecken. Die dazu nötigen Maßnahmen zählen jedoch meist nicht zu den Standard-Regeln einer Firewall.
Für VPNs mit bis zu 16 Clients ist Hamachi kostenlos. Größere VPNs können allerdings ins Geld gehen. Ein Preis von 4,95 Dollar pro Monat und Client summiert sich bei 17 Clients auf immerhin 1009,80 Dollar pro Jahr.
URLs in diesem Artikel:[1] = http:/
[2] = http:/
[3] = http:/
[4] = https:/
[5] = https:/
[6] = http:/
[7] = http:/
[8] = https:/
[9] = http:/
[10] = http:/
[11] = http:/
[12] = http:/
[13] = http:/
[14] = http:/
[15] = http:/
[16] = http:/
[17] = http:/
[18] = http:/
[19] = http:/
[20] = http:/
[21] = http:/
[22] = http:/
[23] = http:/
[24] = http:/
[25] = http:/
[26] = http:/
[27] = http:/
[28] = http:/
[29] = http:/