WLAN an der UHH mit freier Software
Wer mit einem Linux-System (oder einem verwandten Betriebssystem) das Uni-WLAN benutzen will, kommt auf den ersten Blick nicht daran vorbei, den "Cisco AnyConnect VPN Client" zu benutzen, den die Uni bereitstellt. Doch es gibt mehr als einen guten Grund, warum man diesen unter Umständen nicht benutzen möchte oder kann.
Dieser Artikel beschreibt die Situation und zeigt mehrere Lösungen auf: Zum einen kann man einen alternativen VPN-Client benutzen, zum anderen gibt es Wege, das Uni-WLAN ganz ohne VPN-Client zu benutzen; dafür sind einige Konfigurationsbeispiele aufgeführt. Viel Spaß!
Zur Geschichte
Im Frühjahr 2010 schaltete das Rechenzentrum der Uni Hamburg die Authentifizierung für das Uni-Netz per SSH auf dem Server 10.1.1.10 ab. Stattdessen soll für den Zugang zum Uni-Netz jetzt das WPA-verschlüsselte WLAN mit der ESSID "UHH-WPA" oder das unverschlüsselte WLAN ("UHH") mit dem "Cisco AnyConnect VPN Client" benutzt werden, den das RRZ für Windows, Mac OS X und Linux anbietet.
Der Zweck dieser Änderungen ist es, zu verhindern, dass über Uni-WLAN unverschlüsselte Daten verschickt werden. Auf dem alten Weg über das "UHH"-Netz und die SSH-Authentifizierung war lediglich die SSH-Anmeldung, nicht aber der restliche Datenverkehr verschlüsselt. Es wäre somit möglich gewesen, Datenpakete einfach "aus der Luft zu fangen" und unter Umständen Chats und Emails mitzulesen, Passwörter in Erfahrung zu bringen und anderen Unfug zu treiben.
Was ist denn dann das Problem?
Der bereitgestellte Cisco-Client ist keine freie Software, sondern wird als binäre, geschlossene Software herausgegeben. Das macht ihn nicht nur für diejenigen unbenutzbar, die aus Prinzip nur freie Software einsetzen möchten – auch Benutzer von Linux-Systemen, die auf weniger üblichen Architekturen laufen (wie z.B. ARM, PPC oder SPARC gegenüber den üblichen x86 und x64), oder Benutzer von anderen *NIX-Systemen wie etwa BSD stehen im Regen.
Bösen Willen kann dem Rechenzentrum sicherlich niemand unterstellen: Einen zuverlässigen Support für die schier unendlichen Kombinationen von *NIX-Systemen, exotischer Hardware und freien Software-Tools zu liefern ist selbst für eine Institution wie das RRZ kaum zu bewerkstelligen.
Lösungswege
Glücklicherweise gibt es einen anderen Weg, der in der Freie-Software-Community schon immer kreative Lösungen für die verschiedensten Probleme hervorgebracht hat: Die Dinge selbst ausprobieren, anderer Leute Lösungen an die eigenen Probleme anpassen, Erfahrungen sammeln und teilen.
Keine Frage, das ist mit mehr Arbeit verbunden, als eine Support-Hotline anzurufen – aber wer diese Seite bis hierher gelesen hat, bringt aller Wahrscheinlichkeit nach sowieso schon genug Willen zum Basteln mit!
Wir wollen zwei Lösungswege vorstellen: Zum einen die Benutzung des freien VPN-Clients OpenConnect mit dem "UHH"-Netzwerk, zum anderen der Zugang zum "UHH-WPA"-Netzwerk mit dem wpa_supplicant-Tool.
"UHH" mit OpenConnect
Im Wiki des FSR Informatik gibt es dazu eine Anleitung: Mit OpenConnect ins Uni-WLAN.
Auf der Homepage von OpenConnect heißt es:
OpenConnect is known to work on Linux, OpenBSD, FreeBSD, NetBSD, DragonFly BSD, OpenSolaris and Mac OS X platforms, and should be trivially portable to any other platform supporting TUN/TAP devices and on which OpenSSL runs. [...] It is known to work on at least i386, x86_64, PowerPC and MIPS processors, and should not have issues with portability to other CPUs.
Dieser Lösungsweg steht damit fast allen offen, die nach der Beschreibung oben den "Cisco AnyConnect VPN Client" nicht benutzen können.
"UHH-WPA" mit wpa_supplicant
Auf einer Seite der TU Braunschweig gibt es diverse Anleitungen dafür, das dortige "eduroam"-WLAN mit Linux zu benutzen, ohne einen VPN-Client zu benötigen. Glücklicherweise ist die Authentifizierungs-Technik dort die gleiche wie für das "UHH-WPA"-Netz der Uni Hamburg, nämlich EAP-TTLS mit PAP-Authentifizierung. Mit freundlicher Genehmigung des Service Desk im Gauß-IT-Zentrum der TU Braunschweig haben wir die Anleitung für die Uni Hamburg angepasst und veröffentlichen sie hier.
Für alle folgenden Lösungen wird das Tool wpa_supplicant benötigt. Auf dessen Homepage ist zu finden, dass er mit vielen Linux-WLAN-Treibern (auch dem ndiswrapper!) und FreeBSD- und NetBSD-WLAN-Treibern mit dem net80211-Layer funktioniert. Der wpa_supplicant ist auf vielen Linux-Systemen vorinstalliert oder als Paket verfügbar.
Außerdem muss das für die Authentifizierung erfolrderliche Rootzertifikat für die Uni Hamburg beim RRZ heruntergeladen und lokal gespeichert werden. In den folgenden Anleitungen wird /home/foo/g_rootcert.crt als fiktiver Pfad benutzt, dieser muss natürlich angepasst werden.
Ein wichtiger Hinweis zur Sicherheit! Manche der folgenden Lösungen führen dazu, dass das eigene RRZ-Kenntwort unverschlüsselt auf der Festplatte gespeichert wird. Diese Vorgehensweise ist nicht zu empfehlen! Sowohl GNOME als auch KDE bieten sichere Kennwort-Speicher an (GNOME Keyring bzw. KDE KWallet). Für die anderen Fälle sollte mindestens die Partition verschlüsselt sein, auf der das Passwort gespeichert ist und der Laptop vor Zugriffen durch Dritte geschützt sein!
Es folgen vier Wege, den WLAN-Zugang einzurichten: Mit NetworkManager-Tools von GNOME und KDE (z.B. auf standardmäßigen Ubuntu- und Kubuntu-Installationen), mit dem schlanken Netzwerkmanager wicd, und komplett "zu Fuß".
Mit GNOMEs NetworkManager-Frontend
Der folgende Screenshot ist einem Blogpost eines Studenten aus Dresden entnommen und angepasst. Er zeigt die Einrichtung des WLAN mit dem GNOME-Frontend des NetworkManager, das z.B. bei Ubuntu standardmäßig für die WLAN-Konfiguration verwendet wird:

Dabei muss unter User Name natürlich die eigene RRZ-Kennung mit dem Zusatz @uni-hamburg.de eingetragen werden, also z.B. p2my123@uni-hamburg.de.
Mit KNetworkManager
Der folgende Screenshot ist einem Blogpost eines Studenten aus Madrid entnommen und angepasst. Er zeigt die Einrichtung des WLAN mit dem KDE-Frontend des NetworkManager, das z.B. bei Kubuntu standardmäßig für die WLAN-Konfiguration verwendet wird:
Dabei muss in das Feld Identity die eigene RRZ-Kennung mit dem Zusatz @uni-hamburg.de eingetragen werden, also z.B. p2my123@uni-hamburg.de. In dem Feld Anonymous Identity wird anonymous@uni-hamburg.de eingetragen.
Mit dem Netzwerkmanager wicd
Wicd ist ein kompakter, leichter und intuitiv zu bedienender Netzwerkmanager und ist als Alternative zu dem manchmal schwerfälligen
NetworkManager die persönliche Wahl des Autors.
Für das "UHH-WPA"-Netz wird die Datei /etc/wicd/encryption/templates/uhhwpa mit folgendem Inhalt angelegt – dabei muss zunächst nichts angepasst werden:
# wicd-Konfigurationsdatei für das UHH-WPA-Netz der Uni Hamburg
# Basiert auf einer Version von Andreas Buethe für die TU Braunschweig
name = UHH-WPA (EAP-TTLS/PAP)
author = Michael Bueker
version = 1
require identity *RRZ-Kennung password *Passwort ca_cert *Zertifikat
-----
# global configuration
ctrl_interface=/var/run/wpa_supplicant
# uhhwpa
network={
ssid="$_ESSID"
mode=0
proto=WPA2
key_mgmt=WPA-EAP
auth_alg=OPEN
eap=TTLS
identity="$_IDENTITY"
anonymous_identity="anonymous@uni-hamburg.de"
password="$_PASSWORD"
ca_cert="$_CA_CERT"
phase2="auth=PAP"
priority=5
}
Als nächstes wird diese "encryption template" für wicd aktiviert, indem der Datei /etc/wicd/encryption/templates/active die Zeile "uhhwpa" hinzugefügt wird:
echo uhhwpa >> /etc/wicd/encryption/templates/active
Dann kann in der grafischen Oberfläche von wicd unter "Eigenschaften" des "UHH-WPA"-Netzes die Konfiguration vorgenommen werden:

Dabei wird in das Feld "RRZ-Kennung" die eigene Kennung mit dem Zusatz @uni-hamburg.de geschrieben, also z.B. p2my123@uni-hamburg.de.
"Zu Fuß": wpa_supplicant ohne GUI
Last but not least kann die Authentifizierung auch ganz ohne GUI-Tools vorgenommen werden. Folgende Konfigurationsdatei wird dazu z.B. unter dem Namen /etc/wpa_supplicant/uhhwpa.conf angelegt:
# global configuration
ctrl_interface=/var/run/wpa_supplicant
# eap-ttls
network={
ssid="UHH-WPA"
mode=0
proto=WPA2
key_mgmt=WPA-EAP
auth_alg=OPEN
eap=TTLS
identity="XXX@uni-hamburg.de"
anonymous_identity="anonymous@uni-hamburg.de"
password="XXX"
ca_cert="/home/foo/g_rootcert.crt"
phase2="auth=PAP"
priority=5
}
Dabei muss in Zeile 11 die RRZ-Kennung, in Zeile 13 das Passwort und in Zeile 14 der Pfad zum Zertifikat angepasst werden.
Die Verbindung wird dann über den Befehl
wpa_supplicant -i <interface> -D <driver> -c /etc/wpa_supplicant/uhhwpa.conf
hergestellt (mit eth1, wlan0 o.Ä. für <interface> und dem passenden Treiber für <driver> – in den meisten Fällen wext). Zuletzt muss dann von Hand eine IP-Adresse per DHCP bezogen werden, etwa mit:
dhclient -i <interface>
