Authentification avec Apache

Authentification LDAP

Ce paragraphe décrit comment configurer l'authentification LDAP dans Apache.

Installation

Pour l'installation d'un serveur LDAP, voir OpenLDAP.

L'authentification LDAP d'Apache2 est réalisée par le module authnz_ldap. Son activation se fait de la façon suivante :

bender:/etc/apache2# a2enmod authnz_ldap
Enabling ldap as a dependency
Module ldap installed; run /etc/init.d/apache2 force-reload to enable.
Module authnz_ldap installed; run /etc/init.d/apache2 force-reload to enable.
bender:/etc/apache2#

Configuration

Voici un exemple d'authentification LDAP :

<Directory /home/ssl>
     AuthType basic
     AuthName "private area"
     AuthBasicProvider ldap
     AuthLDAPURL ldap://127.0.0.1/dc=matthieu,dc=bouthors,dc=org?cn?sub?(objectClass=*)
     AuthLDAPBindDN cn=apache,ou=services,dc=matthieu,dc=bouthors,dc=org
     AuthLDAPBindPassword ***
     AuthzLDAPAuthoritative off
     require ldap-group cn=web,ou=groups,dc=matthieu,dc=bouthors,dc=org
</Directory>

Les principales directives à utiliser pour authentifier les utilisateurs en LDAP sont decrite ci-dessous :

  • AuthType : Définit le type d'authentification
  • AuthName : Nom du royaume présenté à l'utilisateur
  • AuthBasicProvider : Indique le moteur d'authentification pour cette URL
  • AuthLDAPURL : Définit les paramètres de recherche LDAP
  • AuthLDAPBindDN : Définit le compte de service pour se connecter au LDAP (lorsque l'authentification anonyme est impossible).
  • AuthLDAPBindPassword : Définit le mot de passe du compte de service
  • AuthzLDAPAuthoritative : Permet de contrôler si d'autre module d'authentification peuvent authentifier l'utilisateur en cas d'utilisateur introuvable dans le LDAP.
  • Require : Définit quelle personne authentifiée peut accèder à ce répertoire

Exemples :

  • N'importe quel utilisateur valide :
require valid-user
  • L'utilisateur matthieu :
require matthieu
  • Le groupe “web” :
require ldap-group cn=web,ou=groups,dc=matthieu,dc=bouthors,dc=org

Authentification MySQL

Attention : la méthode décrite ci dessous ne fonctionne plus avec les dernières version de apache. En effet le module utilisé n'est plus maintenu.

Installation

Pour l'installation de Mysql, voir Mysql.
Pour construire la base de données contenant les utilisateurs, voir Authentification sur une base SQL.

Le paquet suivant est nécessaire :

  • libapache2-auth-mysql

Une fois installé, il suffit d'activer le module avec la commande suivante :

a2enmod auth_mysql

Configuration

Voici un exemple de configuration avec l'authentification Mysql.

Pour le descriptif des directives, voir http://www.diegonet.com/support/mod_auth_mysql.shtml

# configuration authentification mysql (auth mysql)
Auth_MySQL_Info localhost apache *********
Auth_MySQL_General_DB users

        <Directory />
                AllowOverride None
       
                Auth_MySQL_Password_Table users
                Auth_MySQL_Group_Table groupes_apache
                Auth_MySQL_Username_Field login
                Auth_MySQL_Password_Field password
                Auth_MySQL_Group_Field groupe
                Auth_MySQL_Empty_Passwords off
                Auth_MySQL_Encryption_Types Crypt
                Auth_MySQL_Authoritative on
                Auth_MySQL on

                AuthType Basic
                AuthName Extranet_matthieu.bouthors.org
                Require group admin
                Order Deny,Allow
                Deny from All
        </Directory>

        <Directory /home/ssl>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                Require valid-user
        </Directory>

Links

linux/serveur_web/auth.txt · Dernière modification: 2011/12/01 23:43 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki