sichere Verbindung zu einem Proxy-Server aufbauen

In diesem Howto soll beschrieben werden, wie man eine sichere Verbindung zu einem Linux-Proxyserver (Debian oder Ubuntu) von einem Windows-Rechner aus aufbaut. Dies macht es z.B. in Firmen der Firewall oder anderen Teilnehmern im Netzwerk unmöglich die übertragenen Daten abzuhören oder zu filtern.

Wir tunneln hierzu die Kommunikation des Webbrowsers unter Windows durch einen SSH Tunnel zu unserem Server, auf dem sowohl der SSH als auch der Proxy-Server läuft. Wir verwenden dazu den sehr leicht zu konfigurierenden Proxy-Server "tinyproxy" und das Windows-Programm "plink.exe". Als Server kommt entweder ein eigener Server mit statischer IP-Adresse oder natürlich der eigene Heimrechner mit dynamischer IP und z.B. mit DynDNS-Domain in Frage.

Schreiten wir also zur Tat. Die Installation von TinyProxy unter Debian ist schnell erledigt:

apt-get install tinyproxy

Anschließend sperren wir den Zugriff auf den Server von allen IP-Adressen außer localhost bzw. 127.0.0.1. Das geht mit folgendem Code:

Allow 127.0.0.1

in der Konfigurationsdatei /etc/tinyproxy/tinyproxy.conf.

Natürlich kann man das ganze auch noch einmal mit iptables abdichten.

Nachdem die Konfigurationsdatei angepasst wurde, ist ein Neustart von Tinyproxy notwendig.

Nachdem die Installation auf dem Server abgeschlossen ist, können wir uns der Installation auf dem Windows-Rechners zuwenden. Wir laden dazu das Programm plink.exe herunter und starten es unter Windows mit folgendem Befehl in der Kommandozeile:

plink.exe -v -pw Passwort benutzer@mein-server.homelinux.org -L 8888:locahost:8888

Die Option "-pw Passwort" kann auch weggelassen werden. Das Programm fragt dann später nach dem Passwort. Man muss es also nicht im Klartext in der Kommandozeile angeben. Ist die Verbindung zum Server durch das Programm hergestellt, öffnet es auf dem Windows-Rechner den lokalen Port "8888", der nun dem lokalen Port "8888" auf dem Server entspricht, unter dem dort der Proxy-Server ansprechbar ist.

Wir können nun also die Proxy-Konfiguration in unserem Webbrowser unter Windows vornehmen. Dazu tragen wir als Host unseren lokalen Hostnamen "localhost" ein und als Port selbstverständlich "8888". Wir verwenden einen Socks-Proxy.

Wir überprüfen nun, in dem wir im Browser eine beliebige Internetseite aufrufen, ob unsere Konfiguration funktioniert. Zur Sicherheit können wir als Hostnamen auch noch einmal direkt den unseres Servers eintragen, um zu überprüfen, ob der Proxy-Server tatsächlich nicht dirket über das Internet erreichbar ist.

Einen Tunnel kann man natürlich auch von einem Linux-Rechner aus aufbauen:

ssh -L 8888:localhost:8888 mein-server@homelinux.org

Anstelle von "localhost" kann auch ein anderer Rechner in der Umgebung des Proxy-Servers angegeben werden, z.B. dann, wenn man den Proxy-Server nicht auf dem gleichen Rechner laufen lässt, auf dem auch der SSH-Server läuft.

Das Tunneling kann selbstverständlich auch für andere Serverkommunikationen genutzt werden, wie z.B. VPN, FTP o.ä.

 

sshtunnel

1 Gedanke zu “sichere Verbindung zu einem Proxy-Server aufbauen

Schreibe einen Kommentar