802.1x, EAP and LDAP
Danner, Mearl
jmdanner at samford.edu
Tue Mar 4 15:10:36 CET 2008
The binddn configured in freeradius needs to have admin privileges to
extract a password. It then binds with the userdn and extracted
password. That gets an positive authentication. You also need radius
specific ldap attributes the pass the authorization phase.
We used the freeradius/eDirectory integration for over a year
successfully.
Download instructions from the document:
How to integrate freeradius and eDirectory
http://www.novell.com/coolsolutions/appnote/16745.html
-----Original Message-----
From: freeradius-users-bounces+jmdanner=samford.edu at lists.freeradius.org
[mailto:freeradius-users-bounces+jmdanner=samford.edu at lists.freeradius.o
rg] On Behalf Of Phil Mayers
Sent: Tuesday, March 04, 2008 5:19 AM
To: freeradius-users at lists.freeradius.org
Subject: Re: 802.1x, EAP and LDAP
Mike Richardson wrote:
> On Tue, Mar 04, 2008 at 10:35:29AM +0000, Phil Mayers wrote:
>>> rlm_ldap: ldap_release_conn: Release Id: 0
>>> modcall[authorize]: module "ldap" returns ok for request 0
>>> rlm_pap: WARNING! No "known good" password found for the user.
>>> Authentication may fail because of this.
>>> modcall[authorize]: module "pap" returns noop for request 0
>> The ldap module didn't find a password for the user, thus the PAP
module
>> couldn't authenticate the user.
>>
>> I don't know enough about eDirectory to help much more; I can say
that a
>> "normal" LDAP server might contain entries of the form:
>>
>> dn: cn=user,ou=....
>> cn: user
>> objectClass: top
>> objectClass: person
>> userPassword: {CRYPT}xxxxxxxx
>>
>> ...or similar, and the ldap module is smart enough to figure it out.
>>
>> As Ivan has pointed out, I suspect this line higher up is the issue:
>>
>>> rlm_ldap: No default NMAS login sequence
>> A quick read through the source code indicates the mysterious NMAS is
>> novell universal auth / password / blah.
>
> How does the PAP module attempt to do the authentication? Does it do
an
> authenticated bind as the user or does it get the password variable
and
> compare it to something stored?
The latter.
Basically rlm_pap takes the User-Password in the request, and compares
it against "the correct" password for the user.
The ldap module is expected to have extracted the password from LDAP
(see below).
There is another mode where PAP requests can be authenticated by
rlm_ldap, using simple bind against the LDAP server - that's the
authenticate {
Auth-Type LDAP {
ldap
}
}
...stuff, but you should avoid doing that if at all possible. In
particular it won't support PEAP/MS-CHAP, the only really useful EAP
type supported by the windows XP/vista 802.1x supplicants.
>
> I've tried it against openldap with the same result but I've not spent
much
> time on the openldap config. I have to get this working with eDiretory
> unfortunately...
I don't know specifically what the NMAS nonsense is, but a glance at the
rlm_ldap source code indicates it's a Novell-proprietary LDAP extension
which the LDAP client (in this case, FreeRadius) has to call to get at
the plaintext password for the user.
In all probability your Novell administrators need to grant some extra
permissions to the "binddn" so that it can do this - it's (obviously) a
privileged operation.
Moving to OpenLDAP won't help - it doesn't support NMAS at all (I
assume) so you'll just be trying to run operations against the LDAP
server it doesn't support, and if you need to eventually get it working
against Novell it's not time well spent anyway.
-
List info/subscribe/unsubscribe? See
http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list