-
Anonymes surfen: HTTP-Verkehr durch SSH tunneln
Geschrieben am 24. April 2009 Keine KommentareImmer mehr Unternehmen bekommen negative Presse, weil sie ihre Mitarbeiter ausspionieren. Insbesondere das Auswerten von Internet-Zugriffen ist dabei technisch problemlos möglich und schwer nachweisbar. Wer sich also ungern ausspionieren lässt oder häufig in Netzen arbeitet, denen er im Bezug auf die Netzwerksicherheit nicht vertraut, der sollte die folgende Lösungen anschauen. Es wird beschrieben, wie mit einem einfachen (virtuellen) Server und etwas Freeware der gesamte HTTP-Datenverkehr das lokale Netzwerk verschlüsselt durchquert.
1. Voraussetzungen
Für das folgende Szenario wird ein Linux-Server benötigt, auf dem admistrative Berechtigungen bestehen. Weiterhin müssen in der Firewall die Ports 3128 (Squid-Proxy) und 22 (SSH) freigegeben werden.
2. Installation des Proxy-Servers
Zunächst wird der Proxy-Server Squid, einer der meistverbreitesten seiner Art, installiert. In der Regel kann Squid über den Paketverwaltungsdienst installiert werden (bspw. apt-get install squid). Unbedingt beachtet werden sollten die Hinweise des BSI zur Sicherheitsuntersuchung der Squid Proxy-Servers. Hier werden wichtige Hinweise zur Absicherung des Servers gegeben. Weitere Konfigurationen sind nicht notwendig.
3. Konfiguration von PuTTY
Das Programm PuTTY ist ein freier SSH/Telnet-Client, der kostenfrei bezogen werden kann. Es steht für alle gängigen Betriebssysteme zur Verfügung.
Nach dem Ausführen erscheint zunächst eine Eingabemaske, in der die IP-Adresse und der SSH-Port des Servers eingegeben werden muss. Über das Menü Connection > SSH > Tunnels kann die Tunnel-Konfiguration erreicht werden. Der lokale Source-Port kann entsprechend der Richtlinien zur Portvergabe frei gewählt werden. Jeder Datenverkehr, der das lokale System auf diesem Port erreicht, wird von nun an über den SSH-Tunnel an den Server übertragen. Als Destination-Adress dient die Kombination der Server-Adresse und des Squid-Ports, in der Regel Port 3128. Nachdem diese Einstellungen gespeichert wurden, kann die Verbindung zum Server nun aufgebaut werden.Wichtig: PuTTY bzw. die Verbindung zum Server darf keinesfalls beendet werden, sonst ist ein verschlüsselter Internet-Zugriff nicht möglich!
4. Konfiguration der Internetverbindung
Nachdem der Server nun als Proxy-Server arbeitet und ein SSH-Tunnel zwischen dem lokalen System und der Server aufgebaut ist, muss nun der Internet-Datenverkehr in diesen SSH-Tunnel geleitet werden. Dazu muss in den Internetoptionen lediglich die Option Proxy-Server aktiviert werden. Als Server-Adresse wird localhost verwendet, als Port der im Abschnitt 3 definierte lokale Source-Port.
5. Funktionstest
Um zu prüfen, ob auch wirklich der gesamte HTTP-Datenverkehr verschlüsselt über den SSH-Tunnel bis zum Proxy-Server transportiert wird, kann mit Hilfe eines Sniffers (bspw. Wireshark) der Paketfluss analysiert werden. Während der Sniffer analysiert, können beliebige Internetseiten aufgerufen werden. Dabei sollten keine HTTP-Verbindungen im Sniffer erkennbar sein. Sofern lediglich SSH- und TCP-Pakete sichtbar sind, ist die Kommunikation korrekt verschlüsselt.







