[Date Prev][Date Next] [Chronological] [Thread] [Top]

kerberos and LDAP authentication



Hi everybody,

I have three machines named kdcmaster, ldapmaster and ldapclient running
Redhat Linux 7.3 :

1- kdcmaster is my kerberos KDC. There I created users principals and
ldap service principal (ldap/ldapmaster.mydomain.com). The only host
principal is kdcmaster itself (no host principals for ldapmaster nor
for ldapclient). The KDC works fine.

2- ldapmaster is my LDAP server. It works fine and it responds to ldapsearch
commands. The userPassword attribute is of the form 
{KERBEROS}username@MYDOMAIN.COM and /etc/openldap/ldap.keytab contains
the keytab of the ldap service principal.

3- ldapclient is a host for users.

Here is my problem. Just running authconfig on ldapclient and enabling LDAP 
lets a user in the kerberos database to authenticate. ("ssh -l username
ldapclient" makes ldapclient send the request to ldapmaster which uses the 
ldap service principal to talk to kdcmaster). This means that authentication
succeeds on any machine configured as an LDAP client, even if the machine 
is unknown to the KDC.
Since any user can easily configure his machine (a laptop for example)
as a LDAP client, this represents for me a breach of security.

When a user is authenticated on host ldapclient, kinit shows the following :

klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_500)

Kerberos 4 ticket cache: /tmp/tkt500
klist: You have no tickets cached

How is it possible to authenticate on host ldapclient knowing that ldapclient
has no host principal on kdcmaster? 

Is there any way to set up things so that authentication on ldapclient
is successful only if ldapclient has a host principal on kdcmaster?

any hints please,
thanks
----------------
Zouhir HAFIDI    
USTL, U.F.R. de Mathematiques, Bat. M2
F-59655 Villeneuve d'Ascq CEDEX, FRANCE
tel (+33) 3.20.43.45.15	fax (+33) 3.20.43.43.02