FR3.x - EAP proxy - EAP-TLS to MS NPS trouble

Kylián Martin kylianm at plzen.eu
Wed Jun 28 11:07:10 CEST 2017


Hi to everybody,
I use freeradius for mac authentication bypass and as proxy for EAP. Specifically, an EAP-TLS that is routed to one of the MS NPS servers.
I run the production environment on debian8 and FreeRadius 2.2.5, where everything works as it should.

There is a problem I can not solve on the FreeRadius 3.0.12 (deb9) test server.
After forwarding the access-request to the AD server, the request is not processed on the MS NPS server (w2012r2):

Reason Code: 3
Reason: The RADIUS Request message that the Network Policy Server received from the network access server was malformed.

NPS discards this request and does not respond.

When I look at access-request with wireshark, I do not see any problem. (Message-authenticator is different from that sent by the client and which sends FreeRadius to NPS and Proxy-State added.)
The same configuration with FR2.2.5 is parsed on NPS and is responded.

Is there something I've overlooked when migrating to FR3? Is anyone running a similar configuration? I am doing something wrong?
Thank you for any help




Log:

(2) Received Access-Request Id 27 from 192.168.59.80:1645 to 172.31.12.100:1812 length 340
(2)   User-Name = "host/NB106484.example-edu.cz"
(2)   Service-Type = Framed-User
(2)   Framed-MTU = 1500
(2)   Called-Station-Id = "28-34-A2-F0-7F-83"
(2)   Calling-Station-Id = "28-92-4A-25-56-CC"
(2)   EAP-Message = 0x020200710d800000006716030100620100005e03015953650a19b07c0ab643096685c9141950ad6c79abf54fa72736f856abd72b9900001cc014c013003900330035002fc00ac00900380032000a00130005000401000019000a0006000400170018000b0002010000170000ff01000100
(2)   Message-Authenticator = 0xbfcf629e3a34b88c37d824ec7358e314
(2)   NAS-Port-Type = Ethernet
(2)   NAS-Port = 50003
(2)   NAS-Port-Id = "FastEthernet0/3"
(2)   State = 0x540106e70000013700011700fe800000000000002114a20fdc26eb140000000448ff01e5
(2)   NAS-IP-Address = 192.168.59.80
(2)   NAS-Identifier = "d4-cat2960-sw-132-2.net.sitmp.cz"
(2) session-state: No cached attributes
(2) # Executing section authorize from file /etc/freeradius/3.0/sites-enabled/default
(2)   authorize {
rlm_sql (sql): Reserved connection (0)
rlm_sql (sql): Released connection (0)
(2)     [sql] = notfound
(2)     if (!EAP-Message) {
(2)     if (!EAP-Message)  -> FALSE
(2)     else {
(2)       if ("%{User-Name}" =~ /\.example-edu\.cz$/) {
(2)       EXPAND %{User-Name}
(2)          --> host/NB106484.example-edu.cz
(2)       if ("%{User-Name}" =~ /\.example-edu\.cz$/)  -> TRUE
(2)       if ("%{User-Name}" =~ /\.example-edu\.cz$/)  {
(2)         update control {
(2)           Proxy-To-Realm := 'EXAMPLE-EDU'
(2)         } # update control = noop
(2)       } # if ("%{User-Name}" =~ /\.example-edu\.cz$/)  = noop
(2)       ... skipping elsif: Preceding "if" was taken
(2)       ... skipping elsif: Preceding "if" was taken
(2)       ... skipping else: Preceding "if" was taken
(2) eap: Request is supposed to be proxied to Realm EXAMPLE-EDU. Not doing EAP.
(2)       [eap] = noop
(2)     } # else = noop
(2)   } # authorize = noop
(2) Starting proxy to home server 172.31.12.14 port 1812
(2) Proxying request to home server 172.31.12.14 port 1812 timeout 20.000000
(2) Sent Access-Request Id 243 from 0.0.0.0:59582 to 172.31.12.14:1812 length 342
(2)   User-Name = "host/NB106484.example-edu.cz"
(2)   Service-Type = Framed-User
(2)   Framed-MTU = 1500
(2)   Called-Station-Id = "28-34-A2-F0-7F-83"
(2)   Calling-Station-Id = "28-92-4A-25-56-CC"
(2)   EAP-Message = 0x020200710d800000006716030100620100005e03015953650a19b07c0ab643096685c9141950ad6c79abf54fa72736f856abd72b9900001cc014c013003900330035002fc00ac00900380032000a00130005000401000019000a0006000400170018000b0002010000170000ff01000100
(2)   Message-Authenticator = 0xbfcf629e3a34b88c37d824ec7358e314
(2)   NAS-Port-Type = Ethernet
(2)   NAS-Port = 50003
(2)   NAS-Port-Id = "FastEthernet0/3"
(2)   State = 0x540106e70000013700011700fe800000000000002114a20fdc26eb140000000448ff01e5
(2)   NAS-IP-Address = 192.168.59.80
(2)   NAS-Identifier = "d4-cat2960-sw-132-2.net.example.cz"
(2)   Proxy-State = 0x3237
Waking up in 0.3 seconds.
(2) Expecting proxy response no later than 19.671053 seconds from now

NPS receives (and discards for unknown reason):

RADIUS Protocol
    Code: Access-Request (1)
    Packet identifier: 0xf3 (243)
    Length: 342
    Authenticator: 0e4c4171a7c216d63ea6c394e98175bd
    Attribute Value Pairs
        AVP: l=28 t=User-Name(1): host/NB106484.plzen-edu.cz
        AVP: l=6 t=Service-Type(6): Framed(2)
        AVP: l=6 t=Framed-MTU(12): 1500
        AVP: l=19 t=Called-Station-Id(30): 28-34-A2-F0-7F-83
        AVP: l=19 t=Calling-Station-Id(31): 28-92-4A-25-56-CC
        AVP: l=115 t=EAP-Message(79) Last Segment[1]
            AVP Type: 79
            AVP Length: 115
            EAP fragment: 020200710d800000006716030100620100005e0301595365...
            Extensible Authentication Protocol
        AVP: l=18 t=Message-Authenticator(80): b2b9f1cf1e3ab216e63a949451ba2c69
        AVP: l=6 t=NAS-Port-Type(61): Ethernet(15)
        AVP: l=6 t=NAS-Port(5): 50003
        AVP: l=17 t=NAS-Port-Id(87): FastEthernet0/3
        AVP: l=38 t=State(24): 540106e70000013700011700fe800000000000002114a20f...
        AVP: l=6 t=NAS-IP-Address(4): 192.168.59.80
        AVP: l=34 t=NAS-Identifier(32): d4-cat2960-sw-132-2.net.sitmp.cz
        AVP: l=4 t=Proxy-State(33): 3237



More information about the Freeradius-Users mailing list