Hi All,

I have an environment where I'm trying to use FreeRADIUS to authenticate with 
two Active Directory domains at the same time.  The problem I'm encountering is 
that I can authenticate one domain at a time, but not both, by manipulating the 
ntlm_auth syntax in radiusd.conf.

For example, my parent AD domain is idmcorp.net (IDMCORP), and my subdomain is 
sub.idmcorp.net (SUB). The redhat linux system is joined to the parent domain 
and I can authenticate users via the ntlm_auth command line executable as shown.

ProCurve RADIUS(ms):/etc/raddb # ntlm_auth --nt-request-key --username=codo
password:
NT_STATUS_OK: Success (0x0)

ProCurve RADIUS(ms):/etc/raddb # ntlm_auth --nt-request-key 
--username='SUB\subusr1'
password:
NT_STATUS_OK: Success (0x0)

I have two test systems which are Windows XP, configured for machine 
authentication, and each joined to one of the AD domains.  The following 
radiusd.conf ntlm_auth configuration will allow machines in idmcorp.net to 
authenticate successfully, but not sub.idmcorp.net. If I change the --domain to 
sub.idmcorp.net, then that domain can authentication successfully but not 
idmcorp.net.

ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key 
--username=%{mschap:User-Name:-None} --domain=%{NT-Domain:-idmcorp.net} 
--challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}"

The bottom line when I look at radiusd -X is that the challenge fails because 
only idmcorp.net is applied:
radius_xlat: Running registered xlat function of module mschap for string 
'User-Name'
radius_xlat:  '--username=subusr1'
WARNING: Attempt to use unknown xlat function, or non-existent attribute in 
string %{NT-Domain}
radius_xlat:  '--domain=idmcorp.net'
radius_xlat: Running registered xlat function of module mschap for string 
'Challenge'
 mschap2: b2
radius_xlat:  '--challenge=f5ba542c686e9959'
radius_xlat: Running registered xlat function of module mschap for string 
'NT-Response'
radius_xlat:  '--nt-response=dfdebeef4582ae2ee49bba789b110a6af1507b67abc97e5e'
Exec-Program output: Logon failure (0xc000006d)
Exec-Program-Wait: plaintext: Logon failure (0xc000006d)
Exec-Program: returned: 1
  rlm_mschap: External script failed.
  rlm_mschap: FAILED: MS-CHAP2-Response is incorrect
  modcall[authenticate]: module "mschap" returns reject for request 6
modcall: leaving group MS-CHAP (returns reject) for request 6

I thought removing the domain argument from ntlm_auth might work, but this 
fails as well:
radius_xlat: Running registered xlat function of module mschap for string 
'User-Name'
radius_xlat:  '--username=subusr1'
radius_xlat: Running registered xlat function of module mschap for string 
'Challenge'
 mschap2: 49
radius_xlat:  '--challenge=dcadf8974326b238'
radius_xlat: Running registered xlat function of module mschap for string 
'NT-Response'
radius_xlat:  '--nt-response=804ebd5ea2b41d58ee34f221268885086ca958434d969593'
Exec-Program output: Logon failure (0xc000006d)
Exec-Program-Wait: plaintext: Logon failure (0xc000006d)
Exec-Program: returned: 1
  rlm_mschap: External script failed.
  rlm_mschap: FAILED: MS-CHAP2-Response is incorrect
  modcall[authenticate]: module "mschap" returns reject for request 6
modcall: leaving group MS-CHAP (returns reject) for request 6

Sorry so wordy.  Can anyone think of a way to get this working for both the 
parent/child domains ?

Thanks,
Corey

Corey Dow
Security Solutions Test Engineer
ProCurve Networking
Hewlett-Packard Company
8000 Foothills Blvd.  (MS 5549)
Roseville, CA   95747




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

Reply via email to