Sie möchten den Desktop eines Bekannten steuern, kommen jedoch mit den dafür nötigen Portweiterleitungen vom Router auf den PC nicht zurecht? Sie möchten einen verschlüsselte Verbindung zum Austausch sensibler Daten nutzen, scheuen sich jedoch den Aufwand beim Einrichten eines VPN-Servers? Mit SocialVPN schicken Sie im Handumdrehen Daten über einen verschlüsselten Kanal durch Netzwerke und Router hindurch.
Virtuelle Private Netzwerke (kurz VPN) haben sich als effiziente und sichere Methode zum Datentausch zwischen Computern über das Internet bewährt. Die Rechner innerhalb des VPNs verhalten sich dabei so, als ob sie im selben lokalen Netzwerk stünden – Sie dürfen also auch Dienste wie Samba, RDP, VNC oder SSH einsetzen, ohne sich der Gefahr auszusetzen, dass jemand Sie ausspäht. Allerdings erfordert ein normales VPN einiges an Konfiguration, angefangen vom Server bis hin zum Portforwarding auf dem Router.
Auf dem Markt haben sich daher Produkte wie Hamachi [1] etabliert, die ein VPN durch Firewalls und Router hinweg ohne aufwändige Konfiguration ermöglichen. Allerdings handelt es sich bei dem Programm um Closed-Source-Software, sodass niemand aus der Community sich im Stande sieht, die Sicherheit des VPNs zu beurteilen.
Des Weiteren verlangt das Unternehmen hinter der Software, die Firma LogMeIn, Lizenzgebühren für den gewerblichen Einsatz, und es bedarf immer eines Accounts bei LogMeIn. Davon ab befindet sich die Linux-Variante in keinem guten Zustand, eine graphische Oberfläche bietet das Unternehmen nicht an.
Freie Alternative
Das SocialVPN-Projekt [2] positioniert sich als GPL2-lizenzierte Alternative zu dem kommerziellen Produkt. Letztendlich stellt es dieselben Funktionen bereit. SocialVPN gibt es derzeit für Windows und Linux, eine Version für Mac OS X befindet sich aktuell im Alpha-Stadium.
Das Programm vereint drei Open-Source-Projekte, um ein VPN zwischen beliebig vielen Rechnern aufzubauen. Die Bibliothek Brunet [3] ermöglicht das Erstellen von Peer-to-Peer-Netzwerken durch Router hindurch, ohne dass Sie Ports vom Router auf die Computer dahinter weiterleiten müssen. IPOP [4] übernimmt das Routing der Pakete zwischen den Netzen, und die Schnittstelle Jabber-Net-XMPP [5] das Authentifizieren der Benutzer sowie das Übermitteln der Schlüssel über einen sicheren Kanal.
Sie bedienen SocialVPN ganz einfach über den Webbrowser. Über eine grafische Oberfläche im klassischen Sinne verfügt SocialVPN nicht. Der Verzicht auf eine GUI erleichtert es aber, das Programm auf andere Betriebssysteme zu portieren.
Voraussetzung für den Einsatz von SocialVPN ist aufgrund der Authentifizierung via Jabber ein Account auf einem passenden Server. Besitzen Sie einen Mail-Account bei einem der Webmail-Anbieter Google Mail, GMX oder Web.de, verfügen sie bereits automatisch über einen Jabber-Account.
Ihre Jabber-Adresse lautet dann genauso wie ihre Mail-Adresse. Also zum Beispiel manfred.mustermann@gmail.de, manfred.mustermann@gmx.net oder manfred.mustermann@web.de. Sollten Sie noch keinen Jabber-Account besitzen, finden Sie etwa im Wiki von Ubuntuusers.de [6] eine kommentierte Liste öffentlicher Jabber-Server, auf denen Sie sich einen Account generieren können.
Installation
Unter Linux benötigen Sie die Laufzeitumgebung Mono. Ubuntu installiert Mono von Haus aus, bei anderen Distributionen holen Sie das über die Paketverwaltung oder von Hand nach.
Die Installation von SocialVPN geht ansonsten sehr einfach von der Hand: Sie laden das Programmarchiv [7] herunter und entpacken es. Die Konfiguration erfolgt über das Skript setup.sh. Dieses führen Sie ohne Root-Rechte aus (Listing 1) und geben beim Setup Ihre Jabber-ID sowie einen Rechner- und Benutzernamen ein.
$ ./setup.sh Enter userid (jabberid@host.com): manfred.mustermann@jabber.example.com Enter PCID (home-pc): beispielrechner Enter Name (Jane Doe): Manfred Mustermann Creating certificate… Certificate creation successful Run ./socialvpn as root
Über das Skript generieren Sie dann individuelle Zertifikate. Sollten sie SocialVPN unter Windows betreiben, müssen sie zuvor das Microsoft .NET Framework [8] installieren. Anstatt setup.sh führen Sie dann die Datei setup.cmd über einen Doppelklick auf das Symbol aus. Das Skript versucht in einem ersten Schritt alte Installationen von SocialVPN zu deinstallieren (selbst wenn SocialVPN noch gar nicht installiert war) und installiert anschließend die aktuelle Version. Die passenden Geräte-Treiber sind nicht signiert; die Warnung der Installationsroutine vor den Treibern müssen Sie daher selber akzeptieren.



