Help with machine authentication
Phil Mayers
p.mayers at imperial.ac.uk
Fri Apr 22 12:25:39 CEST 2011
On 04/21/2011 08:08 PM, Eldred, Bob wrote:
> After configuring a Windows XP SP3 supplicant for machine authentication
> (which is stupidly complex, given the required registry hacks to make it
> work)
Once you've done it once, you can export it as a "netsh" XML profile,
then re-import it on other machines. Or use group policy on domain members.
> I get this in the debug output:
>
> ++[mschap] returns noop
> [ntdomain] No '\' in User-Name = "host/C776669.ppmenergy.us", looking up
> realm NULL
> [ntdomain] No such realm "NULL"
> ++[ntdomain] returns noop
>
>
> Now, I can clearly see that there *is* no '\' in the hostname there, nor
> should there be. But everything I've found on the web indicates that
> with the version of FreeRADIUS and Samba I have, %{mschap:User-Name}
> should be rewritten as C776669$. Getting the domain of the thing will
Correct, it should be rewritten from host/name.... to name$
> be another challenge of its own, I imagine.
%{mschap:NT-Domain} will expand the above to "ppmenergy". So, if the
short-form (NT4-style name) of your AD realm is "ppmenergy" that'll be fine.
If not you'll have to hard-code the domain or get it otherwise. This is
one reason why microsoft were DUMB to pick host/dnsname.domain.com - the
DNS name and authentication realm need not match. They should have just
sent host$@AUTH.REALM as the EAP-Identity and made everyones life
easier... :o(
> ++[mschap] returns noop
This is as-expected. The request is EAP, not mschap, so mschap returns
noop. This is completely independent of using "%{mschap:User-Name}"
anywhere.
> [ntdomain] No '\' in User-Name = "host/C776669.ppmenergy.us", looking up
> realm NULL
> [ntdomain] No such realm "NULL"
> ++[ntdomain] returns noop
Again, as expected.
> Sending Access-Challenge of id 219 to 10.56.160.5 port 32768
> EAP-Message = 0x010700061900
> Message-Authenticator = 0x00000000000000000000000000000000
> State = 0x1c7725f518703c6d6a5dce719626f316
> Finished request 14.
> Going to the next request
> Waking up in 4.9 seconds.
...and.... what happens next? This is just a single request. EAP
authentication involves lots of pairs of request/challenge, with a final
request/accept or request/reject.
I am going to take a wild guess - you are using "ntlm_auth" and you need
to edit the command line in raddb/modules/mschap to read:
ntlm_auth = ".... --username=%{mschap:User-Name} ..."
If not, please show the full authentication attempt so we can see where
it fails.
Better yet, carefully read through the full debug output yourself. The
failure code *will* be in there.
More information about the Freeradius-Users
mailing list