Freeradius, Installation und Konfiguration. EAP-TLS.

Authentisierung ohne Passwort, aber mit Client-Zertifikat

- für die Konfiguration des Freeradius-Servers werden wir die Zertifikate ca.pem, server.pem und server.key brauchen,
- auf dem Client-Gerät werden wir die Zertifikate ca.der und client.p12 installieren.

Die Zertifikate kann man, wie im Artikel Zertifikate beschrieben, erstellen. Bitte zuerst die Zertifikate erstellen, bevor man hier weitermacht.
Wir installieren den Radius Dienst auf unserem ddf Server. Zuvor haben wir schon auf dem gleichen Server die DNS und DHCP Dienste installiert. Die Dienste DHCP und DNS können selbstverständlich auf anderen Servern laufen.
Nach der Installation des Freeradius-Dienstes muss auch die Access-Points bzw. den WLAN-Controller entsprechend konfigurieren. 

Auf den APs muss man in WLAN Bereich (WPA/WPA2 - Enterprise) die IP-Adresse des Radiusdienstes und das gemeinsame Passwort für AP und den Radiusdienst eintragen. Das machen wir auf allen AP bzw. auf dem WLAN-Controller. Die SSID sollte auf jedem AP die gleiche sein.
Auf dem Server tragen wir wiederum in dier Freeradius Konfiguration alle APs mit den entsprechenden IP-Adressen und dem gemeinsamen Passwort.

Wie sollte die Verbindung funktionieren?
Das WLAN-Gerät verbinden wir mit einer bestimmten SSID des WLANs. Auf dem Gerät kommt dann ein Fenster nach der Frage des Benutzernamen und des Passwortes.
Das ist die Standardeinstellung, z.B. auf einem Windowsgerät. Das kommt nur, wenn sich auf dem Gerät noch keine Zertifikate befinden, damit fehlen auch bestimmte Einstellungen, die wir später machen werden.

Im Grunde genommen haben wir folgende Aufgaben.

  1. Freeradius installieren und konfigurieren
  2. Access-Points konfigurieren
  3. Zertifikate erstellen ca, server, client Zertifikat
    und in der Freeradius Konfiguration anpassen
  4. Installieren der Zertifikate, ca.der, client.p12 auf dem Client Gerät bzw. in MDM
    wie z.B. Jump oder Endpoint Manager.
  5. Anpassen der WLAN-Verbindung auf dem Client-Gerät, wenn es notwendig ist.
  6. Verbinden und nutzen. Ist alles richtig eingestellt, kann man den Client Zertifikat nutzen.
    In diesem Fall brauchen wir keine andere Zugangsdaten.


Konfigurationsdaten des Servers ddf 

Betriebssystem: Debian 11
Servername: ddf
IP-Adresse: 172.16.0.10
Netmask: 255.255.252.0
Gateway: 172.16.0.1
DNS: 172.16.0.10
DNS-Suffix: schule.wlan

Access Point SSID: MBS

Punkt
Wir installieren den Freeradius Server.

 

root@dc1:~# apt-get install freeradius

 

Punkt
In erstem Schritt brauchen wir Verbindung zwischen dem Freeradius-Dienst und den Access Points, das bedeutet, wir müssen dem Freeradius-Dienst mitteilen, welche IP-Adressen die APs haben und mit welchem Passwort der RADIUS Dienst geschützt ist. Zu diesem Zweck nutzen wir die Datei /etc/freeradius/3.0/clients.conf. Am Ende dieser Datei können wir die benötigte Daten eintragen und die Datei speichern. In unserem Fall sind das zwei APs, hätten wir mehr, dann müssten wir alle benötigte APs eintragen. Sollten wir einen WLAN-Controller nutzen, dann müssen wir die Daten von dem Controller eintragen statt von den APs.

 

client AP-Client1 {
     ipaddr = 172.16.0.11
     secret = secret123+-
}
 
client AP-Client2 {
     ipaddr = 172.16.0.12
     secret = secret123+-
}
Punkt
Jetzt müssen wir die APs konfigurieren. Beide APs bekomme die gleiche SSID: WLAN-MBS. Die IP-Adressen werden auf den APs eingetragen.

IP-Adresse: 172.16.0.11
Netmask: 255.255.252.0
Gateway: 172.16.0.1
Der zweite AP bekommt die IP-Adresse: 172.16.0.12

Auf jedem AP werden die gleiche Wireless Daten eingetragen, also die IP-Adresse des Freeradius-Dienstes und das gemeinsame RADIUS Server Passwort.
Als Beispiel habe ich ein TP-Link TL-WR902AC mit der IP: 172.16.0.11 genommen. Die anderen Geräte müssten auch die Möglichkeit haben, Wireless als WPA/WPA2-Enterprise zu konfigurieren.

Punkt

Es wird angenommen, dass das Zertifikat, die Zertifikatsdateien zuvor erstellt waren. Wenn nicht, dann bitte jetzt erstellen, bevor man hier weitermacht. Wie man die Zertifikate erstellt, ist in dem Artikel Zertifikate beschrieben.


Erstelltes Zertifikat in die Radiuskonfiguration einbinden.

Punkt
Die Datei /etc/freeradius/3.0/mods-enabled/eap wird bearbeitet. Die Verschlüsselungsart wird definiert und die entsprechenden Zertifikat-Pfade müssen angepasst werden. es handelt sich um folgende Einträge in dieser Datei
Ganz am Anfang der Datei ändern wir die Verschlüsselungsart

von
      #default_eap_type = md5
auf
       default_eap_type = tls

Jetzt müssen wir noch dir Zertifikats-Pfade anpassen.
Es handelt sich um

private_key_file =
certificate_file =
ca_file=

Falls das Passwort in dem Zertifikat geändert war, muss man auch das Passwort in dieser Datei anpassen.

              tls-config tls-common {
                               private_key_password = whatever
                               
                               # private_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
                               private_key_file = /etc/freeradius/3.0/certs/server.key
                               ...

                               # certificate_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
                               certificate_file = /etc/freeradius/3.0/certs/server.pem
                               ...

                               # ca_file = /etc/ssl/certs/ca-certificates.crt
                               ca_file = /etc/freeradius/3.0/certs/ca.pem

 

Punkt
Nach dem Neustart des Freeradius-Dienstes ist der Freeradius-Dienst mit dem von uns erstelltem Zertifikat einsatzbereit.

 

root@dc1~# systemctl restart freeradius.service

 

Punkt
Unseres Ziel war es Zertifikate zu nutzen, um sich im WLAN zu authentifizieren, deshalb müssen wir noch zwei Zertifikate auf jedem Client installieren, das wäre ca.der Zertifikat und client.p12 Zertifikat.
Auf dem z.B. Windows Gerät können wir mit einem Doppelklick die Zertifikate installieren.
  • der ca.der Zertifikat wird in dem Zertifikatsordner "Vertrauenswürdige  Stammzertifizierungsstellen" installiert
  • der client.p12 kommt in "Eigene Zertifikate". Bei der Installation des Zertifikates wird noch ein Passwort
    gebraucht. Das Passwort haben wir in der Datei /etc/freeradius/3.0/certs/client.cnf auf dem Radiusserver
    definiert.

Wir müssen noch den Client für die WLAN-Verbindung entsprechend konfigurieren, einstellen. Danach können wir das Zertifikat nutzen um die WLAN-Verbindung aufzubauen.

Punkt
Unabhängig von den Zertifikaten könnten wir den Bedarf haben, sich an einem Client ans WLAN per Logindaten einzuloggen, z.B. für den Administrator oder Support. Das wäre z.B. der Fall, wenn der Client noch nicht richtig für WLAN konfiguriert ist.
Wir können am Ende der Datei /etc/freeradius/3.0/users auf dem Radiusserver z.B. zwei Benutzer eintragen, den admin und support. Nach dem Neustart des Radiusdienstes können wir dann die Zugangsdaten nutzen.

admin Cleartext-Password   := "mypasswort321"
support Cleartext-Password := "passwort123%&"

 

Kommen wir zu den Einstellungen auf dem Client, in unserem Fall wird das der Windows-Client sein.

Die zwei benötigte Zertifikate, ich meine hier das CA-Zertifikat (ca.der) und das Client-Zertifikat (client.p12) können wir auf dem Windows-Rechner jetzt importiert.
Die Zertifikate können wir z.B. per USB-Stick übertargen und mit einem Doppelklick importieren. Normalerweise kommen die in das richtige Zertifikat-Ordner. Auf dieser Weise werden die Zertifikate nur für den aktuellen Benutzer gespeichert.
Sollten die Zertifikate für alle Benutzer gültig sein, müssen wir Computerzertifikate als Administrator starten. In Eingabeaufforderungsfenster (CMD) können wir folgende Befehle nutzen.

  • certmgr (Zertifikate - Aktueller Benutzer)
  • certlm (Zertifikate - lokaler Computer)
Punkt
Es wird zuerst der ca.der Zertifikat importiert. Mit einem Doppelklick auf die Datei kommt ein Fenster. Wir können das Zertifikat importieren.
 
Punkt
Wir nehmen den aktuellen Benutzer und dann auf Weiter

Punkt
Unter Zertifikatspeicher wählen wir Vertrauenswürdige Stammzertifizierungsstellen und auf Weiter
 
Punkt
Den Import des CA Zertifikates können wir jetzt abschießen.

Punkt
Das selber machen wir mit dem client.p12 Client-Zertifikat. Der Speicherort ist allerdings Eigene Zertifikate. Bei der Installation des Client-Zertifikats wird nach dem Passwort gefragt. Das Passwort haben wir auf dem Radius-Server in der Datei /etc/freeradius/3.0/certs/client.cnf definiert.

Punkt
BITTE BEACHTEN. Wenn die WLAN-Verbindung noch von dem Benutzer-Login aufgebaut werden soll, das ist z.B. bei Computern, die in der Domäne aufgenommen sind, der Fall, sollte man die beiden Zertifikate noch zusätzlich im Speicherort "Lokale Computer" speichern.
 

Wir brauchen noch entsprechende WLAN-Einstellungen, damit dir WLAN-Verbindung mit den Zertifikaten funktioniert.

Punkt
Die WLAN-Einstellungen werden angepasst.
Wir starten "Systemsteuerung" > "Netzwerk und Internet" > "Netzwerk- und Freigabecenter". Danach "Neue Verbindung oder neues Netzwerk einrichten". In dem angezeigtem Fenster wählen wir "Manuell mit einem Drahtlosnetzwerk verbinden" .

Punkt
Netzwerkname ist unsere SSID, in unserem Fall MBS, als Sicherheitstyp wählen wir WPA2-Enterprise und dann
auf weiter

Punkt
Weiter mit "Verbindungseinstellungen ändern"

Punkt
In nächstem Fenster ändern wir die Methode der Netzwerkauthentifizierung auf: Microsoft: Smartcard- oder anderes Zertifikat.

Punkt
Weiter mit Einstellungen. Hier sollten wir ein Häkchen wegmachen, nämlich "Identität des Servers mittels Zertifikatsprüfung überprüfen".

Punkt
So sollten auch die Einstellungen unter Erweiterte Einstellungen aussehen.
 
Punkt
Die Arbeiten an den Einstellungen wurden abgeschlossen. Jetzt versuchen wir uns mit dem WLAN zu verbinden. Wir nehmen selbstverständlich die zweite Option Verbindung unter Verwendung eines Zertifikats. Der Client verbindet sich mit dem WLAN.

Punkt
Sollten Sie mehr als ein Client Zertifikat installiert haben, kommt noch die Möglichkeit bestimmtes Zertifikat auszuwählen