WPA Enterprise mit FreeRadius per TLS, Android 13 und 14.
-
Hi,
seit kurzem klagen einige Android-Nutzer in einem Netzwerk darüber, dass der vor Jahren konfigurierte WPA-Enterprise-WLAN-Anschluss über Android nicht mehr funktioniert. pfSense dient als FreeRadius-Server, als WLAN-Adapter ist ein mit Enterprise WPA konfigurierter OpenWrt-Accesspoint vorhanden (in der Konfig hat es bisher mit PEAP funktioniert).
Ich habe gelesen, dass Google wohl nur noch TLS mit angegebener Domäne zulässt. Einige der Smartphones von denen können auf den vor Jahren konfigurierten PEAP-Zugang nicht mehr zugreifen. Diese Smartphones haben kürzlich Updates installiert.
Nun habe ich dafür eine CA, ein Serverzertifikat und Benutzerzertifikate erstellt, deren Namen denjenigen der Freeradius-Benutzern entspricht.
Ich habe es im Prinzip genau nach der Anleitung von einem Reddit-Beitrag gemacht (abgesehen davon, dass es da um Iphones ging):
("Install freeradius pkg
Create a CA on CA tab of cert mgmt and call it freeradius CA or whatever you want
Create one server cert and any amount of user certs based on the previously created CA on certificates tab. use elliptical curve CAs for better security.
Keep note of the name of the certificate you created
Go to freeradius under services menu
Under users tab add a user with the same name as the certificate name
Under NAS/clients enter hostname of the AP that will be checking into the radius server under shortname, select udp as client protocol, other as client type, max connections as 16. Enter shared client secret that you will need to also enter on AP (31 characters max, no funny characters. Only letters of both cases, numbers).
Under interfaces tab, enter the interface IP on the router that will be listening for radius request eg. if your lan dhcp server ip is 192.168.1.1, this is what you will enter here. Enter 1812 for port, auth for interface type. Select authentication for interface type.
Under EAP tab, disable weak EAP types, select your CA for SSL CA Certificate, select server cert you created for SSL Server Certificate, yes for EAP TLS Include length, under EAP TTLS default type select TLS, under EAP- PEAP default type select TLS.
Export cert to iphone (if that’s what you use) by just downloading one of the user certs and CA cert to your mac, adding it to a new apple configurator config, adding it to a wifi network on the config (both CA and user certs must be added on the wifi configurator page to enable TLS), set TLS min to 1.2, saving the config, airdropping it to your iphone, and going to settings to add it.")Trotzdem klappt die Verbindung nicht. Er meldet immer, dass die Verbindung mit dem Netzwerk scheitert. Im Log von pfsense ist gar nichts zu finden. Es scheint, dass bereits vorher nicht zugegriffen werden kann.
Meiner Meinung nach liegt es evtl. an "Domain" und "Identität". Als Identität habe ich den Benutzernamen genommen. Als Domain den Domain, den ich bei Erstellung der CA- und Serverzertifikate als FQDN eingetragen habe.
War das so korrekt? Oder weiß Jemand, was ich falsch mache?
Ich finde leider bisher nirgends eine komplette Anleitung, die funktioniert.
Evtl. hat Jemand einen Tip oder eine Anleitung für mich.Danke.
Arti.
-
@Artefakt said in WPA Enterprise mit FreeRadius per TLS, Android 13 und 14.:
Ich habe gelesen, dass Google wohl nur noch TLS mit angegebener Domäne zulässt. Einige der Smartphones von denen können auf den vor Jahren konfigurierten PEAP-Zugang nicht mehr zugreifen. Diese Smartphones haben kürzlich Updates installiert.
Ja in dieses Problem sind wir damals auch gelaufen, früher hat man keine WLAN CA/Domain auf dem Android benötigt. Wenn die Geräte immer nur aktualisiert wurden war das weiterhin möglich bis man das WLAN neu angelegt hat.
Daher die Frage, was sagt den die Logdatei (pfSense)?
Edit: Du hast das mit der Logdatei ja schon beantwortet.
Was ich neulich hatte, wir haben PMF auf den APs aktiviert und einige alte Geräte konnten sich nicht mehr verbinden. Erst ein Debugging auf dem AP hat gezeigt warum man die Anfrage bei der pfSense nicht gesehen hat, der Client war schon mit dem AP nicht klar gekommen.
Auf dem Client sieht es aber so aus als ob er sich nicht am RADUIS anmelden kann...
-
@slu Hi slu, ok, ich werde mal prüfen, was sich auf dem Access Point tut.
Danke.Gruß, Arti.
-
@Artefakt Von dem was ich da lese ist das IMHO falsch. Vielleicht ist das beim Apfel wieder ne Sonderlocke, aber ansonsten halte ich das für Unfug, was da geschrieben steht.
Was enforced und später wieder abgeschwächt wurde (AFAIR) ist, dass die Androiden - und auch Apple - den Radius nicht mehr einfach benutzen, wenn das Zertifikat nicht bekannt ist bzw. die Kette.
Sofern das Zertifikat aber von einer CA stammt, mit dem die Geräte fein sind, ist das kein Problem. Warum in dem Thread jemand Zertifikat nach USERNAMEN baut und das irgendwie zusammenbastelt - keine Ahnung, aber das hört sich nach grobem Unfug an. Was IMHO stimmen muss ist:
- CA und Serverzertifikat müssen passen was Laufzeit angeht
- CA muss im Telefon eingespielt sein wenn sie selbst ausgestellt ist. Das bieten die Androiden auch alle an.
- Ist die CA im Telefon enthalten, kann auch das Zert ordentlich abgenickt werden
- Beim WPA2ENT Profil muss das Zertifikat der CA ausgewählt sein und als Domain dann der Name, den das Radius Cert hat - also bspw. "server-radius"
- Identity ist der wpa2 Username der via Radius geprüft wird. Anon Identity ist irrelevant. Password logischerweise das Passwort des Users in Identity
- PEAP/MSCHAPv2 sollte da als Modus problemlos laufen
- man geht auf "CA certificate" -> "Install certificates" und installiert sich im Handy das Stammzert - also die CA. Wenn die 10 Jahre Laufzeit hat was die pfSense ja Standard macht, hat man da ziemlich lang Ruhe.
- Bei Cert Status "Do not verify" damit es nicht extern geprüft wird - ist ja intern.
Fertig. Habe hier sowohl zum Test ein Pixel 6 mit Android 12 noch (weil zu faul gerade zum Updaten gewesen) und eines mit Android 14 auf latest Stand. Beide funktionieren so perfekt ohne Probleme.
Und selbst angebissene Äpfel habe ich hier schon mit Hilfe des Zerts einspielen problemlos zum Laufen bekommen. Wüsste also nicht was man da mit pro User Zertifikaten und Geraffel anstellen soll, wenn das überhaupt nicht übermittelt bzw. geprüft wird. Sehr dubios.
Cheers :)