auth.xml.fr revision b244bbf442a0aea3dc397b4d0d751f4716c5891d
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<!-- English Revision: 1555555:1561569 (outdated) -->
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<!-- French translation : Lucien GENTIS -->
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<!-- Reviwed by : Vincent Deffontaines -->
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Licensed to the Apache Software Foundation (ASF) under one or more
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes contributor license agreements. See the NOTICE file distributed with
0662ed52e814f8f08ef0e09956413a792584eddffuankg this work for additional information regarding copyright ownership.
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes The ASF licenses this file to You under the Apache License, Version 2.0
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes (the "License"); you may not use this file except in compliance with
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes the License. You may obtain a copy of the License at
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Unless required by applicable law or agreed to in writing, software
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes distributed under the License is distributed on an "AS IS" BASIS,
70953fb44a7140fe206c3a5f011e24209c8c5c6abnicholes WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
44f575c8cb19a7a5cd61664a7848be6bc197df02fuankg See the License for the specific language governing permissions and
44f575c8cb19a7a5cd61664a7848be6bc197df02fuankg limitations under the License.
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<parentdocument href="./">Recettes / Tutoriels</parentdocument>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>L'authentification est un processus qui vous permet de vérifier
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes qu'une personne est bien celle qu'elle prétend être. L'autorisation
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes est un processus qui permet à une personne d'aller là où elle veut
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes aller, ou d'obtenir les informations qu'elle désire.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Pour le contrôle d'accès en général, voir le How-To <a
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes href="access.html">Contrôle d'accès</a>.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<section id="related"><title>Modules et directives concernés</title>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<p>Trois groupes de modules sont concernés par le processus
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesd'authentification et d'autorisation. Vous devrez utiliser au moins un
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesmodule de chaque groupe.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <li>Type d'authentification (voir la directive <directive
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <li>Fournisseur d'authentification (voir les directives <directive
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes module="mod_auth_basic">AuthBasicProvider</directive> et <directive
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes module="mod_auth_digest">AuthDigestProvider</directive>)
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>On peut aussi ajouter <module>mod_authn_core</module> et
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <module>mod_authz_core</module>. Ces modules implémentent des
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes directives générales qui opèrent au dessus de tous les modules
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes d'authentification.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Le module <module>mod_authnz_ldap</module> est un fournisseur
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes d'authentification et d'autorisation. Le module
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <module>mod_authz_host</module> fournit une autorisation et un
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes contrôle d'accès basés sur le nom du serveur, l'adresse IP ou
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes certaines caractéristiques de la requête, mais ne fait pas partie du
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes système fournisseur d'authentification. Le module
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <module>mod_access_compat</module> a été créé à des fins de
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes compatibilité ascendante avec mod_access.</p>
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg <p>Vous devriez aussi jeter un coup d'oeil au manuel de recettes de <a
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes href="access.html">Contrôle d'accès</a>, qui décrit les différentes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes méthodes de contrôle d'accès à votre serveur.</p>
0a39e7683f6611d66c55712f50bb240428d832a1bnicholes<section id="introduction"><title>Introduction</title>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Si votre site web contient des informations sensibles ou
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes destinées seulement à un groupe de personnes restreint, les
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes techniques exposées dans cet article vont vous aider à vous assurer
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes que les personnes qui ont accès à ces pages sont bien celles
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes auxquelles vous avez donné l'autorisation d'accès.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Cet article décrit les méthodes "standards" de protection de
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes parties de votre site web que la plupart d'entre vous sont appelés à
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg utiliser.</p>
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg <p>Si vos données ont un réel besoin de sécurisation, prévoyez
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes l'utilisation de <module>mod_ssl</module> en plus de toute méthode
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes d'authentification.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<section id="theprerequisites"><title>Les prérequis</title>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Les directives décrites dans cet article devront être insérées
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes soit au niveau de la configuration de votre serveur principal (en
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes général dans une section <directive module="core"
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes type="section">Directory</directive>), soit au niveau de la
0662ed52e814f8f08ef0e09956413a792584eddffuankg configuration des répertoires (fichiers <code>.htaccess</code>)</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Si vous envisagez l'utilisation de fichiers
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <code>.htaccess</code>, la configuration de votre serveur devra
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes permettre l'ajout de directives d'authentification dans ces
0662ed52e814f8f08ef0e09956413a792584eddffuankg fichiers. Pour ce faire, on utilise la directive <directive
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes module="core">AllowOverride</directive>, qui spécifie quelles
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes directives pourront éventuellement contenir les fichiers de
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes configuration de niveau répertoire.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Comme il est ici question d'authentification, vous aurez besoin
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes d'une directive <directive module="core">AllowOverride</directive>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes du style :</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <highlight language="config">AllowOverride AuthConfig</highlight>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Si vous avez l'intention d'ajouter les directives directement
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes dans le fichier de configuration principal, vous devrez bien entendu
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg posséder les droits en écriture sur ce fichier.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Vous devrez aussi connaître un tant soit peu la structure des
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes répertoires de votre serveur, ne serait-ce que pour savoir où se
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg trouvent certains fichiers. Cela ne devrait pas présenter de grandes
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes difficultés, et nous essaierons de clarifier tout ça lorsque le besoin
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes s'en fera sentir.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Enfin, vous devrez vous assurer que les modules
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <module>mod_authn_core</module> et <module>mod_authz_core</module>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes ont été soit compilés avec le binaire httpd, soit chargés par le
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes fichier de configuration httpd.conf. Ces deux modules fournissent
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes des directives générales et des fonctionnalités qui sont critiques
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes quant à la configuration et l'utilisation de l'authentification et
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes de l'autorisation au sein du serveur web.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes<section id="gettingitworking"><title>Mise en oeuvre</title>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Nous décrivons ici les bases de la protection par mot de passe
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes d'un répertoire de votre serveur.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Vous devez en premier lieu créer un fichier de mots de passe. La
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes méthode exacte selon laquelle vous allez créer ce fichier va varier
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes en fonction du fournisseur d'authentification choisi. Mais nous
bf1e7c075ccc3e6597d17de7641332ff6ff92e8astriker entrerons dans les détails plus loin, et pour le moment, nous nous
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes contenterons d'un fichier de mots de passe en mode texte.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Ce fichier doit être enregistré à un endroit non accessible
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes depuis le web, de façon à ce que les clients ne puissent pas le
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes télécharger. Par exemple, si vos documents sont servis à partir de
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <code>/usr/local/apache/htdocs</code>, vous pouvez enregistrer le
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes fichier des mots de passe dans
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>L'utilitaire <program>htpasswd</program> fourni avec Apache
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes permet de créer ce fichier. Vous le trouverez dans le répertoire
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <code>bin</code> de votre installation d'Apache. Si vous avez
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes installé Apache à partir d'un paquetage tiers, il sera probablement
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes dans le chemin par défaut de vos exécutables.</p>
9046ab142ed19505e034af0afb8c15be512b8526bnicholes htpasswd -c /usr/local/apache/passwd/passwords rbowen
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p><program>htpasswd</program> vous demandera d'entrer le mot de
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes passe, et de le retaper pour confirmation :</p>
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg # htpasswd -c /usr/local/apache/passwd/passwords rbowen<br />
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes New password: mot-de-passe<br />
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Re-type new password: mot-de-passe<br />
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Adding password for user rbowen
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Si <program>htpasswd</program> n'est pas dans le chemin par
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes défaut de vos exécutables, vous devrez bien entendu entrer le chemin
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes complet du fichier. Dans le cas d'une installation par défaut, il se
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes trouve à <code>/usr/local/apache2/bin/htpasswd</code>.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Ensuite, vous allez devoir configurer le serveur de façon à ce
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes qu'il demande un mot de passe et lui préciser quels utilisateurs ont
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes l'autorisation d'accès. Pour ce faire, vous pouvez soit éditer le
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes fichier <code>httpd.conf</code>, soit utiliser un fichier
8ffac2c334103c0336602aaede650cb578611151fuankg <code>.htaccess</code>. Par exemple, si vous voulez protéger le
8ffac2c334103c0336602aaede650cb578611151fuankg répertoire <code>/usr/local/apache/htdocs/secret</code>, vous pouvez
0cb770e9049c8e85ede0bbe3d47904785b15f868fuankg utiliser les directives suivantes, soit dans le fichier
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <code>/usr/local/apache/htdocs/secret/.htaccess</code>, soit dans le
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes fichier <code>httpd.conf</code> à l'intérieur d'une section <Directory
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholesAuthType Basic
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgAuthName "Restricted Files"
609ef720afd62ca63391c9fdb415cd2faf29aa46bnicholes# (Following line optional)
ac7985784d08a3655291f24f711812b4d8b1cbcffuankgAuthBasicProvider file
cb2846ded4de1abbb5934b92132baf826f1babfebnicholesRequire user rbowen
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes </highlight>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Examinons ces directives une à une. La directive <directive
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes module="mod_authn_core">AuthType</directive> définit la méthode
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg utilisée pour authentifier l'utilisateur. La méthode la plus
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg courante est <code>Basic</code>, et elle est implémentée par
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <module>mod_auth_basic</module>. Il faut cependant garder à l'esprit
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes que l'authentification Basic transmet le mot de passe depuis le
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes client vers le serveur en clair. Cette méthode ne devra donc pas
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes être utilisée pour la transmission de données hautement sensibles si
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg elle n'est pas associée au module <module>mod_ssl</module>. Apache
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes supporte une autre méthode d'authentification : <code>AuthType
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Digest</code>. Cette méthode est implémentée
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes par le module <module>mod_auth_digest</module> et a été conçue pour
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes améliorer la sécurité. Ce but n'a cependant pas été atteint et il est préférable
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes de chiffrer la connexion avec <module>mod_ssl</module>.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes module="mod_authn_core">AuthName</directive> définit
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes l'<dfn>Identificateur</dfn> (Realm) à utiliser avec
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes l'authentification. L'identificateur possède deux fonctions. Tout
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg d'abord, le client présente en général cette information à
0662ed52e814f8f08ef0e09956413a792584eddffuankg l'utilisateur dans le cadre de la boîte de dialogue de mot de passe.
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes Ensuite, le client l'utilise pour déterminer quel mot de passe
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes envoyer pour une zone authentifiée donnée.</p>
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <p>Ainsi par exemple, une fois un client authentifié dans la zone
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes <code>"Fichiers réservés"</code>, il soumettra à nouveau
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes automatiquement le même mot de passe pour toute zone du même serveur
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes marquée de l'identificateur <code>"Fichiers réservés"</code>. De
8410c53aaf5e0372a19d5f4d2bc696b9c609ce3cbnicholes cette façon, vous pouvez éviter à un utilisateur d'avoir à saisir
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes plusieurs fois le même mot de passe en faisant partager le même
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes identificateur entre plusieurs zones réservées. Bien entendu et pour
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes des raisons de sécurité, le client devra redemander le mot
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes de passe chaque fois que le nom d'hôte du serveur sera modifié.</p>
0662ed52e814f8f08ef0e09956413a792584eddffuankg module="mod_auth_basic">AuthBasicProvider</directive> est, dans ce
cb2846ded4de1abbb5934b92132baf826f1babfebnicholes cas, facultative, car <code>file</code> est la valeur par défaut
ac7985784d08a3655291f24f711812b4d8b1cbcffuankg pour cette directive. Par contre, cette directive sera obligatoire
href="http://modules.apache.org/">Base de données des modules
<p>Suite au problème évoqué précédemment et induit par le stockage
href="/mod/mod_authz_core.html#logic">Conteneurs
href="/mod/mod_authz_core.html#logic">Conteneurs
Require not host host.example.com