Using freeradius integrated with Active Directory toautenticatecisco passwords
Phil Mayers
p.mayers at imperial.ac.uk
Sat Feb 9 13:18:54 CET 2008
Jeffrey Hutzelman wrote:
> --On Friday, February 08, 2008 08:19:32 PM +0000 A.L.M.Buxey at lboro.ac.uk
> wrote:
>
>> you MAY need to set "Auth-Type = krb5" for the required user or NAS
>> setting depending on your config!
>
> You will almost certainly have to do something -- there is no way for
> the rlm_krb5 module to know that you want to use it for veryifying
> passwords; that's not something that can be inferred from the request.
>
> If all of your clients will be using plain passwords which you want to
> verify against Kerberos, and you won't be supporting EAP clients, then
> you can probably get away with something simple like adding the
> following to the users file:
>
> DEFAULT Auth-Type := krb5
> Fall-Through = No
>
> Note that this violates the general advice of never setting Auth-Type,
> explicitly; this is necessary because rlm_krb5 does not provide any
> authorize handling and will not set Auth-Type automatically like many
> other modules do.
s/will not/cannot/?
How eould rlm_krb5 run in authorize {} and know that the user is a valid
kerberos user without getting a ticket?
>
> If you are trying to support EAP or do something else complicated, then
> setting Auth-Type explicitly like this will probably break it, unless
> you are very careful to do so only under circumstances where it is the
> right thing to do. I'm afraid I can't provide help with that; it's
> rather complex and really the right thing to do is update rlm_krb5 so it
> works automatically like everything else. Perhaps someday I'll do that;
> I doubt the original author of that module cares any longer.
How would you envisage it working?
At the moment, the "best" (least worst) option is to use something like
this:
authorize {
preprocess
eap
mschap
files
}
authenticate {
Auth-Type MSCHAP {
mschap
}
Auth-Type KRB5 {
krb5
}
}
..and in the files have this:
DEFAULT Auth-Type = KRB5
For the archives: this is one of the VERY FEW instances where setting
Auth-Type is ok.
Note the operator "=" rather than ":=" (i.e. set only if unset). That
way eap (tunnel outer) or mschap (peap tunnel inner) can take
precedence, but fallback would be a PAP request via krb5. "files" has to
come last in authorize for that to work safely.
FreeRadius 2.0 makes this a bit easier with different virtual servers
for inner versus outer tunnel.
Another alternative would be to redesign such that the various PAP
"oracles" (krb5, pam) are sub-modules of the pap module, perhaps run in
a defined order:
modules {
pap {
types {
pam {
service_name = foo
}
krb5 {
default_realm = FOO.EDU
}
}
default_check_order = pam krb5
}
}
authorize {
preprocess
files
eap
mschap
pap
}
authenticate {
Auth-Type MSCHAP {
mschap
}
Auth-Type PAP {
pap
}
}
Just a thought. I can see problems with the above system though.
More information about the Freeradius-Users
mailing list