OR-type authentication
Phil Mayers
p.mayers at imperial.ac.uk
Fri Aug 18 16:25:19 CEST 2006
Héctor Alberto Ortiz Barrón wrote:
> My radiusd.conf file
> ...
> modules {
> mschap certificate_userpass {
> }
> mschap winlogon {
> }
> $INCLUDE ${confdir}/eap.conf
> $INCLUDE ${confdir}/sql.conf
> ...
> instantiate {
> exec
> certificate_userpass
> winlogon
> }
> ...
> authorize {
> redundant {
> sql
> winlogon
> certificate_userpass
> }
> eap
> }
> ...
> authenticate {
> Auth-Type MS-CHAP {
> redundant {
> certificate_userpass
> winlogon
> }
> }
> eap
> }
> ...
> Using this configuration, I am able to connect to the network using a
That configuration looks seriously, seriously broken. Why have you
defined >1 mschap module and called one "certificate_userpass" when the
mschap module can only handle ms-chap? Why are you playing odd games
with redundant copies of modules in odd places? Why are you putting
modules in the instantiate section that don't need it?
> certificate on the client computer or providing a user name and password
> which are checked against the mysql database, but I can't authenticate
> against the AD. If I comment out the part regarding sql from the
I'm not surprised.
> authorize section and do like this in the authenticate section (inverse
> order):
> authenticate {
> Auth-Type MS-CHAP {
> redundant {
> winlogon
> certificate
> }
> }
> eap
> }
> I can now authenticate against the AD and using certificates, but not
> using the database.
> Question:
> What changes do I require in order to be able to grant access taking
> into account the three methods?
Perhaps you could be more specific about what you're trying to do. You
cannot authenticate a single user against two sources of info - how
would that even work?
Are you saying that you have some users in SQL and some users in a
domain controller, and want both to work?
I take it this is for 802.1x authentication?
You almost certainly want something a bit more like this:
modules {
mschap {
# we will override use of this on a per-user basis for users in SQL
ntlm_auth = whatever
}
$INCLUDE ${confdir}/eap.conf
$INCLUDE ${confdir}/sql.conf
}
authorize {
preprocess
sql
mschap
eap
}
authenticate {
Auth-Type MS-CHAP {
mschap
}
eap
}
...and for your users in SQL, have this:
id | username | attribute | op | value
----+----------+-----------------------+----+----------
1 | foo | User-Password | := | bar
2 | foo | MS-CHAP-Use-NTLM-Auth | := | 0
More information about the Freeradius-Users
mailing list