Sorry for the long subject :-)

Have spent a few days on this setup and learned a lot from your mailinglist
(thank you, Alan and everybody else) but I think there is a problem not
covered, yet, between Solaris and Linux compiled code (?). Long story:

We set up the following:

WLAN and/or Cable Clients:
 WC-1. Windows 2003, DELL TrueMobile 1300 WLAN client, AEGIS 
client / driver for WPA
 WC-2. Windows XP, T-Sinus 154 Data WLAN client, WinXP SP1 and 
patch for WPA

AccessPoints:
 AP-1. T-Sinus 154 DSL
 AP-2. Cisco Aironet 1200

FreeRadius Server:
 FR-1. Notebook with Suse 9.1, FreeRadius 1.0.0
 FR-2. SUN Sparc E450 (64bit), Solaris 9, FreeRadius 1.0.0 and 1.0.1

Additionally, Java Enterprise System (JES) 2004 Q2, LDAP Dir.Server 5.2

Both WC-1, WC-2 can connect to either AP-x and access FR-1 and FR-2.
FR-1 can use JES as backend for LDAP authentication.

WLAN setup:
Authentication type: PEAP
Tunneled Protocol:   EAP-MSCHAPv2
Server Identity:        do not validate
WEP managment:   provide encryption key dynamically
WPA mode:            WPA 802.1X
Encryption:             TKIP

Certificates built for EAP-TLS according FreeRadius Docs:
  /usr/local/radius/certs.sh
  cp -r /usr/local/radius/certs /usr/local/etc/raddb/

Verification and checks:
  radtest and radclient: PAM, UNIX, and LDAP
  for UNIX and PAM:
      chmod 404 /etc/passwd
      chmod 404 /etc/shadow

All PATH mentioned below are from Solaris System (sorry):
/usr/local/etc/raddb/users
/usr/local/etc/raddb/clients.conf
/usr/local/etc/raddb/radiusd.conf
/usr/local/etc/raddb/ldap.attrmap

Details can be provided ... but that is not the problem, because:

I.  Running WC-2 against FR-1 (Linux) "EAP with local backend"
   and "EAP with LDAP backend" (Solaris-JES) works fine.

II. Running WC-2 against FR-2 (Solaris) "EAP with local backend"
  and "EAP with LDAP backend" (Solaris-JES) both fail (here the latter):

--------from radiusd -X output 
------------------------------------------------------------
-------
------------------------
rlm_ldap: performing search in dc=xxxxx,dc=de, with filter (uid=yyyyy)
rlm_ldap: Password header not found in password 
0x075F36789B3133386FBCD952ED3FC23F for user yyyyy
rlm_ldap: looking for check items in directory...
rlm_ldap: Adding displayname as NT-Password, value 
0x075F36789B3133386FBCD952ED3FC23F & op=21
rlm_ldap: Adding displayname as LM-Password, value 
0x075F36789B3133386FBCD952ED3FC23F & op=21
rlm_ldap: looking for reply items in directory...
rlm_ldap: user yyyyy authorized to use remote access
rlm_ldap: ldap_release_conn: Release Id: 0
 modcall[authorize]: module "ldap" returns ok for request 7
modcall: group authorize returns updated for request 7
 rad_check_password:  Found Auth-Type EAP
auth: type "EAP"
 Processing the authenticate section of radiusd.conf
modcall: entering group authenticate for request 7
 rlm_eap: Request found, released from the list
 rlm_eap: EAP/mschapv2
 rlm_eap: processing type mschapv2
 Processing the authenticate section of radiusd.conf
modcall: entering group Auth-Type for request 7
 rlm_mschap: Found LM-Password
 rlm_mschap: Found NT-Password
 rlm_mschap: Told to do MS-CHAPv2 for yyyyy with NT-Password
 rlm_mschap: FAILED: MS-CHAP2-Response is incorrect               
<<<<<<<<<<<<<<<<<
 modcall[authenticate]: module "mschap" returns reject for request 7
modcall: group Auth-Type returns reject for request 7
--------end of radiusd -X output 
---------------------------------------------------------
--------
--------------------------
This leads to the often -misleading- seen error further down the line:
"Had sent TLV failure, rejecting."

Ok, summary:
1. EAP on Solaris fails, EAP on Linux works.
2. Version problems with freeradius can be excluded, can we ?
3. Library problem ?

Short description of possible source of trouble:
  Buildung FreeRadius LDAP support needs some fiddling:
  Download OpenLDAP Support from www.blastwave.org
  cp -r /opt/csw/include/* /usr/include/
  to get /usr/include/ldap.h to hold all the definitions:
  LDAP_OPT_SUCCES .... LDAP_OPT_X_TLS_xxxx
  ./configure --without-rlm_sql_iodbc  --without-rlm_sql_mysql --without-
rlm_sql_postgresql  \
                  --without-rlm_sql_oracle --without-
rlm_sql_unixodbc                                       \
                  --with-rlm-ldap-include-
dir=/opt/csw/include                                                   \
                  --with-openssl-
includes=/usr/local/ssl/include                                                \
                  --with-openssl-libraries=/usr/local/ssl/lib
  After this make & make install works with a lot of warnings.
  So, maybe a library problem? Not sure.

4. Check of smbencrypt:
   /usr/bin/smbencrypt yyyyy
   LM Hash-Solaris   5EE48ABDB55D077DAAD3B435B51404EE
   LM Hash-Linux     5EE48ABDB55D077DAAD3B435B51404EE

   NT Hash-Solaris   DA2798D017BDEBFD4A515999FBF0C1D3
   NT Hash-Linux     075F36789B3133386FBCD952ED3FC23F

   Compare this to the log (see above) and it seems the Solaris hash 
   -even different from the Linux hash- fits the submitted NT-password.

Hmm, can not cross check this on the Linux FreeRadius-Server anymore.

So, what is wrong?
1. Why is the Solaris smbencrypt NT-hash different from the Linux NT-
hash ?
2. Why does EAP on Solaris - FreeRadius fail ?
3. Why does EAP on Solaris - FreeRadius with LDAP backend fail ?

According to logs, answer 2. and 3. is the same: password do not match.

But, how to fix it?

Thank You! Kind regards
Matt



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

Reply via email to