theotrick
Goto Top

Mikrotik und Freeradius Problem

Hallo, ich bin am verzweifeln, ich habe mich an das sehr schöne Tutorial Freeradius Management mit WebGUI gehalten aber es will nicht klappen.

  • Client ist Windows 7
  • Mikrotik Switch mit RouterOS 7.15.1
  • Switch und Radius Server sind im gleichen VLAN
  • mit NTRadPing bekomme ich Auth OK
  • ich habe auch noch nicht verstanden wie das Passwort lauten muss, wenn ich am WinClient bei dot1x Computeranmeldung auswähle und dann automatisches Anmelden anhake (username ist dann: host/{hostname} )
  • bei MAC Auth kommt folgendes Log beim Mikrotik:
#	Time	Buffer	Topics	Message	 
0	2024-07-03 22:53:48	memory	radius, debug		resending 82:5a	
1	2024-07-03 22:53:48	memory	radius, debug, packet	sending Access-Request with id 84 to 10.10.22.1:1812	
2	2024-07-03 22:53:48	memory	radius, debug, packet	Signature = 0x1d283b471b16608ef3e72d7f3e92f466	
3	2024-07-03 22:53:48	memory	radius, debug, packet	Framed-MTU = 1400	
4	2024-07-03 22:53:48	memory	radius, debug, packet	NAS-Port-Type = 15	
5	2024-07-03 22:53:48	memory	radius, debug, packet	Called-Station-Id = "D4-01-C3-0C-FE-7E"	  
6	2024-07-03 22:53:48	memory	radius, debug, packet	Calling-Station-Id = "D4-3D-7E-DB-1F-04"	  
7	2024-07-03 22:53:48	memory	radius, debug, packet	Service-Type = 2	
8	2024-07-03 22:53:48	memory	radius, debug, packet	User-Password = 0x64343a33643a3765	
9	2024-07-03 22:53:48	memory	radius, debug, packet	34	
10	2024-07-03 22:53:48	memory	radius, debug, packet	User-Name = "d4:3d:7e:db:1f:04"	  
11	2024-07-03 22:53:48	memory	radius, debug, packet	Acct-Session-Id = "3c004086"	  
12	2024-07-03 22:53:48	memory	radius, debug, packet	NAS-Port-Id = "ether3"	  
13	2024-07-03 22:53:48	memory	radius, debug, packet	Unknown-Attribute(type=102) = 0x00	
14	2024-07-03 22:53:48	memory	radius, debug, packet	NAS-Identifier = "MikroTik"	  
15	2024-07-03 22:53:48	memory	radius, debug, packet	NAS-IP-Address = 10.10.22.3	
16	2024-07-03 22:53:48	memory	radius, debug, packet	Message-Authenticator = 0x75ec8f76476fa57df8	
17	2024-07-03 22:53:48	memory	radius, debug, packet	received bad Access-Accept with id 84 from 10.10.22.1:1812	
18	2024-07-03 22:53:48	memory	radius, debug, packet	Signature = 0xb8d7fe9d7e73acfb8139eaf7d80a9675	
19	2024-07-03 22:53:48	memory	radius, debug, packet	Tunnel-Type = 13	
20	2024-07-03 22:53:48	memory	radius, debug, packet	Tunnel-Medium-Type = 6	
21	2024-07-03 22:53:48	memory	radius, debug, packet	Tunnel-Private-Group-ID = "44"	  
22	2024-07-03 22:53:48	memory	radius, debug		received packet for 82:5a with missing message auth, dropping	
23	2024-07-03 22:53:49	memory	radius, debug		timeout for 82:5a	
24	2024-07-03 22:53:49	memory	dot1x, debug		s ether3 "d4:3d:7e:db:1f:04" radius req timeout on mac-auth  

  • bei user auth kommt folgendes Log beim MikroTik (was kann die TLS Versionsunterschiede veursachen)
(10) Sent Access-Challenge Id 116 from 10.10.22.101:1812 to 10.10.22.3:43560 length 64
(10)   EAP-Message = 0x010200061920
(10)   Message-Authenticator = 0x00000000000000000000000000000000
(10)   State = 0xedef375deced2e1bff3d2c95b69be286
(10) Finished request
Waking up in 4.9 seconds.
(11) Received Access-Request Id 117 from 10.10.22.3:56672 to 10.10.22.101:1812 length 265
(11)   Framed-MTU = 1400
(11)   NAS-Port-Type = Ethernet
(11)   Called-Station-Id = "D4-01-C3-0C-FE-7E"  
(11)   Calling-Station-Id = "D4-3D-7E-DB-1F-04"  
(11)   Service-Type = Framed-User
(11)   EAP-Message = 0x0202006d198000000063160301005e0100005a03016686f6dba80a8431b3371b63aa8abe1a8debc3c22454aeefbe7922a6c891bfb9000018002f00350005000ac013c014c009c00a003200380013000401000019000a0006000400170018000b0002010000170000ff01000100
(11)   User-Name = "dave"  
(11)   Acct-Session-Id = "53004086"  
(11)   NAS-Port-Id = "ether3"  
(11)   State = 0xedef375deced2e1bff3d2c95b69be286
(11)   EAP-Key-Name = 0x00
(11)   NAS-Identifier = "MikroTik"  
(11)   NAS-IP-Address = 10.10.22.3
(11)   Message-Authenticator = 0x91aa73fa476d723aa0229a745d58629b
(11) Restoring &session-state
(11)   &session-state:Framed-MTU = 994
(11) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(11) eap: Peer sent EAP Response (code 2) ID 2 length 109
(11) eap: Continuing tunnel setup
(11)     [eap] = ok
(11)   } # authorize = ok
(11) Found Auth-Type = eap
(11) # Executing group from file /etc/freeradius/3.0/sites-enabled/default
(11)   authenticate {
(11) eap: Expiring EAP session with state 0xedef375deced2e1b
(11) eap: Finished EAP session with state 0xedef375deced2e1b
(11) eap: Previous EAP request found for state 0xedef375deced2e1b, released from the list
(11) eap: Peer sent packet with method EAP PEAP (25)
(11) eap: Calling submodule eap_peap to process data
(11) eap_peap: (TLS) EAP Peer says that the final record size will be 99 bytes
(11) eap_peap: (TLS) EAP Got all data (99 bytes)
(11) eap_peap: (TLS) Handshake state - before SSL initialization
(11) eap_peap: (TLS) Handshake state - Server before SSL initialization
(11) eap_peap: (TLS) Handshake state - Server before SSL initialization
(11) eap_peap: (TLS) recv TLS 1.3 Handshake, ClientHello
(11) eap_peap: (TLS) send TLS 1.0 Alert, fatal protocol_version
(11) eap_peap: ERROR: (TLS) Alert write:fatal:protocol version
(11) eap_peap: ERROR: (TLS) Server : Error in error
(11) eap_peap: ERROR: (TLS) Failed reading from OpenSSL: error:0A000102:SSL routines::unsupported protocol
(11) eap_peap: ERROR: (TLS) System call (I/O) error (-1)
(11) eap_peap: ERROR: (TLS) EAP Receive handshake failed during operation
(11) eap_peap: ERROR: [eaptls process] = fail
(11) eap: ERROR: Failed continuing EAP PEAP (25) session.  EAP sub-module failed
(11) eap: Sending EAP Failure (code 4) ID 2 length 4
(11) eap: Failed in EAP select
(11)     [eap] = invalid
(11)   } # authenticate = invalid
(11) Failed to authenticate the user
(11) Login incorrect (eap_peap: (TLS) Alert write:fatal:protocol version): [dave/<via Auth-Type = eap>] (from client CRS310 port 0 cli D4-3D-7E-DB-1F-04)

  • hatte auch noch pfsense mit freeradiusplugin getestet, kommen aber ähnliche Fehlerbilder in den Logs
  • kann es sein das die RouterOS Version einen Fehler hat? Hat jemand diese Version schon bei sich erfolgreich getestet?

Ich weiß nicht ob euch das schon aussreicht um den Fehler einzugrenzen, wenn nicht einfach sagen was ihr noch braucht.
Vielen Dank schon mal m Voraus!

Content-Key: 7113123162

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

Printed on: July 16, 2024 at 16:07 o'clock

Member: WolleRoseKaufe
Solution WolleRoseKaufe Jul 05, 2024 updated at 06:43:26 (UTC)
Goto Top
OpenSSL: error:0A000102:SSL routines::unsupported protocol
Windows 7 verwendet bei EAP die vollkommen veraltete TLS Versionen 1.0, die Freeradius aus gutem Grund per Default seit 2021 nicht mehr offeriert (s. Fehlermeldung) deswegen kommt keine Kommunikation zustande.

https://github.com/FreeRADIUS/freeradius-server/blob/cd8cd3719193304241c ...
The default minimum TLS version is now TLS 1.2, as per RFC 8996
Older versions can be allowed by setting tls_min_version, and updating "cipher_list".

Bei Windows 7 muss man die Protokoll Version erst hoch drehen auf mind. 1.2 (1.3 geht mit W7 nicht)
TLS-Version für das EAP-TLS-Verfahren festlegen

Wieso verwendest du noch Windows 7?

kann es sein das die RouterOS Version einen Fehler hat?
Nee, dein Windows Client ist einfach nur wayyy too old da muss man erst Hand anlegen.
Hat jemand diese Version schon bei sich erfolgreich getestet?
Japp läuft.

ich habe auch noch nicht verstanden wie das Passwort lauten muss, wenn ich am WinClient bei dot1x Computeranmeldung auswähle und dann automatisches Anmelden anhake
Bei Computer Auth (EAP-TLS) brauchst du ja ein Zertifikat für den Computer und kein Passwort.

Gruß
Member: aqui
aqui Jul 05, 2024 updated at 19:10:24 (UTC)
Goto Top
Bei der Computeranmeldung wird der Hostname deines Rechners als Username mitgegeben. Du kannst das im Zweifel ja auch immer selber genau sehen wenn du dir den o.a. Debug Output ansiehst. Dort steht explizit
User-Name = "dave"
wie der Client sich mit welchen Credentials am Freeradius meldet. face-wink

Das der Mikrotik mittlerweile mit RouterOS Ver.7 auch einen vollständigen Radius Server an Bord hat hast du auf dem Radar?? Guckst du hier:
Konfiguration Cisco AP
Mikrotik: Wifi clients in anderes VLAN schieben?
Mikrotik - dyn-vLAN und MAC-auth in ROS 7.2
Die völlig veraltete TLS Version wird der (vermutlich) auch nicht supporten und solltest du am Winblows 7 umstellen wie der Kollege oben beschrieben hat.
Member: Theotrick
Theotrick Jul 05, 2024 updated at 19:52:08 (UTC)
Goto Top
Vielen Dank euch für die Hinweise und Links zur TLS1.2 Einrichtung, danach ging es auch sofort.
Computer Auth also nur mit Zertifikat ok, ergibt Sinn.

Ich habe gemerkt das er die einmal authentifizierten User an einem Port irgendwie cached und wenn ich nun die LAN Verbindung deaktiviere und wieder aktiviere, komme ich nicht mehr dazu einen anderen User einzugeben. Kann man die Dauer beeinflussen bzw das Verhalten abschalten?

Eine Warnung ist jetzt im Radius noch aufgetaucht, kann man die wegbekommen?:
"WARNING: Outer and inner identities are the same. User privacy is compromised."

Wenn ich noch kurz eine andere Frage stellen dürfte. Ich dem Tutorial von aqui und auch anderen, sehe ich öfter das VLAN 1 als native/default VLAN eingerichtet wird und trotzdem ein extra VLAN für das Management. Wenn man das so trennt, müssen dann meine Geräte wie AP, Switch und Router überhaupt IP Adressen im native/default VLAN bekommen (die haben für Kommunikation ja schon IPs im Management VLAN)? Ist das dann nur für Layer 2 oder welcher Traffic/Protokolle gehen dann da drüber?

Vielen Dank nochmal und ein schönes Wochenende.
Member: aqui
aqui Jul 05, 2024 updated at 22:07:17 (UTC)
Goto Top
wenn ich nun die LAN Verbindung deaktiviere und wieder aktiviere, komme ich nicht mehr dazu einen anderen User einzugeben
Das kann unmöglich stimmen und ist ganz sicher auch nicht richtig denn es würde völlig dem .1x Sicherheitkonzept widersprechen!
Wenn man das LAN Kabel an einem authentisierten Rechner zieht und wieder steckt wird sofort eine neue .1x Authentisierung getriggert mit einer erneuten Abfrage der User Credentails und das völlig unabhängig vom verwendeten Betriebssystem.
Allerdings sieht man dies nicht wenn am Windows Client die automatische Übermittlung der User Credentials aktiviert ist wie hier beschrieben! Eine neue Authentisierung passiert aber dennoch.
Muss auch zwangsläufig wenn es zu einem Link Verlust kommt und der Port damit immer automatisch deauthentisiert ist. Eine neue Authentisierung des Ports nach so einem Ereignis ist also zwingend!! Alles andere wäre Unsinn und würde wie bereits gesagt dem .1x Sicherheitskonzept völlig widersprechen.

Was den einmal authentisierten User anbetrifft solltest du immer eine automatische .1x Reauthentication an dem Port konfigurieren. Alle Switches supporten so eine Konfiguration. Damit reauthentisiert sich der Port zyklisch neu. Ein Login eines neuen Users führt damit auch immer zwangsläufig zu einer neuen Authentisierung.
Natürlich klappt das nur wenn der .1x Client auf User Authentisierung konfiguriert ist und nicht auf Computer Authentisierung! (Siehe o.a. Tutorial)

Was die Frage des native VLANs und Management VLANs betrifft benötigst du natürlich keine Management IP im VLAN 1 bzw. darfst dort auch niemals eine Management IP haben. Logisch, denn das ist das Fallback VLAN in das nicht zugewiesene Ports fallen und sowas will man natürlich nicht im Management VLAN.
Letztlich ist das native VLAN oder PVID aber immer frei konfigurierbar pro Port. Wenn du nichts im VLAN 1 liegen hast musst du das ja auch nirgendwo verwenden und belässt es einfach ungenutzt.