<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Modules

Module Apache mod_session_crypto

Langues Disponibles:  en  |  fr 

Description:Support du chiffrement des sessions
Statut:Exp´┐Żrimental
Identificateur´┐Żde´┐ŻModule:session_crypto_module
Fichier´┐ŻSource:mod_session_crypto.c
Compatibilit´┐Ż:Disponible depuis la version 2.3 d'Apache

Sommaire

Avertissement

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.

Ce sous-module du module mod_session 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.

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.

Pour plus de d´┐Żtails ´┐Ż propos de l'interface des sessions, voir la documentation du module mod_session.

Directives

Sujets

Voir aussi

top

Utilisation de base

Pour cr´┐Żer une session chiffr´┐Że et la stocker dans un cookie nomm´┐Ż session, configurez la comme suit :

Session chiffr´┐Że stock´┐Że au niveau du serveur

Session On
SessionCookieName session path=/
SessionCryptoPassphrase secret

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.

Si la cl´┐Ż de chiffrement est modifi´┐Że, les sessions seront automatiquement invalid´┐Żes.

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 mod_auth_form.

top

SessionCryptoCipher Directive

Description:L'algorithme ´┐Ż utiliser pour le chiffrement de la session
Syntaxe:SessionCryptoCipher algorithme
D´┐Żfaut:aes256
Contexte:configuration du serveur, serveur virtuel, r´┐Żpertoire, .htaccess
Statut:Exp´┐Żrimental
Module:mod_session_crypto
Compatibilit´┐Ż:Disponible depuis la version 2.3.0 du serveur HTTP Apache

La directive SessionCryptoCipher permet de sp´┐Żcifier l'algorithme ´┐Ż utiliser pour le chiffrement. En l'absence de sp´┐Żcification, l'algorithme par d´┐Żfaut est aes256.

L'algorithme peut ´┐Żtre choisi, en fonction du moteur de chiffrement utilis´┐Ż, parmi les valeurs suivantes :

top

SessionCryptoDriver Directive

Description:Le pilote de chiffrement ´┐Ż utiliser pour chiffrer les sessions
Syntaxe:SessionCryptoDriver nom [param[=valeur]]
D´┐Żfaut:aucun
Contexte:configuration du serveur
Statut:Exp´┐Żrimental
Module:mod_session_crypto
Compatibilit´┐Ż:Disponible depuis la version 2.3.0 d'Apache

La directive SessionCryptoDriver 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.

Le pilote de chiffrement NSS 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.

NSS sans base de donn´┐Żes de certificats

SessionCryptoDriver nss

NSS avec base de donn´┐Żes de certificats

SessionCryptoDriver nss dir=certs

NSS avec base de donn´┐Żes de certificats et param´┐Żtres

SessionCryptoDriver nss dir=certs cl´┐Ż3=cl´┐Ż3.db cert7=cert7.db secmod=secmod

NSS avec chemins contenant des espaces

SessionCryptoDriver nss "dir=My Certs" key3=key3.db cert7=cert7.db secmod=secmod

Le pilote de chiffrement NSS peut avoir ´┐Żt´┐Ż configur´┐Ż au pr´┐Żalable dans une autre partie du serveur, par exemple depuis mod_nss ou mod_ldap. 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 noinit comme suit :

NSS avec base de donn´┐Żes de certificats

SessionCryptoDriver nss noinit

Pour ´┐Żviter la confusion, assurez-vous que tous les modules utilisant NSS soient configur´┐Żs avec des param´┐Żtres identiques.

Le pilote de chiffrement openssl accepte un param´┐Żtre optionnel permettant de sp´┐Żcifier le moteur de chiffrement ´┐Ż utiliser.

OpenSSL avec sp´┐Żcification du moteur de chiffrement

SessionCryptoDriver openssl engine=nom-moteur
top

SessionCryptoPassphrase Directive

Description:La cl´┐Ż utilis´┐Że pour chiffrer la session
Syntaxe:SessionCryptoPassphrase secret [ secret ... ]
D´┐Żfaut:none
Contexte:configuration du serveur, serveur virtuel, r´┐Żpertoire, .htaccess
Statut:Exp´┐Żrimental
Module:mod_session_crypto
Compatibilit´┐Ż:Disponible depuis la version 2.3.0 d'Apache

La directive SessionCryptoPassphrase 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.

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.

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.

Depuis la version 2.4.7, si la valeur de l'argument commence par exec: , 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´┐Ż.

# 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"
top

SessionCryptoPassphraseFile Directive

Description:Le fichier contenant les cl´┐Żs utilis´┐Żes pour chiffrer la session
Syntaxe:SessionCryptoPassphraseFile nom-fichier
D´┐Żfaut:none
Contexte:configuration du serveur, serveur virtuel, r´┐Żpertoire
Statut:Exp´┐Żrimental
Module:mod_session_crypto
Compatibilit´┐Ż:Disponible depuis la version 2.3.0 du serveur HTTP Apache

La directive SessionCryptoPassphraseFile 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.

´┐Ż la diff´┐Żrence de la directive SessionCryptoPassphrase, 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.

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.

Langues Disponibles:  en  |  fr 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.