moppi1988
Goto Top

Radius Client Zertifikat für Win10 WLAN Profil nutzen, aber wie?

Hallo!
Wir nutzen einen FreeRadius-Server für die WLAN-Authentifizierung innerhalb eines Windows-basierenden Netzwerks. Das klappt auch alles wunderbar. Die Nutzer melden sich mit ihren persönlichen Credentials an, dabei gibt es keinerlei Probleme.
Ich habe auch von Anfang an das Radius-Server Root Zertifikat auf allen Clients (z.B. Win10 Pro Laptops) installiert. Auch das ging problemlos.
Aber für ein paar spezielle Laptops habe ich einen festen"Nutzer" definiert, der für die Anmeldung im WLAN benutzt wird. (z.B. beim Hochfahren der PCs). Und hierfür hätte ich gern statt der manuellen Eingabe der Credentials das passende Client-Zertifikat benutzt, das ich in Verbindung mit dem Radius-Server Root Zertifikat generiert habe.
Und genau hier liegt das Problem. Ich bekomme es einfach nicht hin, dass das Client-Zertifikat durch das WLAN-Profil benutzt wird.
Ich habe das Zertifikat in den Client-PC importiert und installiert. Es taucht dort nun im Zertifikatsverzeichnis auf und wenn man dessen Eigenschaften abfragt, so sieht man, dass es für die Sicherstellung der Identität eines Nutzers gedacht ist.
Es sieht also so aus, als ob das Zertifikat korrekt installiert wurde.

Stelle ich das WLAN-Profil nun so um, dass statt "Gesichertes Kennwort" die Option "Zertifikat auf dem Computer oder SmartCard" (oder so ähnlich ) ausgewählt wird, kann ich in dem nun erscheinenden Untermenü noch ein paar Filteroptionen auswählen.

Aber was ich auch einstelle: Wenn ich dann das WLAN-Profil verwenden will, dann kommt immer die Fehlermeldung (sinngemäß) "Kann keine Verbindung herstellen, da kein Zertifikat gefunden wurde".
Was mache ich denn falsch? Ich habe heute auch noch einmal das Client-Zertifikat neu erzeugt und installiert, auch in verschiedenen Cert-Ordnern, aber nichts hilft.
Hat vielleicht jemand eine Idee oder nutzt gar diese Konstellation (Freeradius + Client Cert auf Win10) selber?

Ich denke, ich habe ein Verständnisproblem bei der Installation und Nutzung des Client Zertifikats.
Beispielsweise: Das Zertifikat ist für einen generischen WLAN Nutzer ausgestellt. Muss ich als dieser Nutzer angemeldet sein, wenn ich es installiere? Oder kann ich es genauso als Admin machen? Und in welchen Zertifikatfolder muss ich es installieren?
Das WLAN Profil muss nun unter diesem speziellen Nutzer laufen, denn nur dann wird auch sein Zertifikat verwendet werden können, oder? Wie stelle ich das sicher?
Ich denke, irgendwo in dieser Fragekette mache ich was falsch.

Vielen Dank für Eure Hilfe!

Content-Key: 574941

Url: https://administrator.de/contentid/574941

Printed on: April 18, 2024 at 22:04 o'clock

Member: aqui
Solution aqui May 27, 2020 updated at 08:56:43 (UTC)
Goto Top
Stoppe den FreeRadius Server (systemctl stop freeradius) und starte ihn danach manuell im Debug Mode mit freedradius -X.
Jetzt loggst du dich nochmal ein mit dem Client und postest die ausgegebene Debug Info zum Troubleshooting, oder analysierst sie einmal selber.
Der FreeRadius sagt dir im Debugging ganz genau was da schief läuft.
Member: moppi1988
moppi1988 May 27, 2020 at 09:00:44 (UTC)
Goto Top
Schon klar, aber soweit komme ich ja gar nicht, denn das WLAN Profil startet gar nicht erst die Verbindung. Das Profil vermisst ein Zertifikat. Genau das ist ja das Problem!
Member: aqui
aqui May 27, 2020 updated at 10:09:11 (UTC)
Goto Top
OK, dann ist es ja primär erstmal ein reines Windows Client Problem und hat per se erstmal nichts mit dem Radius zu tun !
Was sagt den die Windows Logging oder Event Datei ? Dort müsste ja eine entsprechende genauere Fehlermeldung generiert werden ?
Das FreeRadius HowTo https://wiki.freeradius.org/guide/WPA-HOWTO ist sicher nicht mehr relevant, da es noch auch XP basiert face-sad

P.S.: Warum hast du oben auf "Lösung" geklickt wenn es doch gar nicht die Lösung ist ?! Solltest du sinnvollerweise wieder rausnehmen.
Member: lcer00
lcer00 May 27, 2020 at 15:12:28 (UTC)
Goto Top
Hallo,

wenn kein Benutzer angemeldet ist, benutzt das WLAN eigentlich ein Computerzertifikat, zumindest im Domänenkontext. Hast Du da eine Domäne? Und was hast Du da für Zertifikate generiert?


Grüße

lcer
Member: moppi1988
moppi1988 May 27, 2020 updated at 19:00:21 (UTC)
Goto Top
Ja, wir haben eine Domäne.
Und ja, wenn noch kein Nutzer angemeldet ist, meldet sich das WLAN-Profil als host/xyz beim Radiusserver an.
Verwendet man allerdings ein einfaches PEAP, also kein Zertifikat, dann kann man im WLAN-Profil einen bestimmten Nutzer/Passwort einstellen, der in diesem Fall verwendet wird.
Ich hoffe, dass das im Fall der zertifikatsbasierenden Nutzer-Anmeldung vielleicht auch geht. Das habe ich aber noch nicht rausbekommen.
Member: moppi1988
moppi1988 Jun 16, 2020 at 07:14:26 (UTC)
Goto Top
Ich habe mein Problem gelöst! Und es war hausgemacht, wie peinlich...
Ich hatte tatsächlich bei dieser Installation (ich habe mehrere) vergessen, im Freeradius EAP Modul die Pfade zu den Zertifikaten korrekt zu setzen.
Nun läuft die Client-Anmeldung mit Clientzertifikaten über EAP-TLS wunderbar.
Jetzt habe ich freilich eine Folgefrage, aber dazu mache ich einen neuen Beitrag auf.
Vielen Dank für die Unterstützung!
Member: aqui
aqui Jun 16, 2020 updated at 08:03:38 (UTC)
Goto Top
Das muss nicht peinlich sein. Was zählt ist das du es selber gefunden und korrigiert hast ! Nächstes Mal wird dir das sicher nicht mehr passieren. face-wink
Interessant wäre ggf. nochmal der Abschnitt (Ausschnitt) in der eap.conf Datei wo das zu ändern ist wenn du den in Code Tags hier nochmal posten könntest.
Hast du die Zertifikate auf dem FreeRadius mit OpenSSL erstellt ?
Ich frage deshalb weil ich derzeit das hiesige WLAN Tutorial zur dynamischen Client Zuweisung:
Dynamische VLAN Zuweisung für WLAN (u. LAN) Clients mit Mikrotik
noch auf Zertifikatsbetrieb erweitern möchte.
Member: moppi1988
moppi1988 Jun 17, 2020 at 14:30:10 (UTC)
Goto Top
Gern!
Zunächst auf dem Folder /etc/freeradius/3.0/certs nach dem dortigen README alle Zertifikate generieren, also das CA-, das Server- und bei Bedarf (den hatte ich!) ein oder mehrere Client-Zertifikate.
Nachdem man die mit dem vorhandenen Makefile mittels openSSL generiert hat, kopiert man die Client-Zertifikate und das CA-Zertifikat auf die betreffenden Client-Computer und installiert sie dort.
Und nun zum eigentlichen Thema:

Im File /etc/freeradius/3.0/mods-available/eap editiert man folgenden Abschnitt:

    tls-config tls-common {
        private_key_password = myPrivatePasswd
        private_key_file = /etc/freeradius/3.0/certs/server.key

        #  If Private key & Certificate are located in
        #  the same file, then private_key_file &
        #  certificate_file must contain the same file
        #  name.
        #
        #  If ca_file (below) is not used, then the
        #  certificate_file below MUST include not
        #  only the server certificate, but ALSO all
        #  of the CA certificates used to sign the
        #  server certificate.
        certificate_file = /etc/freeradius/3.0/certs/server.pem

        #  Trusted Root CA list
        #
        #  ALL of the CA's in this list will be trusted  
        #  to issue client certificates for authentication.
        #
        #  In general, you should use self-signed
        #  certificates for 802.1x (EAP) authentication.
        #  In that case, this CA file should contain
        #  *one* CA certificate.
        #
        ca_file = /etc/freeradius/3.0/certs/ca.pem 

wobei myPrivatePasswd das Passwort ist, dass ich in der Datei server.cnf gesetzt habe:
...
[ req ]
prompt                  = no
distinguished_name      = server
default_bits            = 2048
input_password          = myPrivatePasswd
output_password         = myPrivatePasswd
...

Eigentlich ganz einfach, wenn man es richtig macht... face-smile

Gruß und danke für die Hilfe!
Member: aqui
aqui Jun 17, 2020 at 15:04:40 (UTC)
Goto Top
👍