Author: Christian Bayle Date: To: guilde Subject: Re: Debian Apache2 et LDAP
Salut,
j'ai comme l'impression que le kerberos passe pas sur ta prod,
et si tu fais que la partie kerberos, ça dit quoi, c'est la même chose
des 2 cotés ?
juste le AuthType Kerberos / require valid-user
est ce que c'est les mêmes serveurs ldap/kerberos des 2 cotés ?
est ce que tes 2 serveurs qui authentifient sont bien déclaré
similairement dans ton kerberos?
est ce que tu as bien verifié les keytab avec klist -k, est ce que les
droits sur ces fichiers sont les mêmes, est ce que apache arrive bien à
les lire
Chrisitan
On 10/07/2013 12:02, Yves Martin wrote: > Bonjour,
>
> Je m'arrache les cheveux sur un os probablement même un grain de sable mais je coince. J'en appelle à vos expériences.
>
> Ma préproduction en Wheezy fonctionne nickel... mais pas la prod !
>
> Mon vhost Apache2 authentifie en Kerberos/SPNEGO avec mod_auth_kerb, tout est OK.
>
> Mon utilisateur est ensuite recherché dans LDAP puis validé comme membre d'un groupe
>
> AuthLDAPBindDN "service@???"
> AuthLDAPBindPassword "servicepassword"
> AuthLDAPURL "ldap://10.10.11.11 10.10.11.12/dc=domain,dc=local?userPrincipalName?sub?(objectClass=*)"
>
> Require ldap-group CN=projetX,OU=Projects,OU=Groups,DC=domain,DC=local
>
>
> J'ai comparé le traffic LDAP:
>
> - bindRequest
> - bindResponse success
> - searchRequest "dc=domain,dc=local"
> - searchResEntry "CN=Yves Martin,OU=Users,OU=Accounts,DC=domain,DC=local"
>
> Dans tous les cas, la réponse est bien "success" mais avec un "MatchedDN" vide
>
> Sur la préproduction qui fonctionne, pas de soucis, ça poursuit avec:
> - compareRequest "CN=projetX,OU=Projects,OU=Groups,DC=domain,DC=local"
> - compareResponse compareTrue
>
> Sur la production, rien à voir:
> - bindRequest "<ROOT>" simple
> - bindResponse success
> (3 fois)
> - searchRequest "CN=Configuration,DC=domain,DC=local"
> et encore quelques autres qui finissent en
> - LDAPMessage searchResDone(7) operationsError (000004DC: LdapErr: DSID-0C0906E8, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, v1db1) [0 results]
>
>
> Dans les logs en mode debug, en préproduction:
>
> [Wed Jul 10 10:12:30 2013] [debug] src/mod_auth_kerb.c(1641): [client 10.10.113.23] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
> [Wed Jul 10 10:12:30 2013] [debug] src/mod_auth_kerb.c(1579): [client 10.10.113.23] matched previous auth request
> [Wed Jul 10 10:12:30 2013] [debug] mod_authnz_ldap.c(643): [client 10.10.113.23] ldap authorize: Creating LDAP req structure
> [Wed Jul 10 10:12:30 2013] [debug] mod_authnz_ldap.c(773): [client 10.10.113.23] [26290] auth_ldap authorise: require group: testing for group membership in "CN=projetX,OU=Projects,OU=Groups,DC=domain,DC=local"
> [Wed Jul 10 10:12:30 2013] [debug] mod_authnz_ldap.c(779): [client 10.10.113.23] [26290] auth_ldap authorise: require group: testing for member: CN=projetX,OU=Projects,OU=Groups,DC=domain,DC=local (CN=projetX,OU=Projects,OU=Groups,DC=domain,DC=local)
> [Wed Jul 10 10:12:30 2013] [debug] mod_authnz_ldap.c(788): [client 10.10.113.23] [26290] auth_ldap authorise: require group: authorisation successful (attribute member) [Comparison true (cached)][Compare True]
>
> Et en production (par Basic sur http):
>
> [Wed Jul 10 11:57:48 2013] [debug] src/mod_auth_kerb.c(1641): [client 10.10.113.23] kerb_authenticate_user entered with user (NULL) and auth_type Kerberos
> [Wed Jul 10 11:57:48 2013] [debug] src/mod_auth_kerb.c(1000): [client 10.10.113.23] Using HTTP/service.domain.local@??? as server principal for password verification
> [Wed Jul 10 11:57:48 2013] [debug] src/mod_auth_kerb.c(704): [client 10.10.113.23] Trying to get TGT for user yma@???
> [Wed Jul 10 11:57:48 2013] [debug] src/mod_auth_kerb.c(1082): [client 10.10.113.23] kerb_authenticate_user_krb5pwd ret=0 user=yma@??? authtype=Basic
> [Wed Jul 10 11:57:48 2013] [debug] mod_authnz_ldap.c(643): [client 10.10.113.23] ldap authorize: Creating LDAP req structure
> [Wed Jul 10 11:58:08 2013] [debug] mod_authnz_ldap.c(655): [client 10.10.113.23] auth_ldap authorise: User DN not found, ldap_search_ext_s() for user failed
>
>
> OK, le "MatchedDN" est vide et c'est étrange mais ça passe alors d'un côté.
> Est-ce que les query seraient case-sensitive uniquement d'un côté ?
>
> J'ai déjà tenter de basculer plusieurs options notamment les "AuthLDAPBindAuthoritative", "AuthzLDAPAuthoritative", "AuthLDAPDereferenceAliases never" sans succès.
> Ça fonctionne toujours d'un côté mais pas de l'autre.
>
> Merci d'avance pour toute idée de diagnostique ou option à tester
>