Version: 0.1
Getestet: Ubuntu 8.04 LTS
Bei der Verwendung von öffentlichen Wlan Hot-Spots sollte man unbedingt seine eigenen Verbindungen absichern. Hierzu eignet sich beispielsweise die Tunnelung des eigenen Traffics durch SSH über den HTTPS Port 443, welcher in der Regel immer offen ist und zudem bei kostenpflichtigen Hot-Spots nicht immer über ein Captive Portal geroutet wird.
Diese Anleitung beschreibt, wie ein eigener (Web)Server als "Tunnelpartner" dienen kann. Es wird ein Protokoll-Multiplexer eingesetzt, damit der SSH Tunnel auf Port 443 auch auf einem aktiven HTTP(S)Server terminiert werden kann. Zusätzlich wird noch ein HTTP Proxy auf einem entfernten/eigenen Server eingesetzt, welche die HTTP Request weiterleitet und beantwortet.
Wie so oft, gibt es auch hier ein Dual-Use. Aber auf diese Möglichkeit oder andere, wie HTTP-Connect Tunnel und MAC Spoofing wird hier nicht eingegangen. Der geneigte Nerd surft und schweigt ;-).
Diese Anleitung soll nur der Absicherung der eigenen Verbindungen dienen!
SSH/SSL Multiplexer sslh
http://www.rutschle.net/tech/sslh.shtml
sslh auf einem Server installieren
apt-get install libwrap0-devwget http://www.rutschle.net/tech/sslh-1.7a.tar.gz
tar xvzf sslh-1.7a.tar.gz
cd sslh-1.7a
make
cp scripts/etc.default.sslh /etc/default/sslh
cp scripts/etc.init.d.sslh /etc/init.d/sslh
/etc/default/sslh
LISTEN=<externe IP>:443SSH=localhost:22
SSL=localhost:443
/etc/init.d/sslh
...PREFIX=/usr/local/bin
DAEMON=$PREFIX/sslh
...
/etc/ssh/sshd_config
ListenAddress 127.0.0.1:22ListenAddress <externe IP>:22
/etc/apache2/ports.conf
Listen 80<IfModule mod_ssl.c>
Listen localhost:443
</IfModule>
/etc/apache2/conf.d/*.conf
<VirtualHost localhost:443>Reload Apache und SSHD
/etc/init.d/apache2 restartkill -HUP pid-of-sshd
Perl HTTP Proxy
/usr/local/bin/http_proxy.pl
#!/usr/bin/perluse HTTP::Proxy;
my $proxy = HTTP::Proxy->new( port => 53128);
$proxy->start;
SSH Tunnel
Tunnel aufbauen und http_proxy starten
localhost:58080 als Proxyaddresse nutzen
ssh -v user@<externe IP> -p 443 -L58080:localhost:53128 'http_proxy.pl'