Sichere Internetverbindung durch Firewalls?

Wer kennt da was?

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Sichere Internetverbindung durch Firewalls?
Hi,

ich bin auf der Suche nach der Möglichkeit, eine sichere Verbindung ins Internet über unsichere Zugangspunkte herzustellen. Außerdem möchte ich damit durch Proxy-Server und Firewalls durchkommen, z.B. in öffentlichen WLAN-Hotspots. Deshalb brauche ich einen Server, der unter Linux auf TCP Port 443 (https) hört. VPN fällt dabei leider aus, da TCP over TCP insbesondere über WLAN nicht funktionieren soll (Verbindungsabbrüche etc.). Der Client muss übrigens unter Windows XP laufen, da ich kein Linux aufm Notebook habe. Den Linux-Server im Internet hab ich und kann ich dafür verwenden. Eine separate IP-Adresse steht zur Verfügung.

Ich kenne bislang nur noch SSH. Da kann ich zwar TCP-Ports durchtunneln, und ich komme auch durch HTTP-Proxies etc. durch, aber man kann jeweils nur einen einzigen Endpunkt tunneln, kein ganzes Netzwerk oder so.

Kennt jemand eine Lösung für mein Problem?


Welchen Teil des Internets denn? Alles oder nur bestimmte Protokolle?
Ich habe auf meinem Server einen einfach HTTP-Proxy laufen und den als Endpunkt für einen SSH-Tunnel eingetragen. Damit kann ich dann von jedem Rechner aus eine sichere Verbindung zu meinem Server aufbauen und der leitet meine HTTP-Anfragen dann einfach weiter. Kann man natürlich auch mit allen anderen Proxies machen, sofern es nicht zu viele Protokolle werden…


Wieso sollte ein VPN nicht auch mit TCP funktionieren? Hoehere Latenzen wird man halt in Kauf nehmen muessen, aber die meisten Programme sollten damit keinerlei Probleme haben.


Man kann mit OpenSSH unter *nix einen SOCKS-Proxy öffnen (ssh -D) und den zum Tunneln benutzen. Diese Möglichkeit müsste es ja auch für Windows geben (PuTTY?).

Nachteil ist natürlich, dass du immernoch jede Anwendung extra dafür konfigurieren musst und diese auch Unterstützung für SOCKS mitbringen müssen. Außer es gibt so was wie tsocks auch für Windows. Das ist ein kleines Tool, das mittels LD_PRELOAD alle Netzwerk-Syscalls auf eine eigene Library umbiegt, die das dann entsprechend durch den SOCKS-Proxy schickt.

Das sind jetzt eher nur Anregungen, was möglich wäre :slight_smile:


Ja, danke erstmal. Das mit dem HTTP-Proxy über SSH klingt schonmal ganz gut. Dann muss ich halt in PuTTY den Proxy und ggf. noch Mail-Ports als Tunnel konfigurieren und in den Anwendungen entsprechend eintragen. Muss mal ein paar der Firefox-Addons zum schnellen Proxy-Umschalten testen.

Ich hab vorhin versucht, OpenVPN aufm Server einzurichten, bin aber zum 2. Mal an der Vielfalt der sich widersprechenden Tutorials gescheitert. Und mehrere OpenSSL-Schlüssel im richtigen Format zu erstellen ist auch nicht so meins…


Der Proxy meines Arbeitgebers achtet darauf, dass unter Port 443 tatsaechlich nur HTTPS-Requests durchgehen, weshalb man ssh leider nicht ueber den Port betreiben kann. Es gibt aber ein “SSH ueber HTTPS”-Projekt, welches das beheben will (AFAIR war es dieses: http://dag.wieers.com/howto/ssh-http-tunneling/). Wenn dem Arbeitgeber das immer noch nicht passt, kann er Deine Missetaten zwar leicht an der Traffic-Signatur erkennen, aber immerhin bist Du mal draussen…


Putty kann auch den Socks-Proxy-Modus: Dazu muss man einen neuen Tunnel nur als “dynamic” anlegen; den lokalen Port muss man natürlich noch angeben, “Destination” bleibt leer. Für Firefox kann ich FoxyProxy empfehlen; damit kann man Firefox dann regelbasiert je nach URL verschiedene Proxys beibringen und auch schnell um- bzw. abschalten.

Zu VPN: Ich bilde mir ein, dass OpenVPN doch genau für diesen Zweck beworben wird? Soweit ich das richtig in Erinnerung habe sieht ein Tunnel für einen Proxy aus wie eine HTTPS-Verbindung, d.h. wenn der Tunnelendpunkt auf Port 443 hört sollte man eigentlich überall herauskommen, wo auch HTTPS funktioniert?


Ist Verschlüsslung (in SSL und ssh) nicht eigentlich dafür gedacht, dass man nix mehr sieht, was da drübergeht, also auch keine Traffic-Signatur?


naja. http ist “paket mit kurzem GET-String hin” “Seite zurueck” und das n paar mal hintereinander fuer die ganzen bilder und zeugs.

ssh ist “kurzes paket (tastendruck) hin”, “kurzes paket (echo) zurueck”, funkstille.

Die Signatur kriegt man auch mit noch so guter Crypto nicht los…


Aber sollten über eine verschlüsselte Verbindung nicht idealerweise auch Dummy-Daten gehen, die dann die tatsächlichen Daten-Bursts verschleiern?

/edit: Idealerweise wohlgemerkt.


idealerweise ja, aber ich wuesste nicht, dass ssh das macht.