Cannot connect with EAP-TTLS + MS-CHAPv2. if you'd kindly teach me.

Alan DeKok aland at deployingradius.com
Tue Aug 13 04:16:27 CEST 2019


On Aug 12, 2019, at 9:31 PM, Yuya Yanagi <peacefull64 at gmail.com> wrote:
> We are replacing from freeradius v2 to freeradius v3, the settings
> will take over the previous contents, and the Wifi authentication
> method will not change from EAP-TTLS + MS-CHAPv2
> It is a specification and customer request.

  OK.

> In freeradius v2 environment, you can connect with EAP-TTLS +
> MS-CHAPv2. In Freeradius v3, you can connect with EAP-TTLS + PAP, but
> you cannot connect with MS-CHAPv2.

  It should be possible with mostly the same configuration.

> There is no AD in this environment, everything is done with LDAP, and
> the password is stored in LDAP with NT Hash. Mapping has the following
> two mappings. (LDAP is OpenLDAP use )
> 
> control:NT-Password         :=      'sambaNtPassword'
> control:User-Password         :=      'sambaNtPassword'

  Are those attributes found in LDAP?

> In the authentication section I am trying to reference LDAP with Auth-Type LDAP
> The following error occurs and there is no inquiry.
> 
> (6) ldap_regularusers: WARNING: You have set "Auth-Type := LDAP" somewhere
> (6) ldap_regularusers: WARNING: *********************************************
> (6) ldap_regularusers: WARNING: * THAT CONFIGURATION IS WRONG.  DELETE IT.
> (6) ldap_regularusers: WARNING: * YOU ARE PREVENTING THE SERVER FROM WORKING
> (6) ldap_regularusers: WARNING: *********************************************
> (6) ldap_regularusers: ERROR: Attribute "User-Password" is required
> for authentication

  That seems pretty clear.  Don't set "Auth-Type := LDAP".  It's not needed.

> (6) server inner-tunnel {
> (6)   session-state: No cached attributes
> (6)   # Executing section authorize from file
> /etc/raddb/sites-enabled/inner-tunnel
> (6)     authorize {
> (6)       policy rewrite_called_station_id {
> (6)         if (&Called-Station-Id && (&Called-Station-Id =~
> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})([^0-9a-f](.+))?$/i))
> {
> (6)         if (&Called-Station-Id && (&Called-Station-Id =~
> /^([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})[^0-9a-f]?([0-9a-f]{2})([^0-9a-f](.+))?$/i))
> -> FALSE
> (6)         else {
> (6)           [noop] = noop
> (6)         } # else = noop
> (6)       } # policy rewrite_called_station_id = noop
> (6)       [mschap] = noop
> (6) suffix: Checking for suffix after "@"
> (6) suffix: No '@' in User-Name = "yanagi", looking up realm NULL
> (6) suffix: Found realm "NULL"
> (6) suffix: Adding Stripped-User-Name = "yanagi"
> (6) suffix: Adding Realm = "NULL"
> (6) suffix: Authentication realm is LOCAL
> (6)       [suffix] = ok
> (6) eap: Peer sent EAP Response (code 2) ID 8 length 65
> (6) eap: No EAP Start, assuming it's an on-going EAP conversation
> (6)       [eap] = updated
> (6)       if (&outer.request:NAS-IP-Address =~
> /^192\.168\.10\.1[2]{1}$/ || &outer.request:NAS-IP-Address ==
> "192.168.200.240" || &outer.request:NAS-IP-Address == "localhost") {
> (6)       if (&outer.request:NAS-IP-Address =~
> /^192\.168\.10\.1[2]{1}$/ || &outer.request:NAS-IP-Address ==
> "192.168.200.240" || &outer.request:NAS-IP-Address == "localhost")  ->
> TRUE
> (6)       if (&outer.request:NAS-IP-Address =~
> /^192\.168\.10\.1[2]{1}$/ || &outer.request:NAS-IP-Address ==
> "192.168.200.240" || &outer.request:NAS-IP-Address == "localhost")  {
> (6)         if (&outer.request:Called-Station-SSID == 'BLUE')  {
> (6)         if (&outer.request:Called-Station-SSID == 'BLUE')   -> TRUE
> (6)         if (&outer.request:Called-Station-SSID == 'BLUE')   {
> rlm_ldap (ldap_regularusers): Closing connection (0): Hit
> idle_timeout, was idle for 294 seconds
> rlm_ldap (ldap_regularusers): You probably need to lower "min"
> rlm_ldap (ldap_regularusers): Closing connection (1): Hit
> idle_timeout, was idle for 294 seconds
> rlm_ldap (ldap_regularusers): You probably need to lower "min"
> rlm_ldap (ldap_regularusers): Closing connection (2): Hit
> idle_timeout, was idle for 294 seconds
> rlm_ldap (ldap_regularusers): You probably need to lower "min"
> rlm_ldap (ldap_regularusers): Closing connection (3): Hit
> idle_timeout, was idle for 293 seconds
> rlm_ldap (ldap_regularusers): You probably need to lower "min"
> rlm_ldap (ldap_regularusers): Closing connection (4): Hit
> idle_timeout, was idle for 293 seconds
> rlm_ldap (ldap_regularusers): You probably need to lower "min"
> rlm_ldap (ldap_regularusers): 0 of 0 connections in use.  You  may
> need to increase "spare"
> rlm_ldap (ldap_regularusers): Opening additional connection (5), 1 of
> 10 pending slots used
> rlm_ldap (ldap_regularusers): Connecting to ldap://tyg-ldap-01:636
> rlm_ldap (ldap_regularusers): Waiting for bind result...
> rlm_ldap (ldap_regularusers): Bind successful
> rlm_ldap (ldap_regularusers): Reserved connection (5)
> (6) ldap_regularusers: EXPAND
> (&(!(employeeType=participant))(!(employeeType=trainee))(!(hogePersonAccountStatus=03))(!(hogePersonAccountStatus=04))(uid=%{%{Stripped-User-Name}:-%{User-Name}}))
> (6) ldap_regularusers:    -->
> (&(!(employeeType=participant))(!(employeeType=trainee))(!(hogePersonAccountStatus=03))(!(hogePersonAccountStatus=04))(uid=yanagi))
> (6) ldap_regularusers: Performing search in
> "ou=Users,dc=edu,dc=hoge,dc=ac,dc=jp" with filter
> "(&(!(employeeType=participant))(!(employeeType=trainee))(!(hogePersonAccountStatus=03))(!(hogePersonAccountStatus=04))(uid=yanagi))",
> scope "sub"
> (6) ldap_regularusers: Waiting for search result...
> (6) ldap_regularusers: User object found at DN
> "uid=yanagi,ou=Users,dc=edu,dc=hoge,dc=ac,dc=jp"
> (6) ldap_regularusers: Processing user attributes
> (6) ldap_regularusers: control:NT-Password :=
> 0x4243353030433041363439353842434531393638383936303344464645343530

  That's the NT password.  If you just leave things alone, it will work.

> (6) ldap_regularusers: control:Password-With-Header :=
> '{SSHA256}Q1iLz8Pc/mkXU/hniRsu3/rpWKOVdjAU/4t2iLynZqdIPFIYPW0elA=='
> rlm_ldap (ldap_regularusers): Released connection (5)
> Need 4 more connections to reach min connections (5)
> rlm_ldap (ldap_regularusers): Opening additional connection (6), 1 of
> 9 pending slots used
> rlm_ldap (ldap_regularusers): Connecting to ldap://tyg-ldap-01:636
> rlm_ldap (ldap_regularusers): Waiting for bind result...
> rlm_ldap (ldap_regularusers): Bind successful
> (6)           [ldap_regularusers] = updated
> (6)           update control {
> (6)             &Auth-Type := LDAP
> (6)           } # update control = noop

  Don't do that.  It's breaking the server.

  Delete those lines from your configuration.  The user should then be able to authenticate.

  Alan DeKok.




More information about the Freeradius-Users mailing list