Quantcast
Channel: FDS-Team
Viewing all articles
Browse latest Browse all 2

Wlan Absicherung durch WPA – Enterprise

$
0
0

Wlan ist mitlerweile in jedem Router integriert und auch fast immer aktiviert, was nicht zuletzt an der Verbreitung von mobilen Geräten wie Smartphones oder Netbooks liegt: Die meisten Smartphones sind ja auch zu dünn für einen LAN Anschluss ;-). Im Gegensatz zu normalen Ehternet Verbindungen müssen hierbei jedoch wesentlich höhere Sicherheitsmaßnamen getroffen werden, denn der Anschlussinhaber ist für die Daten, die über seine eigene Internetverbindung gesendet werden verantwortlich. Neben den Gefahren für das lokale Netzwerk drohen also auch rechtliche Konsequenzen, wenn sein Wlan nicht ordnungsgemäß absichert ist und ein Dritter in das Wlan Netzwerk eindringt. Diese so genannte Störerhaftung ist aber nur dann gefährlich, wenn sein Wlan nicht ausreichend abgesichert ist (mehr Infos).

In diesem Artikel werden wir anhand von FreeRadius die Möglichkeiten vorstellen, welche WPA Enterprise zur Verfügung stellt um sein Wlan abzusichern. Es handelt sich hierbei nicht um ein Schritt für Schritt Tutorial, was auf Grund der vielen verschiedenen Authentifizierungsverfahren auch schlicht unmöglich wäre, sondern wir werden euch die verschiedenen Möglichkeiten vorstellen, sowie Links zu weiterführenden Tutorials sowie Tipps geben.

1. Welche Vorteile bringt WPA-2 Enterprise überhaupt?

Bei Privatpersonen kommt heutzutage meistens WPA2 – PSK zum Einsatz. PSK steht für Preshared Key und bedeutet das im Vorraus beim Wlan Hotspot/Router ein Passwort festlegt wurde und dies bei allen Geräten eingeben werden muss. Dieses Verfahren hat aber entscheidende Nachteile: Die ganze Sicherheit basiert darauf, das niemand das Password erfährt. Passiert dies trotzdem, muss das Passwort ersetzt sowie bei allen Endgeräten neu eingeben werden. Dies ist besonders schwierig wenn das Passwort einer großen Anzahl von Personen bekannt ist. Ein weiterer Nachteil ist, dass bei diesem Verfahren nicht vorübergehend einen Gast Zugang eingerichten werden kann, ohne dass danach alle Passwörter geändert werden müssten. Dieses Problem wird bei einigen Routern bzw. deren Firmware durch das temporäre Erzeugen eines zweiten Hotspots gelöst.

technical details

Technical details:

Die PSK Authentifizierung basiert auf HMAC-SHA1, hierbei wird das Passwort mit der PBKDF2 Funktion in einen Hash umgewandelt (siehe RFC 2898). Wer sich hierfür interessiert, findet den genauen Funktionsaufruf und ein Javascript zur Berechnung auf jorisvr.nl.

Bei WPA2 – Enterprise gibt es nicht einen gemeinsamen Schlüssel für alle Benutzer, sondern jeder Benutzer hat seinen eigenen “Schlüssel” für die Authentifizierung (Es muss sich hierbei nicht um ein Passwort handeln). Wird nun einer dieser Schlüssel unsicher, so kann dieser ersetzt werden und alle anderen Benutzer können ihren Schlüssel ohne Störung weiter benutzen. Der Vorteil für Gastzugänge müsste damit offensichtlich sein. Das Benutzer - Schlüssel System erlaubt es zusätzlich die Zugriffe besser zu überprüfen, da jede Wlan Verbindung einem Benutzer zu geordnet ist. Wird für jedes Endgerät einen eigener Schlüssel vergeben und es stellt sich heraus, das ein Gerät zweimal gleichzeitig verbunden ist, wäre dies bereits ein Anzeichen für einen Einbruch.

2. Wie wird WPA2 – Enterprise eingerichtet?

Die Einrichtung ist leider nicht ganz einfach, da dieses Verfahren sehr flexibel ist und es viele verschiedene Einstellungsmöglichkeiten zur Verfügung stellt. Zuerst muss überprüft werden, ob der Wlan Hotspot bzw. Router das Verfahren unterstützt. Dies lässt sich am einfachsten durch einen Blick in die Wlan Einstellungen des Gerätes verifizieren, lässt sich als Absicherung WPA2 – Enterprise auswählen oder kann eine RADIUS Server angeben werden, so ist man auf der sicheren Seite. Das Verfahren funktioniert wie folgt: Der Hotspot ist ab sofort nicht mehr für die Authentifizierung zuständig, sondern leitet bei einem Loginversuch alle Authentifizierungsanfragen an einen RADIUS Server weiter. Bei den meistens Hotspots muss ein extra PC vorhanden sein, auf dem ein RADIUS Server läuft, da diese Geräte selbst keine Benutzerverwaltung zur Verfügung stellen. Solch ein Rechner muss allerdings nicht sonderlich leistungsstark sein: ein kleiner Rechner, gerne auch mit stromsparendem ARM Prozessor (z.b. ein Raspberry Pi), ist ideal für solch einen Zweck geeignet. Sollen jedoch nur wenige Nutzer verwaltet werden, so kann alternativ auch ein Router mit OpenWRT genutzt werden und direkt auf diesem einen RADIUS Server installiert werden.
Sowohl unter OpenWRT wie auch auch den meisten anderen Linux Distributionen kommt dabei standardmäßig FreeRADIUS zum Einsatz, welches ganz einfach aus den Paketquellen installiert werden kann.

Nach der Installation von FreeRADIUS kommt der aufwendigste Schritt: Die Anpassung der Konfiguration an seine Bedürfnisse. Nach einem kurzen Blick in die Konfigurationsdateien (in der Regel befinden sich diese unter /etc/freeradius/) trifft man auf die Unterscheidung zwischen Authentication und Accouting. Bei Ersterem handelt es sich um die reine Authentifizierung, es wird geregelt wer die Berechtigung hat sich zu verbinden, und wer nicht. Bei Accounting wird die Verbindung auch nach der Authentifizierung weiter verwaltet. Dies erlaubt es die Dauer der Verbindung zu überwachen und so zum Beispiel die Wlan Nutzung abzurechnen oder die Nutzungsdauer einzuschränken.
Auf diesen Teil werde ich jedoch nicht näher eingehen, da das Accouting meistens nur von Hotspots unterstützt wird, welche für Firmenkunden ausgelegt sind.

Für WPA(2) - Enterprise wird das Extensible Authentication Protocol - kurz EAP verwendet, welches eine ganze Reihe von verschiedenen Authentifizierungmöglichkeiten anbietet. FreeRADIUS bietet daher die Möglichkeit all diese verschiedenen Verfahren zu konfigurieren und auch eine beliebige Anzahl gleichzeitig zu aktivieren. Dies ist besonders dann empfehlenswert, wenn die bevorzugte Authentifizierungsmethode nicht von allen genutzten Wlan Endgeräten unterstützt wird. Da sich diese Verfahren teilweise in ihrer Sicherheit und Verwendung unterscheiden, möchte ich kurz die wichtigsten vorstellen:

2.1. MSCHAP

Bei MSCHAP handelt es sich um eine Authentifizierungsmethode von Microsoft. Hierbei sendet der Client einen Hash (bestehend aus dem Passwort und einem zufällig ausgewählten Salt), den Salt und den Benutzernamen an den Server. Der Server holt das Passwort aus einer lokalen Datenbank, berechnet den selben Hash und überprüft ob die beiden Werte übereinstimmen.
Diese Methode ist recht simpel und wird von Linux, Windows sowie den meisten mobilen Endgeräten unterstützt, verlangt aber, dass die Passwörter in der Benutzerdatenbank im Klartext vorliegen. Käme ein Angreifer in den Besitz der Datenbank so würde er sofortigen Zugriff auf alle Passwörter bekommen. Desweiteren weist auch das Verfahren selbst Schwachstellen auf, siehe Wikipedia. Es wird normalerweise innerhalb eines abgesicherten Tunnels verwendet, aber dazu später mehr.

2.2. TLS

Hierbei handelt es sich um einen komplett anderen Ansatz: Die Sicherheit basiert bei TLS auf Zertifikaten. Um dieses Verfahren nutzen zu können, wird eine Zertifizierungsstelle benötigt, welche die Server und Client Zertifikate signiert. Hierfür reichen selbstsignierte Zertifikate vollkommen aus und bieten unter Umständen sogar die größere Sicherheit.

technical details

Technical details:

Sowohl der Client wie auch der Server benötigen das Zertifikat der Zertifizierungsstelle. Der Server schickt sein öffentliches Zertifikat an den Client, dieser überprüft ob es von der CA (Zertifizierungsstelle) signiert wurde. Danach muss der Server nachweisen, dass er den privaten Key für das Zertifikat besitzt, in dem er eine Nachricht, welche mit öffentlichen Key verschlüsselt wurde, wieder entschlüsselt. Das ganze macht dann der Client auch nochmal. Sind beide Zertifikate signiert und jeder im Besitz des privaten Schlüssels für sein Zertifikat, so kann sich der Client einloggen. Erstellte Zertifikate können später durch eine Certificate Revocation List (CRL) wieder gesperrt werden.

Diese Methode ist recht aufwendig, kommt aber ohne Benutzerdatenbank aus und wird sowohl von Linux wie auch Windows (wenn auch nur versteckt) unterstützt. Da sich sowohl der Server als auch der Client authentifizieren muss und die Sicherheit des Verfahrens einfach durch einen größeren privaten Schlüssel (z.b. 4096 Bit) steigern lässt, gilt dieses Verfahren als die sicherste EAP Authentifizierungsmethode.

2.3. TTLS

Im Gegensatz zur TLS wird bei TTLS lediglich das Serverzertifikat überprüft. Ist dieses gültig, so wird anhand dieses Zertifikats, ähnlich wie beim Besuch einer HTTPS Seite, eine verschlüsselte TLS Verbindung aufgebaut. Innerhalb dieses verschlüsselten TLS Tunnels kommt dann ein weitere Authentifizierungsmethode zum Einsatz. In diesem Zusammenhang wird häufig PAP zur Authentifizierung verwendet. Bei der Vernwedung von PAP wird das Passwort im Klartext gesendet, dies ist jedoch sicher, da das ganze durch den eben aufgebauten verschlüsselten TLS Tunnel gesendet wird. Im Prinzip handelt es sich hierbei um das gleiche Verfahren, welches auch bei HTTPS Webseiten (z.B. von Banken) verwendet wird. Der Vorteil ist, dass auch in Fällen, in denen das Passwort nur als Hash vorliegt (wie in der /etc/shadow oder z.B. in einer MySQL Datenbank), eine bereits existierende Benutzerdatenbank wieder verwendet werden kann. Dieses Verfahren ist ebenfalls als recht sicher einzustufen, wird aber standardmäßig nicht von Windows unterstützt. Unter Windows wird Software von Drittanbietern benötigt, welche teilweise kostenpflichtig ist. Windows unterstützt aber ein eigenes Protokoll namens PEAP, welches die gleichen Aufgaben wie TTLS erledigt. Es wurde von Microsoft, Cisco Systems und RSA Security entwickelt, wird aber von weit weniger Systemen und mobilen Geräten unterstützt. Alternativ kommt bei Windows basierten Systemen häufig das weiter oben erwähnte MSCHAP im TTLS Tunnel zum Einsatz.

Um herauszufinden wie diese Verfahren bei FreeRADIUS konfiguriert werden müssen, hilft am Besten einen Blick in den HOWTO Bereich des Wikis von FreeRADIUS. Hierbei kommt, meiner Meinung nach, die Erzeugung von Zertifikaten beim (T)TLS Verfahren und die Verwendung unter Windows zu kurz, daher empfehle ich hierfür zusätzlich dieses Tutorial.

info

Info:

Möchte man seine Einstellungen ohne WLAN testen oder einen Fehler finden, so bietet FreeRADIUS leider keine Testprogramme für EAP an. Der wpa_supplicant, welcher unter Linux für die WPA Authentifizierung zuständig ist, beinhaltet jedoch ein extra Testprogramm mit dem Namen eapol_test, mit dem die verschiedenen EAP Authentifizierung getestet werden können. Dieses Programm wird aber in der Regel nicht mit den Linux Distributionen vertrieben. Es existiert jedoch hier eine Anleitung, wie das Tool kompiliert werden muss und zusäzlich gibt es dort auch Beispiele für die benötigten Konfigurationsdateien. Für TLS sieht eine Konfigurationsdatei z.B. so aus:

network={
    eap=TLS
    eapol_flags=0
    key_mgmt=IEEE8021X
    identity="BENUTZERNAME"
    ca_cert="CA-ZERTIFIKAT"
    client_cert="CLIENT-ZERTIFIKAT"
    private_key="CLIENT-KEY"
    private_key_passwd="PASSWORT-DES-KEYS"
}

Es empfiehlt sich daher zuerst die Konfiguration ohne Wlan auf Fehler und Sicherheitslücken zu überprüfen, ohne das eine Sicherheitslücke dritten Zugriff auf das Wlan Netz gewährt.

3. Weitere Informationsquellen und Informationen

Auf Heise.de beschreibt ein sehr ausführtlicher Artikel WLAN sichern mit Radius die TLS und Passwortauthentifizierung, lässt aber grundsätzlich alle EAP Methoden aktiviert. Neben allgemeinen Erklärungen wird auch die Konfiguration von FreeRADIUS beschrieben.

Wer sich besonders für die Verwendung von WPA-Enterprise im Zusammenhang mit Windows Rechnern interessiert, findet in dem Artikel Planungshandbuch – Sichern von Wireless LANs mit Zertifikatsdiensten – Kapitel 5 eine Tabelle mit den Unterschiedlichen EAP Verfahren die Windows unterstützt. Die anderen Kapitel des Artikels sind auch recht informativ und erklären zum Beispiel den Sinn von RADIUS Proxy Servern. Dabei wird aber natürlich vorausgesetzt, dass ein Windows Server als RADIUS Server dient.

Häufig wird WPA-Enterprise auch mit dem Namen IEEE 802.1X bezeichnet, beide Begriffe bezeichnen das selbe Verfahren, jedoch wird IEEE 802.1X häufiger im Zusammenhang mit normalen LANs oder VLANs benutzt. Ein geeigneter Switch/Router ermöglicht es dann diese RADIUS basierte Authentifizierung ebenfalls in normalen Ehternet Netzen zu verwenden. Bei Wlan wird das ganze meistens mit WPA-Enterprise bezeichnet.

Ich hoffe ich konnte einen guten Einstieg in das Thema geben, empfehle aber, das ganze nur dann einzurichten wenn wirklich genug Zeit zur Verfügung steht, um sich mit den verschiedenen Modulen und Verfahren zu beschäftigten. Im Zweifelsfall sollte lieber weiterhin auf ein Preshared Key Verfahren gesetzt werden, als einen falsch konfigurierten FreeRADIUS Server zu betreiben, der jedem freien Zugang gewährt.

Eine kleine Anmerkung noch am Rande: Die Sicherheit von Zertifikat-basierten Logins ist natürlich nur so sicher, wie die zugrundeliegenden Implementierungen in FreeRADIUS. Es sollte daher stets darauf geachtet werden, dass eine als sicher geltende OpenSSL Version zu Einsatz kommt und diese auf dem neusten Stand gehalten wird.


Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles