[First, I'm a newcomer to this list. If this was already answered
before (although I search through the archives before posting) please
appologize and point me to the appropriate resorce]


Dear all,


Here's "yet another new bee biting the EAP-TLS dust" (tm).

My set-up:
        - Authenticating server:
                * Debian/Unstable w. 2.6.5 vanilla kernel
                * freeradius-snapshot-20040513
                * openssl-0.9.7-stable-SNAP-20040513. 

Side note: Stock Debian "openssl", "libssl" and "libssl-dev" packages 
were removed i.e. this is the only SSL on my system (in case you'd ask).

        - Authenticator: Ethernet switch Netgear FSM 726S with 2.3.2
firmware. For the purpose of this mail it has the IP addie 192.168.0.1 
and hostname "netgear-switch.domain.com"  

        - Supplicant: WinXP Pro. SP1 + usual cruft.

Documentation Sources:
        [1] "FreeRADIUS/WinXP Authentication Setup" from
http://www.dslreports.com/forum/remark,9286052~mode=flat
        [2] "FreeRADIUS EAP/TLS - WinXP HOWTO" from 
http://www.impossiblereflex.com/8021x/eap-tls-HOWTO.htm


My problem:

  After following the EAP-TLS mantra at [1], generating certificates
and installing them successfully (AFAICT) EAP-TLS doesn't work. After 
carefully combing through the logs and comparing w/ the ones given 
[2] it seems that the EAP-TLS authentication doesn't succeed as I do
not even reach the TLS handshake phase: The only thing the 
(freeradius) server does is it receives "Access-Request", answers
back w/ an "Access-Challenge", receives a new "Accesss-Request" to
which it answers w/ a new "Access-Challenge", and so on, in an
infinite loop, with no TLS establish and no EAP transaction peformed 
beyond the above steps.

  At the end of this mail I'll attach a sever debug output (the
output is cropped for bervity purposes to leave only the relevant parts.
Of course the full monty is avail on request ;).


My questions:

        1) All "Access-Challenge" messages rightfully (?) have the same "id" 
as the triggering "Access-Request". However, the latter are 
non-sequential. If this is supposed  to be a 3-way handshake of sorts
(is it ?) than in response to the server's  "Access-Challenge" I
should get an "Access-Request" with the "id" incremented ? 

In other words, how do I get to distiguish btw. new "Access-Requests" and 
the ones that should (??) come in response to server's own "Access-Challenge" ?

The reason I'm asking is that in the logs at [2] the second "Access-Request" 
received from the client has an "id" incremented w.r.t previous one, 
making me suspecting that this is how the server detects the previous request
 and consequently reports in the log: 

[...]  
rlm_eap: Request found, released from the list.  
[...]

      OTOH in my own server logs I never find smth similar.

        2) After processing each "Access-Request", my server always reports:

[...]
  rlm_eap: EAP Identity
  rlm_eap: processing type tls
 rlm_eap_tls: Requiring client certificate
  rlm_eap_tls: Initiate
  rlm_eap_tls: Start returned 1 
[...]

        but never any TLS handske appears to be starting. 
IAny idea what/where to look for ?  


Thanks for any help and/or pointers to relevent info,


Florian


P.S. Here is the server log describing message exchange. I left aside
the blurb printed out by the server before the "Listening on ports..." 
line (there's no suspicious message there anyways). IP
addies/hostnames changed to "protect the innocent" :)


[...]
Starting - reading configuration files ...

<trimmed >

Listening on authentication *:1812
Listening on accounting *:1813
Listening on proxy *:1814
Ready to process requests.
rad_recv: Access-Request packet from host 192.168.0.1:1027, id=1, length=167
        User-Name = "802.1x client (i.e. supplicant)"
        NAS-IP-Address = 192.168.0.1
        NAS-Port = 1
        State = 0x300257fa5ecadec2b33ab1cc00d55927
        NAS-Identifier = "netgear-switch.domain.com"
        NAS-Port-Type = Ethernet
        EAP-Message = 
0x02010024013830322e317820636c69656e742028692e652e20737570706c6963616e7429
        Message-Authenticator = 0x1f90d93abedd0aa9c21f7e1c7e3d7ba0
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 0
  modcall[authorize]: module "preprocess" returns ok for request 0
  modcall[authorize]: module "chap" returns noop for request 0
  modcall[authorize]: module "mschap" returns noop for request 0
    rlm_realm: No '@' in User-Name = "802.1x client (i.e. supplicant)", looking up 
realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 0
  rlm_eap: EAP packet type response id 1 length 36
  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
  modcall[authorize]: module "eap" returns updated for request 0
    users: Matched 802.1x client (i.e. supplicant) at 65
  modcall[authorize]: module "files" returns ok for request 0
modcall: group authorize returns updated for request 0
  rad_check_password:  Found Auth-Type EAP
auth: type "EAP"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 0
  rlm_eap: EAP Identity
  rlm_eap: processing type tls
 rlm_eap_tls: Requiring client certificate
  rlm_eap_tls: Initiate
  rlm_eap_tls: Start returned 1
  modcall[authenticate]: module "eap" returns handled for request 0
modcall: group authenticate returns handled for request 0
Sending Access-Challenge of id 1 to 192.168.0.1:1027
        EAP-Message = 0x010200060d20
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0x300257fa5ecadec2d8b4b19c39257dbc
Finished request 0
Going to the next request
--- Walking the entire request list ---
Waking up in 6 seconds...
--- Walking the entire request list ---
Cleaning up request 0 ID 1 with timestamp 40a8bdd8
Nothing to do.  Sleeping until we see a request.
rad_recv: Access-Request packet from host 192.168.0.1:1028, id=4, length=149
        User-Name = "802.1x client (i.e. supplicant)"
        NAS-IP-Address = 192.168.0.1
        NAS-Port = 1
        NAS-Identifier = "netgear-switch.domain.com"
        NAS-Port-Type = Ethernet
        EAP-Message = 
0x02040024013830322e317820636c69656e742028692e652e20737570706c6963616e7429
        Message-Authenticator = 0x80fb70a84b04a49a6b73fff351374948
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 1
  modcall[authorize]: module "preprocess" returns ok for request 1
  modcall[authorize]: module "chap" returns noop for request 1
  modcall[authorize]: module "mschap" returns noop for request 1
    rlm_realm: No '@' in User-Name = "802.1x client (i.e. supplicant)", looking up 
realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 1
  rlm_eap: EAP packet type response id 4 length 36
  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
  modcall[authorize]: module "eap" returns updated for request 1
    users: Matched 802.1x client (i.e. supplicant) at 65
  modcall[authorize]: module "files" returns ok for request 1
modcall: group authorize returns updated for request 1
  rad_check_password:  Found Auth-Type EAP
auth: type "EAP"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 1
  rlm_eap: EAP Identity
  rlm_eap: processing type tls
 rlm_eap_tls: Requiring client certificate
  rlm_eap_tls: Initiate
  rlm_eap_tls: Start returned 1
  modcall[authenticate]: module "eap" returns handled for request 1
modcall: group authenticate returns handled for request 1
Sending Access-Challenge of id 4 to 192.168.0.1:1028
        EAP-Message = 0x010500060d20
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0xdc43108973cf13e5b8040cd7af21e587
Finished request 1
Going to the next request
--- Walking the entire request list ---
Waking up in 6 seconds...
--- Walking the entire request list ---
Cleaning up request 1 ID 4 with timestamp 40a8bdf6
Nothing to do.  Sleeping until we see a request.
rad_recv: Access-Request packet from host 192.168.0.1:1029, id=6, length=149
        User-Name = "802.1x client (i.e. supplicant)"
        NAS-IP-Address = 192.168.0.1
        NAS-Port = 1
        NAS-Identifier = "netgear-switch.domain.com"
        NAS-Port-Type = Ethernet
        EAP-Message = 
0x02060024013830322e317820636c69656e742028692e652e20737570706c6963616e7429
        Message-Authenticator = 0xce799670b6b88832fe175ba83b5bc6db
  Processing the authorize section of radiusd.conf
modcall: entering group authorize for request 2
  modcall[authorize]: module "preprocess" returns ok for request 2
  modcall[authorize]: module "chap" returns noop for request 2
  modcall[authorize]: module "mschap" returns noop for request 2
    rlm_realm: No '@' in User-Name = "802.1x client (i.e. supplicant)", looking up 
realm NULL
    rlm_realm: No such realm "NULL"
  modcall[authorize]: module "suffix" returns noop for request 2
  rlm_eap: EAP packet type response id 6 length 36
  rlm_eap: No EAP Start, assuming it's an on-going EAP conversation
  modcall[authorize]: module "eap" returns updated for request 2
    users: Matched 802.1x client (i.e. supplicant) at 65
  modcall[authorize]: module "files" returns ok for request 2
modcall: group authorize returns updated for request 2
  rad_check_password:  Found Auth-Type EAP
auth: type "EAP"
  Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 2
  rlm_eap: EAP Identity
  rlm_eap: processing type tls
 rlm_eap_tls: Requiring client certificate
  rlm_eap_tls: Initiate
  rlm_eap_tls: Start returned 1
  modcall[authenticate]: module "eap" returns handled for request 2
modcall: group authenticate returns handled for request 2
Sending Access-Challenge of id 6 to 192.168.0.1:1029
        EAP-Message = 0x010700060d20
        Message-Authenticator = 0x00000000000000000000000000000000
        State = 0x51fda03f50417a07a57694d709af6669
Finished request 2
Going to the next request
--- Walking the entire request list ---
Waking up in 6 seconds...


- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to