freeRADIUS & DD-WRT mit WPA2 und Windows XP – Teil 2

So nach dem wir nun dem freeRADIUS EAP & TLS u.s.w beigebracht haben, können wir nun den Router konfigurieren. In meinem Fall ist das das Linksys WRT54GL mit DD-WRT v24.

Einstellungen für DD-WRT
Einstellungen für DD-WRT

Als erstes Loggen wir uns auf dem Router ein. Klicken dann auf Wireless und dann auf Wireless Security. Dort wählen wir WPA2 Enterprise aus. Nun müssen wir unseren Server eintragen, wo wir gerade freeRADIUS installiert haben. Desweiteren brauchen wir das RADIUS Shared Secret. Hier denken wir uns ein Passwort aus. Diese müssen wir später in die Konfiguration des freeRADIUS Servers eintragen. Port und Key Renewal Interval können wir so belassen. Fertig – der Router fragt nun immer den Radius-Server wenn sich ein Client anmelden möchte. Teilweise muss man den WPA Algorithms auf TKIP umstellen. Zum Anfang können wir es auch machen und stellen es später dann wieder AES um. TKIP unterstützen eigentlich alle WLAN-Karten, und somit haben wir für den Anfang schon ein Fehlerpunkt ausgeräumt.

Wenn jemand schon ein CA hat, sollte jetzt für den User und den Server Zertifikate ausstellen. Sollte noch keine CA ( Certificate Authority ) vorhanden sein, erstellen wir uns nun ein. Wir wechseln in der Verzeichnis /usr/lib/ssl/misc und dort passen wir den Eintrag CATOP=./devnu11CA entsprechend unseren Vorstellungen an. Wenn wir fertig sind, reicht ein Aufruf von ./CA.sh -newca im Verzeichnis. Alle Fragen beantwortet ? Dann können wir mit

openssl req -new -nodes -keyout server.key.pem -out server.req.pem

den Request für das Zertifikat vom Server erstellen. Nur nur signieren und wir haben das Zertifikat für den Server.

openssl ca -out server.cert.pem -infiles ./server.req.pem

hier werden wir nun nach der Passphrase gefragt, die wir beim erstellen unserer CA eingetippt haben. Das gleich machen wir nun für den Client.

openssl req -new -nodes -keyout rmichel.key.pem -out rmichel.req.pem
openssl ca -out rmichel.cert.pem -infiles ./rmichel.req.pem

Das server.cert.pem und das cacert.pem kopieren wir nun nach /etc/freeradius/certs. Dort ändern wir den Besitzer mit

chown root:freerad *.pem

und ändern auch die Zugriffsrechte auf 440 mit

chmod 440 *.pem

Jetzt sind wir fast fertig. Nun müssen wir noch den freeRADIUS einrichten. Dazu nach /etc/freeradius/certs wechseln und

openssl dhparam -check -text -5 512 -out dh
dd if=/dev/urandom of=random count=2

ausführen. Beides dient der TLS Verschlüsselung. Danach editieren wir dann die /etc/freeradius/clients.conf und fügen die folgenden Zeilen hinzu

client 192.168.26.254/24 {
secret = passwort
shortname = wrt54gl
nastype = other
}

Hier ist steht die IP Adresse des WLAN Accesspoints, das RADIUS Shared Secret was wir schon im Accesspoint eingetragen haben und noch ein Alias. Dann öffnen wir die /etc/freeradius/eap.conf. Nun passen wir folgende EInträge an

default_eap_type = tls
private_key_file = ${certdir}/server.key.pem
certificate_file = ${certdir}/server.cert.pem
CA_file = ${cadir}/cacert.pem

Damit sollte der RADIUS-Server fertig sein. Einfach mal mit freeradius -X testen ob der Server startet (Sollte er eigentlich 😉 )

Nun müssen wir noch fix unser Client-Zertifikat in das PKCS12-Format umwandeln mit

openssl pkcs12 -nodes -export -in rmichel.cert.pem -inkey rmichel.key.pem -out rmichel.cert.p12 -clcerts

Das müsst ihr zusammen mit dem cacert.pem auf einen USB-Stick kopieren oder gleich auf den Windows Rechner. Das war’s ! Wir sind mit dem RADIUS-Server fertig.

Nun sind wir auf dem Windows-Rechner, und starten über Start->Ausführen->mmc die Microsoft-Mangment-Console, kurs mmc. Dort auf Datei->Snap-In hinzufügen und dann auf Hinzufügen…. Dann nach unten Scrollen und Zertifikate hinzufügen und Eigenes Benutzerkonto auswählen. Jetzt fügen wir das cacert.pem mit Rechtsklick auf Vertrauenswürdige Stammzertifizierungsstellen->Alle Aufgabe->Importieren ein. Das USERNAME.cert.pem über Rechtsklick Eigene Zertifikate->Alle Aufgabe->Importieren und hier fragt Windows nach der Passpharse.

Lediglich das passende WLAN muss noch eingerichtet werden. Auf Start->Einstellungen->Netzwerkverbindungen->Drahtlose Netzwerkverbindung Rechtsklick und Verfügbare drahtlose Netzwerke anzeigen. Im Infofenster Drahtlosnetzwerk für Heim- bzw. kleines Firmennetzwerk einrichten anklicken. Nun tragen Sie die SSID ein, und stellen WPA2 ein. Datenverschlüsselung TKIP und der EAP-Typ auf Smartcard oder anderes Zertifikat einstellen. Wenn alles geklappt hat sollten wir jetzt in der Ausgabe von freeRADIUS (welches wir ja mit freeradius -X gestarten haben) eine paar Meldungen sehen, und auf dem Windows-Client eine erfolgreich verbunden WLAN-Verbindung.

Done.

Bei Fragen einfach ein Kommentar hinterlassen. Ich werde versuchen zuhelfen 🙂

7 thoughts on “freeRADIUS & DD-WRT mit WPA2 und Windows XP – Teil 2”

  1. Hi,

    sehr geile Anleitung muss ich sagen 🙂 funktioniert alles wunderbar.
    Habe allerdings ein kleines Problem, was aber nicht unbedingt mit freeradius zu tun hat.
    Ich habe einige WindowsClients, die lassen sich einfach nicht connecten, mit anderen geht es wieder wunderbar. Zertifikat alles gut erstellt auch erfolgreich importiert, aber wenn man connecten will passiert einfach garnix. Irgenwann kommt “Verbindung kann nicht hergestellt werden”. Das was mich stutzig macht, ist allerdings, das im freeradiusLog NICHTS auftaucht. Normerweise kommt ja immer Auth Login OK oder Incorrect Login. Aber in diesem Fall passiert ueberhaupt nichts… Habe das an vielleicht 5 Geraeten, mit ueber 100 anderen geht es einwandfrei :).
    Die Sache ist nun ich weiss nicht was am windows “falsch” ist, dass das wieder geht… Einen dieser 5 habe ich einfach formatiert und neu installiert, und alles klappt (mit dem selben Zertifikat wie vorher) wunderbar… Nur formatieren ist ja keine Loesung …

    Hast du eine Idee was das sein koennte?

    Wuerde mich ueber eine Antwort freuen 🙂

    bye

  2. bin jetzt am gleichen punkt wie fabian.
    allerdings hat sich der radius 1x gemeldet aber anmeldung ist fehlgeschlagen muss das client-zertifikat nicht auch in /etc/freeradius/certs?

  3. hallo,
    habe den tplink wr1043nd mit dd-wrt r16754. anfangs habe ich mit wds experimentiert. nun möchte ich auch mal mit RADIUS abeiten. komme aber immer nur soweit das es am certifikat scheitert. Kannst du mir auf einfacher weise weiterhelfen?
    gruß
    peter

Leave a Reply

Your email address will not be published. Required fields are marked *