Authentification LDAP avec Apache

January 14th, 2007

Je me suis retrouvé dans la nécessité de configurer un serveur Apache 2.2 (sous debian) pour qu’il puisse puiser sa liste d’utilisateurs dans un serveur LDAP, que j’utilise aussi pour authentifier mes utilisateurs FTP, SSH, Jabber, etc, et donc j’utilise des objectClass faites pour PAM (ce qui est le cas de la plupart des serveurs LDAP je pense…).
Donc me voici dans une section <Directory>, je configure maintenant Apache pour authentifier les utilisateurs à l’aide de LDAP.

## On donne l'url du serveur LDAP. Syntaxe : ldap://serveur:port/base_dn?attribu_a_verrifier?profondeur_de_recherche?filtre_de_recherche
AuthLDAPURL ldap://localhost/dc=thegreatspirit,dc=net?uid?sub?(objectClass=*)
## On spécifie à Apache que l'attribu qui contient le nom d'utilisateur est "memberUid"
AuthLDAPGroupAttribute memberUid
## Et on spécifie aussi que c'est le uid qui est stocké, au lieu que ce soit le DN complet
AuthLDAPGroupAttributeIsDN off

## Maintenant on lance une fenêtre d'authentification
AuthType basic
## Nom de la fenêtre d'authentification
AuthName "Restrited LDAP-protected area"
## On indique à Apache de regarder dans LDAP pour la liste des utilisateurs
AuthBasicProvider ldap

#On veut un utilisateur qui provient du groupe dont le DN est cn=svnUser,ou=SVN,ou=ACL,ou=Groups,dc=thegreatspirit,dc=net
Require ldap-group cn=svnUser,ou=SVN,ou=ACL,ou=Groups,dc=thegreatspirit,dc=net

## On aurai aussi pu tenter :
## Une liste d'utilisateurs
  # Require ldap-user user1 user2 etc
## Une liste de DNs
  # Require ldap-dn DN1 DN2 etc
## N'importe quel DN avec certains attribus
  # Require ldap-attribute attribut="valueur" attribut="valeur" etc
## Ou si le DN passe à travers ce filtre
  # Require ldap-filter (filtre ldap)

Si on avait voulu que n’importe quel utilisateur qui a réussi à faire un bind correct puisse se connecter, il faut d’abord que mod_authz_user soit chargé, et que l’option AuthzLDAPAuthoritative soit à off. Ainsi on peut remplacer le require de la configuration précédente par

AuthzLDAPAuthoritative off
Require valid-user

Bien sûr, les noms d’utilisateurs, DN etc peuvent être entré comme n’importe quel chaine en argument dans un fichier de apache : c’est à dire qu’on peut les mettre comme sans rien, ou si on a besoin de délimiter la chaîne on peut la mettre entre guillemets.
Et ausis, Apache n’a pas besoin de pouvoir voir les mots de passes sur LDAP, puisque quand un nom d’utilisateur sera rentré il tentera un bind avec.

Entry Filed under: Debian, openLdap, Apache

2 Comments Add your own

  • 1. bliml  |  August 23rd, 2007 at 3:32 pm

    bonjour,
    j’ai réussit à configurer apache pour gérer l’authentification d’une “location” par le bias de Ldap et ça marche comme il faut.

    Code :

    DAV svn
    SVNPath /home/xyz/SVNRepository/
    SVNAutoversioning on
    #DavGenericLockDB /opt/subversion/locks/davlock
    AuthBasicProvider ldap
    AuthLDAPUrl ldap://localhost:389/ou=societe,dc=nodomain
    #AuthzSVNAccessFile /home/xyz/access.txt
    AuthzLDAPAuthoritative off
    AuthType basic
    AuthName “(LDAP local 2007)”
    Require valid-user

    maintenant je veux savoir si c’est possible de configurer apache pour qu’il gére les droits d’accès de branches par Ldap.

    c’est à dire une chose équivalente à:
    Code :

    AuthzSVNAccessFile /home/xyz/access.txt

    mais pour Ldap non pas pour une fichiers.

    Merci bien

  • 2. bliml  |  September 26th, 2007 at 9:18 am

    Slt tt le monde,
    L’auth avec ldap est bien fonctionnel il y a longtemps. Hier, j’ai constaté un comportement bizare, en effet
    lorsque je m’authentifie pour accèder à un referentiel, il m’affiche une page d’erreur”Internal Server Error”. voici ce que je trouve dans le fichier log d’apache:

    [warn] [client 127.0.0.1][7709] auth_ldap authentificate: user g545552 authentificate failed; URI /SimpleRepos [ldap_search_ext_s() for user failed][Operation error]

    waiting for answer at:
    ayed.akrout@gmail.com

Leave a Comment

hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


Calendar

November 2008
M T W T F S S
« Oct    
 12
3456789
10111213141516
17181920212223
24252627282930

Most Recent Posts