Tunnelbau in der Hochschule Karlsruhe

Hier möchte ich näher beschreiben, wie man eine Internetverbindung von der Hochschule Karlsruhe aus herstellen kann.

Ich erinnere mich noch genau an meinen ersten Tag an der Hochschule Karlsruhe...
Ich kam an, und es ging erstmal kein Internet.
Kein Internet.

Broschüre HsKA Das Hochschulnetzwerk
Broschüre HsKA IT-Dienste für Experten

Zumindest die erste Broschüre sollte man sich zu Gemüte führen.
Der Internetzugriff nach draußen findet also ausschließlich über einen von zwei möglichen Proxies statt:
HTTP proxy.hs-karlsruhe.de:8888
SOCKS socks.hs-karlsruhe.de:1080


Das ist nicht nur nervig, sondern funktioniert öfters auch gar nicht:


Umgehen kann man den Proxy leider nicht, er ist der einzige Weg aus dem HsKA-Netz (HsKA-8021x).
Die HsKA ist zwar Teilnehmer am eduroam-Projekt, leider können die eigenen Studenten an der HsKA nicht darauf zugreifen, es ist dort nur für Gäste verfügbar.
Wir kommen nicht am Proxy vorbei, also graben wir einen Tunnel durch. Einen Tunnel zu einem Server, auf welchem es keinerlei Einschränkungen gibt.

Im Folgenden werde ich einige Möglichkeiten und deren Einsatzgebiet sowie Einrichtungsaufwand darstellen:











HsKA ProxySSH TunnelOpenVPN
Verschlüsseltneinjaja
Selektivjajanein
Globalneinnein (Android: ja)ja
Aufwand Clientwenigmittelwenig
Aufwand Server-wenig (15€+/Jahr)hoch (80€/Jahr)
Windowsin BrowsereinstellungenPuTTYOpenVPN Client
AndroidProxyDroid (root)SSHTunnel (root)OpenVPN (root)
Applein Einstellungen??


Zur Clientkonfiguration:

HsKA Proxy
Nutzt man nur den HsKA Proxy, ist das nervig, da man jedes mal die Proxyeinstellungen im Browser/Programm ändern muss. Zudem unterstützt nicht jede Anwendung die Nutzung eines Proxyservers, diese sind folglich erst gar nicht nutzbar.
Es geht also nur normales Surfen im Internet.
Wie man einen Proxy für seinen Browser setzt, findet man einfach über Google. Oder weiter unten im Bild, für Firefox.

Das Android Smartphone soll natürlich auch ins Internet, deshalb noch die ProxyDroid (root) Konfiguration:

ProxyDroid (root) setzt den Proxy beim Verbinden mit dem HsKA-Netzwerk automatisch, man muss sich um nichts mehr kümmern. WhatsApp und andere Messenger funktionieren dann problemlos.
Bei Apple's iOS wurde die Proxykonfiguration richtig implementiert, ein Proxy kann direkt unter den WLAN-Einstellungen gesetzt werden.

SSH Tunnel
Ein SSH-Tunnel läuft von der Benutzung fast auf das Gleiche wie beim HsKA-Proxy hinaus:
Auch hier wird im Browser ein Proxy gesetzt, dieser zeigt aber auf den lokalen Rechner. Hierfür muss man irgendwo einen Server mit Linux stehen haben oder Zugriff darauf.
Unter Windows baut das Programm PuTTY einen verschlüsselten SSH-Tunnel durch den HsKA-Proxy auf. Dabei stellt PuTTY einen lokalen Proxy bereit, dessen Datenverkehr durch den Tunnel geleitet wird.
Programm => PuTTY (SSH-Tunnel) ==HsKA Proxy==> Internet

Die Einstellungen in PuTTY müssen nur einmalig vorgenommen werden.
Verwendet man SSH mit einem Private/Public-SSH-Schlüsselpaar und setzt im Browser das Häkchen auf Remote DNS, so kann man sich wirklich sicher sein, dass alles sicher ist 😂.
Die Ausnahmeliste im Browser nicht vergessen, sodass auf interne Dienste zugegriffen werden kann:
*.hs-karlsruhe.de,193.196.64.0/18;
localhost, 127.0.0.1; 10.0.0.0/8



OpenVPN
OpenVPN ist, was Sicherheit und Komfort angeht, die beste Lösung.
Ihr kommt morgens an zur Vorlesung, klappt das Laptop auf, startet OpenVPN, klickt auf Verbinden, wartet 10 Sekunden und fertig. Das war's. Es ist keine weitere Konfiguration mehr notwendig, wie z.B. das Ändern der Proxyeinstellungen im Browser.
Betriebssystem => OpenVPN (VPN-Tunnel) ==HsKA Proxy==> Internet
Und es läuft auch wirklich alles: Dropbox, Skype, VoIP, Torrent, Steam, ...

In der generierten oder vom VPN Anbieter gekauften client.ovpn muss noch der Proxy hinzugefügt werden:
http-proxy proxy.hs-karlsruhe.de 443 auth.txt basic
http-proxy-retry

auth.txt muss sich im selben Verzeichnis befinden, in dieser stehen die Anmeldedaten, IZ-Benutzername und Passwort in je einer eigenen Zeile:
hska1234
password1234

SOCKS geht bedauerlicherweise nicht, da keine Authentifizierung unterstützt wird.


Zur (Linux)Serverkonfiguration:
Die Serverkonfiguration werde ich nur kurz anreißen, da man einen SSH/OpenVPN Zugang auch kostenpflichtig erwerben kann und die Einrichtung somit entfällt.
Zu beachten ist beim VPN-Kauf, dass TCP Port 443 unterstützt wird.

SSH Tunnel
Die Erstellung eines Benutzers nur für's SSH-Portforwarding ist fast schon trivial
useradd -s /sbin/false sshtunnel
passwd sshtunnel

Besser man benutzt ein Schlüsselpaar, nichtsdestotrotz kann hier auf der Seite gleich ein sicheres Passwort generiert werden.

OpenVPN
Demgegenüber ist das Setup eines OpenVPN-Servers alles andere als trivial.
Findet man nicht gerade ein Setup-Script, das auch noch funktioniert, dann würde ich eher zu einem kommerziellen Anbieter raten.
Andernfalls ist die Konfiguration für einen alleine noch machbar: OpenVPN Installation


Noch zum Netzwerk allgemein, eine DPI (Deep-Packet-Inspection) findet nicht statt, d.h. es wird nicht versucht, die verschlüsselte Verbindung aufzubrechen oder zu blockieren, dennoch wird beim Verbinden mit dem HsKA-8021x-Netzwerk ein Zertifikat (DTAG-Root-CA-2) installiert.
Damit könnte der Proxy https Verbindungen aufbrechen. Meines Wissens nach wird das Zertifikat allerdings nur zur Authentifizierung gegenüber dem WLAN benutzt.

Zu guter Letzt kann auch ein Besuch der KIT-Bibliothek nicht schaden. Neben einem großen Repertoire an Fachliteratur gibt es dort eduroam. Anmelden mit HsKA-Email-Adresse und IZ-Passwort
hska1234@hs-karlsruhe.de
password1234

und die exzellente, Proxy-freie Anbindung genießen.