mirror of
https://github.com/apache/httpd.git
synced 2025-08-03 16:33:59 +00:00

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1590246 13f79535-47bb-0310-9956-ffa450edef68
278 lines
12 KiB
Plaintext
278 lines
12 KiB
Plaintext
<?xml version="1.0"?>
|
|
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
|
<!-- English Revision : 1587098 -->
|
|
<!-- French translation : Lucien GENTIS -->
|
|
<!-- Reviewed by : Vincent Deffontaines -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<modulesynopsis metafile="mod_session_crypto.xml.meta">
|
|
|
|
<name>mod_session_crypto</name>
|
|
<description>Support du chiffrement des sessions</description>
|
|
<status>Experimental</status>
|
|
<sourcefile>mod_session_crypto.c</sourcefile>
|
|
<identifier>session_crypto_module</identifier>
|
|
<compatibility>Disponible depuis la version 2.3 d'Apache</compatibility>
|
|
|
|
<summary>
|
|
<note type="warning"><title>Avertissement</title>
|
|
<p>Les modules de session font usage des cookies HTTP, et peuvent
|
|
à ce titre être victimes d'attaques de type Cross Site Scripting,
|
|
ou divulguer des informations à caractère privé aux clients.
|
|
Veuillez vous assurer que les risques ainsi encourus ont été pris
|
|
en compte avant d'activer le support des sessions sur votre
|
|
serveur.</p>
|
|
</note>
|
|
|
|
<p>Ce sous-module du module <module>mod_session</module> fournit le
|
|
support du chiffrement des sessions utilisateur avant de les
|
|
enregistrer dans une base de données locale, ou dans un cookie HTTP
|
|
au niveau du navigateur distant.</p>
|
|
|
|
<p>Il peut contribuer à préserver la confidentialité des sessions
|
|
lorsque leur contenu doit rester privé pour
|
|
l'utilisateur, ou lorsqu'une protection contre les attaques de type
|
|
cross site scripting est nécessaire.</p>
|
|
|
|
<p>Pour plus de détails à propos de l'interface des sessions, voir
|
|
la documentation du module <module>mod_session</module>.</p>
|
|
|
|
</summary>
|
|
<seealso><module>mod_session</module></seealso>
|
|
<seealso><module>mod_session_cookie</module></seealso>
|
|
<seealso><module>mod_session_dbd</module></seealso>
|
|
|
|
<section id="basicusage"><title>Utilisation de base</title>
|
|
|
|
<p>Pour créer une session chiffrée et la stocker dans un cookie
|
|
nommé <var>session</var>, configurez la comme suit :</p>
|
|
|
|
<example><title>Session chiffrée stockée au niveau du
|
|
serveur</title>
|
|
<highlight language="config">
|
|
Session On
|
|
SessionCookieName session path=/
|
|
SessionCryptoPassphrase secret
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>La session sera chiffrée avec la clé spécifiée. Il est possible
|
|
de configurer plusieurs serveurs pour qu'ils puissent partager des
|
|
sessions, en s'assurant que la même clé de chiffrement est
|
|
utilisée sur chaque serveur.</p>
|
|
|
|
<p>Si la clé de chiffrement est modifiée, les sessions seront
|
|
automatiquement invalidées.</p>
|
|
|
|
<p>Pour des détails sur la manière dont une session peut être
|
|
utilisée pour stocker des informations de type nom
|
|
d'utilisateur/mot de passe, voir la documentation du module
|
|
<module>mod_auth_form</module>.</p>
|
|
|
|
</section>
|
|
|
|
<directivesynopsis>
|
|
<name>SessionCryptoDriver</name>
|
|
<description>Le pilote de chiffrement à utiliser pour chiffrer les
|
|
sessions</description>
|
|
<syntax>SessionCryptoDriver <var>nom</var> <var>[param[=valeur]]</var></syntax>
|
|
<default>aucun</default>
|
|
<contextlist><context>server config</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.3.0
|
|
d'Apache</compatibility>
|
|
|
|
<usage>
|
|
<p>La directive <directive>SessionCryptoDriver</directive> permet de
|
|
spécifier le nom du pilote à utiliser pour le chiffrement. Si aucun
|
|
pilote n'est spécifié, le pilote utilisé par défaut sera le pilote
|
|
recommandé compilé avec APR-util.</p>
|
|
|
|
<p>Le pilote de chiffrement <var>NSS</var> nécessite certains
|
|
paramètres de configuration, qui seront spécifiés comme arguments de
|
|
la directive avec des valeurs optionnelles après le nom du
|
|
pilote.</p>
|
|
|
|
<example><title>NSS sans base de données de certificats</title>
|
|
<highlight language="config">
|
|
SessionCryptoDriver nss
|
|
</highlight>
|
|
</example>
|
|
|
|
<example><title>NSS avec base de données de certificats</title>
|
|
<highlight language="config">
|
|
SessionCryptoDriver nss dir=certs
|
|
</highlight>
|
|
</example>
|
|
|
|
<example><title>NSS avec base de données de certificats et
|
|
paramètres</title>
|
|
<highlight language="config">
|
|
SessionCryptoDriver nss dir=certs clé3=clé3.db cert7=cert7.db secmod=secmod
|
|
</highlight>
|
|
</example>
|
|
|
|
<example><title>NSS avec chemins contenant des espaces</title>
|
|
<highlight language="config">
|
|
SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>Le pilote de chiffrement <var>NSS</var> peut avoir été configuré
|
|
au préalable dans une autre partie du serveur, par exemple depuis
|
|
<module>mod_nss</module> ou <module>mod_ldap</module>. Si c'est le
|
|
cas, un avertissement sera enregistré dans le journal, et la
|
|
configuration existante s'en trouvera affectée. Pour éviter cet
|
|
avertissement, utilisez le paramètre <code>noinit</code> comme suit :</p>
|
|
|
|
<example><title>NSS avec base de données de certificats</title>
|
|
<highlight language="config">
|
|
SessionCryptoDriver nss noinit
|
|
</highlight>
|
|
</example>
|
|
|
|
<p>Pour éviter la confusion, assurez-vous que tous les modules
|
|
utilisant NSS soient configurés avec des paramètres identiques.</p>
|
|
|
|
<p>Le pilote de chiffrement <var>openssl</var> accepte un paramètre
|
|
optionnel permettant de spécifier le moteur de chiffrement à
|
|
utiliser.</p>
|
|
|
|
<example><title>OpenSSL avec spécification du moteur de chiffrement</title>
|
|
<highlight language="config">
|
|
SessionCryptoDriver openssl engine=nom-moteur
|
|
</highlight>
|
|
</example>
|
|
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>SessionCryptoPassphrase</name>
|
|
<description>La clé utilisée pour chiffrer la session</description>
|
|
<syntax>SessionCryptoPassphrase <var>secret</var> [ <var>secret</var> ... ] </syntax>
|
|
<default>none</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.3.0
|
|
d'Apache</compatibility>
|
|
|
|
<usage>
|
|
<p>La directive <directive>SessionCryptoPassphrase</directive>
|
|
permet de spécifier les clés à utiliser pour chiffrer de manière
|
|
symétrique le contenu de la session avant de l'enregistrer, ou pour
|
|
déchiffrer le contenu de la session après sa lecture.</p>
|
|
|
|
<p>L'utilisation de clés longues et composées de caractères vraiment
|
|
aléatoires est plus performant en matière de sécurité. Modifier une
|
|
clé sur un serveur a pour effet d'invalider toutes les sessions
|
|
existantes.</p>
|
|
|
|
<p>Il est possible de spécifier plusieurs clés afin de mettre en
|
|
oeuvre la rotation de clés. La première clé spécifiée sera utilisée
|
|
pour le chiffrement, alors que l'ensemble des clés spécifiées le
|
|
sera pour le déchiffrement. Pour effectuer une rotation périodique
|
|
des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de
|
|
liste, puis, une fois la rotation complète effectuée, supprimez la
|
|
première clé de la liste.</p>
|
|
|
|
<p>Depuis la version 2.4.7, si la valeur de l'argument commence par <var>exec:</var> , la commande
|
|
spécifiée sera exécutée, et la première ligne que cette dernière
|
|
renverra sur la sortie standard sera utilisée comme clé.</p>
|
|
<example><pre>
|
|
# clé spécifiée et utilisée en tant que tel
|
|
SessionCryptoPassphrase secret
|
|
|
|
# exécution de /path/to/program pour générer la clé
|
|
SessionCryptoPassphrase exec:/path/to/program
|
|
|
|
# exécution de /path/to/program avec un argument pour générer la clé
|
|
SessionCryptoPassphrase "exec:/path/to/otherProgram argument1"
|
|
</pre></example>
|
|
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>SessionCryptoPassphraseFile</name>
|
|
<description>Le fichier contenant les clés utilisées pour chiffrer la
|
|
session</description>
|
|
<syntax>SessionCryptoPassphraseFile <var>nom-fichier</var></syntax>
|
|
<default>none</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility>
|
|
|
|
<usage>
|
|
<p>La directive <directive>SessionCryptoPassphraseFile</directive>
|
|
permet de spécifier le nom d'un fichier de configuration contenant
|
|
les clés à utiliser pour le chiffrement et le déchiffrement de la
|
|
session (une clé par ligne). Le fichier est lu au démarrage du
|
|
serveur, et un redémarrage graceful est nécessaire pour prendre en
|
|
compte un éventuel changement de clés.</p>
|
|
|
|
<p>À la différence de la directive
|
|
<directive>SessionCryptoPassphrase</directive>, les clés ne sont pas
|
|
présentes dans le fichier de configuration de httpd et peuvent être
|
|
cachées via une protection appropriée du fichier de clés.</p>
|
|
|
|
<p>Il est possible de spécifier plusieurs clés afin de mettre en
|
|
oeuvre la rotation de clés. La première clé spécifiée sera utilisée
|
|
pour le chiffrement, alors que l'ensemble des clés spécifiées le
|
|
sera pour le déchiffrement. Pour effectuer une rotation périodique
|
|
des clés sur plusieurs serveurs, ajoutez une nouvelle clé en fin de
|
|
liste, puis, une fois la rotation complète effectuée, supprimez la
|
|
première clé de la liste.</p>
|
|
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
<directivesynopsis>
|
|
<name>SessionCryptoCipher</name>
|
|
<description>L'algorithme à utiliser pour le chiffrement de la session</description>
|
|
<syntax>SessionCryptoCipher <var>algorithme</var></syntax>
|
|
<default>aes256</default>
|
|
<contextlist><context>server config</context>
|
|
<context>virtual host</context>
|
|
<context>directory</context>
|
|
<context>.htaccess</context>
|
|
</contextlist>
|
|
<compatibility>Disponible depuis la version 2.3.0 du serveur HTTP Apache</compatibility>
|
|
|
|
<usage>
|
|
<p>La directive <directive>SessionCryptoCipher</directive> permet de
|
|
spécifier l'algorithme à utiliser pour le chiffrement. En l'absence
|
|
de spécification, l'algorithme par défaut est <code>aes256</code>.</p>
|
|
|
|
<p>L'algorithme peut être choisi, en fonction du moteur de chiffrement
|
|
utilisé, parmi les valeurs suivantes :</p>
|
|
|
|
<ul><li>3des192</li><li>aes128</li><li>aes192</li><li>aes256</li></ul>
|
|
|
|
</usage>
|
|
</directivesynopsis>
|
|
|
|
</modulesynopsis>
|