WLAN sichern mit Radius
Seite 3: Freeradius-Konfiguration
Freeradius-Konfiguration
Bei einem frisch installierten Opensuse 11.2 muss man zwei Pakete nachziehen, den Radius-Server freeradius-server sowie make, damit später das Erzeugen von Zertifikaten per Skript klappt. Wer die Dokumentation lokal haben und Admin-Werkzeuge nutzen will, spielt auch gleich freeradius-server-doc und freeradius-server-utils auf.
Opensuses Systemverwaltungswerkzeug Yast bietet leider keine Option zur Freeradius-Einrichtung an. Um das Bearbeiten von Konfigurationsdateien mit dem bevorzugten Editor kommt man leider nicht herum. Zwar steht in der Paketverwaltung auch freeradius-server-dialupadmin zur VerfĂĽgung, aber dieses per Browser steuerbare Werkzeug ist auf die Nutzerverwaltung per LDAP oder SQL-Datenbank in groĂźen Installationen wie etwa bei Internet-Providern spezialisiert und fĂĽr unsere Zwecke ĂĽberdimensioniert.
Die Freeradius-Konfigurationsdateien liegen in /etc/raddb, die Logdatei in /var/log/radius. Das Log kann man zur Fehlersuche in einem Terminalfenster mitlaufen lassen: tail -f -n25 /var/log/radius/radius.log. Nutzer ohne Root-Rechte stellen ein sudo voran.
Nun passt man fünf Konfigurationsdateien an und erzeugt Zertifikate. Ans Ende der Datei users tragen Sie die Radius-Nutzer mit Klartextpasswörtern ein (siehe Beispiel im Listing). Weil darauf root und die Nutzergruppe radiusd Zugriff haben, sollten Sie unbedingt separate Zugangsdaten verwenden, keinesfalls auch anderswo gebrauchte Namen und Passwörter.
"eltern" Cleartext-Password := "duerfenimmer"
"kinder" Cleartext-Password := "duerfenseltener", \
Login-Time := "Wk0800-2000,Sa0800-2200,Su0800-2000"
"gast" Cleartext-Password := "darfauchmal", Login-Time := "Al0700-2300"
"Karl Ranseier" Auth-Type := Reject, Reply-Message = "ist tot!"
Der Parameter Login-Time bei den Einträgen in /etc/raddb/users beschränkt die Anmeldung beispielsweise für den Nachwuchs auf bestimmte Stunden.
Schließen Sie die Nutzernamen wie im Beispiel generell in Anführungsstriche ein, damit Leerzeichen nicht zum Problem werden. Meiden Sie Umlaute, Sonder- und Satzzeichen bei Namen und Passwörtern, denn manchmal setzen die Client-Programme sie unterschiedlich um, sodass trotz korrekter Eingabe keine Verbindung zustande kommt. Beispielsweise wertet Freeradius einen Punkt im Namen als Trenner für einen Hinweis auf den gewünschten Diensttyp: Aus "radtest.ppp" würde es ableiten, dass ein PPP-Zugang gewünscht sei.
Der Parameter Login-Time verhindert, dass sich jemand außerhalb des angegebenen Zeitraums einloggen kann. Er wirft aber niemanden bei Ablauf der Frist automatisch aus dem Netz, das muss der Access Point durch regelmäßige Reauthentifizierung etwa im Viertelstundentakt erledigen. Die Login-Zeiten definieren Sie als Kombination aus Wochentagskürzel (Al = Alle, Wk = Werktage, sonst englische Kürzel, etwa Tu für Dienstag) und minutengenauen Zeitraum (hhmm-hhmm).
Damit der Radius-Server weiß, auf welche Unterhändler er lauschen muss und welches Shared Secret dabei zum Einsatz kommt, tragen Sie sie in clients.conf ein. Mit einem Eintrag wie
client 192.168.111.8/29 {
secret = radiustest123
shortname = APs-im-Testnetz
}
horcht der Daemon radiusd auf Anfragen aus dem Subnetz 192.168.111.8 bis .15. Falls Sie nur eine WLAN-Basisstation betreiben und diese eine feste IP-Adresse hat, können Sie sie mit angehängtem /32 auch direkt eintragen.