Ceci est une ancienne révision du document !


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

Lien http://httpd.apache.org/docs/2.2/mod/core.html#authtype
DescriptionDéfinit le type d'authentification
Syntaxe AuthType Basic|Digest
Contexte directory, .htaccess

AuthName

Lien http://httpd.apache.org/docs/2.2/mod/core.html#authname
DescriptionNom du royaume présenté à l'utilisateur
Syntaxe AuthName auth-domain
Contexte directory, .htaccess

AuthBasicProvider

Lien http://httpd.apache.org/docs/2.2/mod/mod_auth_basic.html#authbasicprovider
DescriptionIndique le moteur d'authentification pour cette URL
Syntaxe AuthBasicProvider provider-name [provider-name] ...
Contexte directory, .htaccess

AuthLDAPURL

Lien http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapurl
DescriptionDéfinit les paramètres de recherche LDAP
Syntaxe AuthLDAPUrl ldap://host:port/basedn?attribute?scope?filter [NONE|SSL|TLS|STARTTLS]
Contexte directory, .htaccess

AuthLDAPBindDN

Lien http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapbinddn
DescriptionDéfinit le compte de service pour se connecter au LDAP (lorsque l'authentification anonyme est impossible).
Syntaxe AuthLDAPBindDN distinguished-name
Contexte directory, .htaccess

AuthLDAPBindPassword

Lien http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authldapbindpassword
DescriptionDéfinit le mot de passe du compte de service
Syntaxe AuthLDAPBindPassword password
Contexte directory, .htaccess

AuthzLDAPAuthoritative

Lien http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html#authzldapauthoritative
DescriptionPermet de contrôler si d'autre module d'authentification peuvent authentifier l'utilisateur en cas d'utilisateur introuvable dans le LDAP.
Syntaxe AuthzLDAPAuthoritative on|off
Contexte directory, .htaccess

Require

Lien http://httpd.apache.org/docs/2.2/fr/mod/core.html#require
DescriptionDéfinit quelle personne authentifiée peut accèder à ce répertoire
Syntaxe Require entity-name [entity-name] …
Contexte directory, .htaccess

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 authent_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.1322778784.txt.gz · Dernière modification: 2011/12/01 23:33 par matthieu
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki