From 6fa20f99b998e4f7750c825e0eda719965f7d5f1 Mon Sep 17 00:00:00 2001
From: Lucien Gentis Historiquement, il existe de nombreuses variantes dans la syntaxe
des expressions permettant d'exprimer une condition dans les
- différents modules du serveur HTTP Apache. À ce titre, des travaux sont
- en cours pour n'utiliser qu'une seule variante nommée
+ différents modules du serveur HTTP Apache. à ce titre, des travaux sont
+ en cours pour n'utiliser qu'une seule variante nommée
ap_expr, pour toutes les directives de configuration. Ce
- document décrit l'interpréteur d'expressions ap_expr.
+ document décrit l'interpréteur d'expressions ap_expr.
Le type d'expression ap_expr est appelé à remplacer la
+ Le type d'expression ap_expr est appelé à remplacer la
plupart des autres types d'expressions dans HTTPD. Par exemple, la
- directive obsolète La Forme de Backus-Naur
- (souvent abrégée en BNF, de l'anglais Backus-Naur Form) est une notation permettant de décrire
- les règles syntaxiques des langages de programmation. En
- général, les expressions représentent des valeurs booléennes. Dans
- ce cas, le point de départ de la BNF est L'interpréteur d'expressions fournit plusieurs variables de la
+ L'interpréteur d'expressions fournit plusieurs variables de la
forme Les variables suivantes contiennent la valeur de l'en-tête de
- requête HTTP correspondant. La fonction
+ peut dépendre de la phase du traitement de la requête au cours de
+ laquelle elle est évaluée. Par exemple, une expression utilisée dans
+ une directive Les variables suivantes contiennent la valeur de l'en-tête de
+ requête HTTP correspondant. La fonction
Autres variables liées aux requêtes Autres variables liées aux requêtes Certains modules, comme Certains modules, comme À l'exception de quelques opérateurs de comparaison internes, les
- opérateurs binaires sont de la forme
+ à l'exception de quelques opérateurs de comparaison internes, les
+ opérateurs binaires sont de la forme
"expr
.
+ (souvent abrégée en BNF, de l'anglais Backus-Naur Form) est une notation permettant de décrire
+ les règles syntaxiques des langages de programmation. En
+ général, les expressions représentent des valeurs booléennes. Dans
+ ce cas, le point de départ de la BNF est expr
.
Cependant, certaines directives comme string
.
@@ -154,21 +157,21 @@ listfunction ::= listfuncname "(" word ")"
%{HTTP_HOST}
. Notez que la valeur d'une variable
- peut dépendre de la phase du traitement de la requête au cours de
- laquelle elle est évaluée. Par exemple, une expression utilisée dans
- une directive %{REMOTE_USER}
ne sera pas encore définie à ce stade.%{REMOTE_USER}
ne sera pas encore définie à ce stade.req
permet d'extraire les valeurs des autres
- en-têtes. L'utilisation de ces variables peut provoquer
- l'ajout du nom d'en-tête correspondant à l'en-tête Vary de la
- réponse HTTP, sauf spécification contraire pour la directive
- qui accepte l'expression comme paramètre. La function req_novary
permet de
modifier ce comportement.
- Nom Description
- REQUEST_METHOD
La méthode HTTP de la requête entrante (par exemple
+ La méthode HTTP de la requête entrante (par exemple
GET
)
+
- REQUEST_SCHEME
Le protocole associé à l'URI de la requête Le protocole associé à l'URI de la requête
+
- REQUEST_URI
La partie chemin de l'URI de la requête La partie chemin de l'URI de la requête
DOCUMENT_URI
Idem REQUEST_URI
+
- REQUEST_FILENAME
Le chemin complet dans le système de fichiers local du
- fichier ou du script correspondant à la requête, si le serveur
- l'a dèjà déterminé à l'instant où REQUEST_FILENAME
- est référencée. Dans le cas contraire, comme dans un
- contexte de serveur virtuel, même valeur que REQUEST_URI
Le chemin complet dans le système de fichiers local du
+ fichier ou du script correspondant à la requête, si le serveur
+ l'a dèjà déterminé à l'instant où
REQUEST_FILENAME
+ est référencée. Dans le cas contraire, comme dans un
+ contexte de serveur virtuel, même valeur que REQUEST_URI
+
- SCRIPT_FILENAME
Identique à REQUEST_FILENAME
Identique Ã
REQUEST_FILENAME
- LAST_MODIFIED
La date et heure de dernière modification du fichier au
- format 20101231235959
, si elle est déjà connue du
- serveur au moment où LAST_MODIFIED
est référencé.
+ La date et heure de dernière modification du fichier au
+ format 20101231235959
, si elle est déjà connue du
+ serveur au moment où LAST_MODIFIED
est référencé.
+
- SCRIPT_USER
Le nom d'utilisateur du propriétaire du script. Le nom d'utilisateur du propriétaire du script.
SCRIPT_GROUP
Le nom du groupe auquel appartient le script.
- PATH_INFO
L'information relative au nom de chemin située en fin, voir
+ L'information relative au nom de chemin située en fin, voir
la directive
+
- QUERY_STRING
La chaîne de paramètres de la requête courante La chaîne de paramètres de la requête courante
+
- IS_SUBREQ
" true
" si la requête courante est une
- sous-requête, "false
" dans le cas contraire"
true
" si la requête courante est une
+ sous-requête, "false
" dans le cas contraire
- THE_REQUEST
La requête complète (par exemple " GET /index.html
+
La requête complète (par exemple " GET /index.html
HTTP/1.1
")
+
- REMOTE_ADDR
L'adresse IP de l'hôte distant L'adresse IP de l'hôte distant
+
- REMOTE_HOST
Le nom d'hôte de l'hôte distant Le nom d'hôte de l'hôte distant
- REMOTE_USER
Le nom de l'utilisateur authentifié, s'il existe (non
- disponible à l'intérieur d'un bloc Le nom de l'utilisateur authentifié, s'il existe (non
+ disponible à l'intérieur d'un bloc
+
- REMOTE_IDENT
Le nom de l'utilisateur défini par Le nom de l'utilisateur défini par
SERVER_NAME
La valeur de la directive
- SERVER_PORT
Le port associé au serveur virtuel courant ; voir la
+ Le port associé au serveur virtuel courant ; voir la
directive SERVER_ADMIN
La valeur de la directive
+
- SERVER_PROTOCOL
Le protocole utilisé par la requête Le protocole utilisé par la requête
DOCUMENT_ROOT
La valeur de la directive basic
")
- CONTENT_TYPE
Le type de contenu de la réponse (non
- disponible à l'intérieur d'un bloc Le type de contenu de la réponse (non
+ disponible à l'intérieur d'un bloc
+ généré la réponse
HANDLER
Le nom du gestionnaire qui a
- généré la réponse
- HTTPS
" on
" si la requête utilise https,
+ " on
" si la requête utilise https,
"off
" dans le cas contraireIPV6
" on
" si la connexion utilise IPv6,
"off
" dans le cas contraire
- REQUEST_STATUS
Le code d'erreur HTTP de la requête (non
- disponible à l'intérieur d'un bloc Le code d'erreur HTTP de la requête (non
+ disponible à l'intérieur d'un bloc
- REQUEST_LOG_ID
L'identifiant du message d'erreur associé à la requête (voir
+ L'identifiant du message d'erreur associé à la requête (voir
la directive
- CONN_LOG_ID
L'identifiant du message d'erreur associé à la connexion
+ L'identifiant du message d'erreur associé à la connexion
(voir la directive
@@ -300,7 +303,7 @@ listfunction ::= listfuncname "(" word ")"
CONN_REMOTE_ADDR
Nom Description
+
- TIME_YEAR
L'année courante (par exemple 2010
)L'année courante (par exemple
2010
)TIME_MON
Le mois courant ( 1
, ..., 12
)
@@ -313,32 +316,32 @@ listfunction ::= listfuncname "(" word ")"
TIME_DAY
TIME_SEC
Les secondes de la date courante
- TIME_WDAY
Le jour de la semaine (à partir de 0
pour
+ Le jour de la semaine (Ã partir de 0
pour
dimanche)TIME
La date et heure au format 20101231235959
+
- SERVER_SOFTWARE
La chaîne contenant la version du serveur La chaîne contenant la version du serveur
API_VERSION
La date de la version de l'API (module magic number) -[a-zA-Z][a-zA-Z0-9_]+
", autrement dit un signe moins
- et au moins deux caractères. Le nom est insensible à la casse. Les
- modules peuvent fournir des opérateurs binaires supplémentaires.
Nom | Alternative | Description |
---|---|---|
== |
= |
- Egalité de chaînes | Egalité de chaînes |
!= |
- | Inégalité de chaînes | Inégalité de chaînes |
< |
- | Chaîne inférieure à | Chaîne inférieure à |
<= |
- | Chaîne inférieure ou égale à | Chaîne inférieure ou égale à |
> |
- | Chaîne supérieure à | Chaîne supérieure à |
>= |
- | Chaîne supérieure ou égale à | Chaîne supérieure ou égale à |
-eq |
eq |
- Egalité d'entiers | Egalité d'entiers |
-ne |
ne |
- Inégalité d'entiers | Inégalité d'entiers |
-lt |
lt |
- Entier inférieur à | Entier inférieur à |
-le |
le |
- Entier inférieur ou égal à | Entier inférieur ou égal à |
-gt |
gt |
- Entier supérieur à | Entier supérieur à |
-ge |
ge |
- Entier supérieur ou égal à | Entier supérieur ou égal à |
Nom | Description |
---|---|
-ipmatch |
- L'adresse IP correspond à adresse/masque | L'adresse IP correspond à adresse/masque |
-strmatch |
- la chaîne de gauche correspond au modèle constitué par la - chaîne de droite (contenant des caractères génériques *, ?, []) | la chaîne de gauche correspond au modèle constitué par la + chaîne de droite (contenant des caractères génériques *, ?, []) |
-strcmatch |
- idem -strmatch , mais insensible à la casse | idem -strmatch , mais insensible à la casse |
-fnmatch |
idem -strmatch , mais les slashes ne sont pas
- pris en compte par les caractères génériques |
Les opérateurs unaires acceptent un seul argument et sont +
Les opérateurs unaires acceptent un seul argument et sont
de la forme "-[a-zA-Z]
",
- autrement dit le signe moins et un caractère. Le nom est
- sensible à la casse. Les modules peuvent fournir des opérateurs
- unaires supplémentaires.
Nom | Description | Restreint | |
---|---|---|---|
-d |
- L'argument est traité comme un nom de fichier. - Vrai si le fichier existe et correspond à un - répertoire | oui | L'argument est traité comme un nom de fichier. + Vrai si le fichier existe et correspond à un + répertoire | oui |
-e |
- L'argument est traité comme un nom de fichier. Vrai si le + | L'argument est traité comme un nom de fichier. Vrai si le fichier (ou dir ou special) existe | oui |
-f |
- L'argument est traité comme un nom de fichier. Vrai si le - fichier existe et correspond à un fichier - régulier | oui | L'argument est traité comme un nom de fichier. Vrai si le + fichier existe et correspond à un fichier + régulier | oui |
-s |
- L'argument est traité comme un nom de fichier. Vrai si le + | L'argument est traité comme un nom de fichier. Vrai si le fichier existe et n'est pas vide | oui |
-L |
- L'argument est traité comme un nom de fichier. Vrai si le - fichier existe et correspond à un lien + | L'argument est traité comme un nom de fichier. Vrai si le + fichier existe et correspond à un lien symbolique | oui |
-h |
- L'argument est traité comme un nom de fichier. Vrai si le
- fichier existe et correspond à un lien symbolique
- (identique à -L ) | oui | L'argument est traité comme un nom de fichier. Vrai si le
+ fichier existe et correspond à un lien symbolique
+ (identique à -L ) | oui |
-F |
- Vrai si la chaîne correspond a un fichier valide, accessible - avec tous les contrôles d'accès configurés pour ce chemin. A - cette fin, une sous-requête effectue la vérification, et vous + | Vrai si la chaîne correspond a un fichier valide, accessible + avec tous les contrôles d'accès configurés pour ce chemin. A + cette fin, une sous-requête effectue la vérification, et vous devez utiliser ce drapeau avec soin car il peut impacter les performances de votre serveur ! | |
-U |
- Vrai si la chaîne correspond a une URL valide, accessible - avec tous les contrôles d'accès configurés pour ce chemin. A - cette fin, une sous-requête effectue la vérification, et vous + | Vrai si la chaîne correspond a une URL valide, accessible + avec tous les contrôles d'accès configurés pour ce chemin. A + cette fin, une sous-requête effectue la vérification, et vous devez utiliser ce drapeau avec soin car il peut impacter les performances de votre serveur ! | |
-A |
Alias pour -U | ||
-n |
- Vrai si la chaîne n'est pas vide | Vrai si la chaîne n'est pas vide | |
-z |
- Vrai si la chaîne est vide | Vrai si la chaîne est vide | |
-T |
- Faux si la chaîne est vide, "0 ",
+ | Faux si la chaîne est vide, "0 ",
"off ", "false ", ou "no "
- (insensibilité à la casse). Vrai dans le cas contraire. | |
-R |
Idem "%{REMOTE_ADDR} -ipmatch ... ", en plus
efficace
|
Les opérateurs marqués comme "restreints" ne sont pas disponibles +
Les opérateurs marqués comme "restreints" ne sont pas disponibles
avec certains modules comme
Normalement, les fonctions dont la valeur est une chaîne acceptent une chaîne - comme argument et renvoient une chaîne. Les noms de fonctions sont - insensibles à la casse. Les modules peuvent fournir des fonctions - supplémentaires.
+Normalement, les fonctions dont la valeur est une chaîne acceptent une chaîne + comme argument et renvoient une chaîne. Les noms de fonctions sont + insensibles à la casse. Les modules peuvent fournir des fonctions + supplémentaires.
Nom | Description | Restreint | |
---|---|---|---|
req , http |
- Lit l'en-tête de requête HTTP ; les noms - d'en-tête correspondants peuvent être ajoutés - à l'en-tête Vary, + | Lit l'en-tête de requête HTTP ; les noms + d'en-tête correspondants peuvent être ajoutés + à l'en-tête Vary, voir ci-dessous | |
req_novary |
- Identique à req , mais aucun nom d'en-tête n'est
- ajouté à l'en-tête Vary | Identique à req , mais aucun nom d'en-tête n'est
+ ajouté à l'en-tête Vary | |
resp |
- Lit l'en-tête de réponse HTTP | Lit l'en-tête de réponse HTTP | |
reqenv |
- Recherche une variable d'environnement de requête (on + | Recherche une variable d'environnement de requête (on
peut aussi utiliser le raccourci v ). | |
osenv |
- Recherche une variable d'environnement du système + | Recherche une variable d'environnement du système d'exploitation | |
note |
- Recherche une note de requête | Recherche une note de requête | |
env |
- Renvoie le premier résultat positif de note ,
+ | Renvoie le premier résultat positif de note ,
reqenv , osenv | |
tolower |
- Convertit une chaîne en minuscules | Convertit une chaîne en minuscules | |
toupper |
- Convertit une chaîne en majuscules | Convertit une chaîne en majuscules | |
escape |
- Echappe les caractères spéciaux en codage hexadécimal | Echappe les caractères spéciaux en codage hexadécimal | |
unescape |
- "Déséchappe" les chaînes codées - en hexadécimal, en ne gardant encodés que les slashes; renvoie la chaîne vide - si la séquence %00 est rencontrée | "Déséchappe" les chaînes codées + en hexadécimal, en ne gardant encodés que les slashes; renvoie la chaîne vide + si la séquence %00 est rencontrée | |
base64 |
- Encode la chaîne en base64 | Encode la chaîne en base64 | |
unbase64 |
- Décode les chaînes codées en base64, renvoie une chaîne - tronquée si le caractère 0x00 est rencontré | Décode les chaînes codées en base64, renvoie une chaîne + tronquée si le caractère 0x00 est rencontré | |
md5 |
- Génère un hash de la chaîne en utilisant MD5, puis code le - hash obtenu en hexadécimal | Génère un hash de la chaîne en utilisant MD5, puis code le + hash obtenu en hexadécimal | |
sha1 |
- Génère un hash de la chaîne en utilisant SHA1, puis encode - le hash obtenu en hexadécimal | Génère un hash de la chaîne en utilisant SHA1, puis encode + le hash obtenu en hexadécimal | |
file |
Lit le contenu d'un fichier(fins de lignes incluses, si elles existent) | oui | |
filesize |
Renvoie la taille d'un fichier (ou 0 si le fichier n'existe - pas ou ne correspond pas à un fichier régulier) | oui | oui |
Les fonctions marquées comme "restreints" ne sont pas disponibles +
Les fonctions marquées comme "restreints" ne sont pas disponibles
avec certains modules comme
Lorsque les fonctions req
ou http
sont
- utilisées, le nom d'en-tête sera automatiquement ajouté à l'en-tête
- Vary de la réponse HTTP, sauf spécification contraire pour la
- directive qui accepte l'expression comme paramètre. La
- fonction req_novary
permet d'empêcher l'ajout de noms
- d'en-têtes à l'en-tête Vary.
req_novary
permet d'empêcher l'ajout de noms
+ d'en-têtes à l'en-tête Vary.
- En plus des fonctions dont la valeur est une chaîne, il existe +
En plus des fonctions dont la valeur est une chaîne, il existe
aussi des fonctions dont la valeur est une liste, qui acceptent une
- chaîne comme argument, et renvoient une liste de mots, autrement dit
- une liste de chaînes. La liste de mot peut être utilisée avec
- l'opérateur spécial -in
. Les noms de fonctions sont
- insensibles à la casse. Les modules peuvent fournir des fonctions
- supplémentaires.
-in
. Les noms de fonctions sont
+ insensibles à la casse. Les modules peuvent fournir des fonctions
+ supplémentaires.
Il n'existe pas de fonctions internes dont la valeur est une
liste. Le module PeerExtList
. Voir la description de la directive
PeerExtList
peut aussi
- être utilisée en dehors de la directive
Les exemples suivants montent comment utiliser les - expressions pour évaluer les requêtes :
+ expressions pour évaluer les requêtes :-in
in
/regexp/
m#regexp#
/regexp/i
m#regexp#i
$0 ... $9
Les chaînes $0
... $9
permettent de
- référencer les groupes de capture en provenance d'expressions
- rationnelles précédemment exécutées et mises en correspondance avec
- succès. Elles ne peuvent normalement être utilisées que dans la
- même expression que celle mise en correspondance, mais certains
- modules permettent de les utiliser de manière spéciale.
Les chaînes $0
... $9
permettent de
+ référencer les groupes de capture en provenance d'expressions
+ rationnelles précédemment exécutées et mises en correspondance avec
+ succès. Elles ne peuvent normalement être utilisées que dans la
+ même expression que celle mise en correspondance, mais certains
+ modules permettent de les utiliser de manière spéciale.
La syntaxe ap_expr consiste principalement en une
- surcouche de la syntaxe de la directive obsolète
La fonction req_novary
est
- disponible à partir de la version 2.4.4 du serveur HTTP Apache.
L'authentification représente tout processus par lequel vous - vérifiez si quelqu'un correspond bien à la personne qu'il - prétend être. L'autorisation représente tout processus - permettant de savoir si une personne est autorisée à aller là où - elle veut aller, ou à obtenir les informations qu'elle demande.
+L'authentification représente tout processus par lequel vous + vérifiez si quelqu'un correspond bien à la personne qu'il + prétend être. L'autorisation représente tout processus + permettant de savoir si une personne est autorisée à aller là où + elle veut aller, ou à obtenir les informations qu'elle demande.
Le contrôle d'accès se réfère au processus permettant - d'interdire ou d'accorder l'accès à une ressource en fonction de - certains critères, et il existe de nombreuses façons d'y +
Le contrôle d'accès se réfère au processus permettant + d'interdire ou d'accorder l'accès à une ressource en fonction de + certains critères, et il existe de nombreuses façons d'y parvenir.
-Voir Contrôle d'accès
+Voir Contrôle d'accès
L'interface CGI (Common Gateway Interface) - fournit au serveur web une méthode d'interaction avec des - programmes externes générateurs de contenu, souvent nommés - programmes CGI ou scripts CGI. Il s'agit d'une méthode + fournit au serveur web une méthode d'interaction avec des + programmes externes générateurs de contenu, souvent nommés + programmes CGI ou scripts CGI. Il s'agit d'une méthode simple permettant d'ajouter du contenu - dynamique à votre site web. Ce document se veut une introduction - à la configuration de CGI sur votre serveur web Apache et à - l'écriture de programmes CGI.
+ dynamique à votre site web. Ce document se veut une introduction + à la configuration de CGI sur votre serveur web Apache et à + l'écriture de programmes CGI..htaccess
Les fichiers .htaccess
permettent de modifier la
- configuration du serveur au niveau de chaque répertoire. À cet
- effet, un fichier est placé dans un répertoire particulier du site
- web, et les directives de configuration qu'il contient s'appliquent à ce
- répertoire et à tous ses sous-répertoires.
Voir Fichiers .htaccess
Les SSI sont des directives que l'on place dans des pages - HTML, et qui sont évaluées par le serveur lorsque ces pages sont - servies. Elles vous permettent d'ajouter du contenu généré - dynamiquement à une page HTML existante, sans avoir à servir - l'intégralité de la page via un programme CGI, ou toute autre + HTML, et qui sont évaluées par le serveur lorsque ces pages sont + servies. Elles vous permettent d'ajouter du contenu généré + dynamiquement à une page HTML existante, sans avoir à servir + l'intégralité de la page via un programme CGI, ou toute autre technologie dynamique.
@@ -101,20 +101,36 @@Sur les systèmes multi-utilisateurs, vous pouvez permettre à - chaque utilisateur d'avoir un site web dans son répertoire home +
Sur les systèmes multi-utilisateurs, vous pouvez permettre Ã
+ chaque utilisateur d'avoir un site web dans son répertoire home
via la directive http://example.com/~nom-utilisateur/
vont recevoir
- du contenu situé dans le répertoire home de l'utilisateur
- "nom-utilisateur
", et dans le sous-répertoire
- spécifié par la directive
Voir Répertoires web des utilisateurs (public_html
)
public_html
)
+ Apache httpd possède des fonctionnalités évoluées de serveur
+ mandataire inverse via ses directives
Pour pouvoir fonctionner, ce module requiert le
- chargement de HTTP
,
- FTP
et AJP13
.
-
L'algorithme de planification de la répartition de charge est
- fourni par des modules tels que
-
Ainsi, pour mettre en oeuvre la répartition de charge,
+ chargement de
L'algorithme de planification de la répartition de charge n'est pas + fourni par ce module, mais par ceux-ci :
+Ainsi, pour mettre en oeuvre la répartition de charge,
N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les +
N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les serveurs mandataires ouverts sont dangereux non seulement pour - votre réseau, mais aussi pour l'Internet au sens large.
+ votre réseau, mais aussi pour l'Internet au sens large.A l'heure actuelle, 3 algorithmes de planification de la
- répartition de charge sont disponibles : ils se basent
- respectivement sur le comptage des requêtes, la mesure du trafic et
- le comptage des requêtes en attente. Ils sont contrôlés par la
- valeur de lbmethod
dans la définition du répartiteur.
+ répartition de charge sont disponibles : ils se basent
+ respectivement sur le comptage des requêtes, la mesure du trafic et
+ le comptage des requêtes en attente. Ils sont contrôlés par la
+ valeur de lbmethod
dans la définition du répartiteur.
Voir la directive
Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une - requête est mandatée vers un serveur d'arrière-plan particulier, - toutes les requêtes suivantes du même utilisateur seront alors - mandatées vers le même serveur d'arrière-plan. De nombreux - répartiteurs de charge implémentent cette fonctionnalité via une +
Le répartiteur supporte l'abonnement utilisateur. Lorsqu'une + requête est mandatée vers un serveur d'arrière-plan particulier, + toutes les requêtes suivantes du même utilisateur seront alors + mandatées vers le même serveur d'arrière-plan. De nombreux + répartiteurs de charge implémentent cette fonctionnalité via une table qui associe les adresses IP des clients aux serveurs - d'arrière-plan. Cette approche est transparente aux clients et aux - serveurs d'arrière-plan, mais induit certains problèmes : - distribution de charge inégale si les clients se trouvent eux-mêmes - derrière un mandataire, erreurs d'abonnement lorsqu'un client - possède une adresse IP dynamique qui peut changer au cours d'une - session et perte d'abonnement en cas de dépassement de la table de + d'arrière-plan. Cette approche est transparente aux clients et aux + serveurs d'arrière-plan, mais induit certains problèmes : + distribution de charge inégale si les clients se trouvent eux-mêmes + derrière un mandataire, erreurs d'abonnement lorsqu'un client + possède une adresse IP dynamique qui peut changer au cours d'une + session et perte d'abonnement en cas de dépassement de la table de correspondances.
-Le module
Le module
Avant de nous plonger dans les détails techniques, voici un +
Avant de nous plonger dans les détails techniques, voici un
exemple d'utilisation de
Voici un autre exemple de répartiteur de charge avec +
Voici un autre exemple de répartiteur de charge avec
abonnement utilisant
A l'heure actuelle, 6 variables d'environnement sont exportées :
+A l'heure actuelle, 6 variables d'environnement sont exportées :
Cette variable se voir assignée la valeur de - stickysession pour la requête courante. Il s'agit du - nom du cookie ou du paramètre de requête utilisé pour les sessions +
Cette variable se voir assignée la valeur de + stickysession pour la requête courante. Il s'agit du + nom du cookie ou du paramètre de requête utilisé pour les sessions avec abonnement.
Cette variable se voit assignée la route interprétée - pour la requête courante.
+Cette variable se voit assignée la route interprétée + pour la requête courante.
Cette variable se voit assigné le nom du répartiteur pour la - requête courante. Il s'agit d'une valeur du style +
Cette variable se voit assigné le nom du répartiteur pour la
+ requête courante. Il s'agit d'une valeur du style
balancer://foo
.
Cette variable se voit assigné le nom du membre du groupe de - répartition de charge utilisé pour la requête courante. Il s'agit +
Cette variable se voit assigné le nom du membre du groupe de
+ répartition de charge utilisé pour la requête courante. Il s'agit
d'une valeur du style http://hostA:1234
.
Cette variable se voit assignée la route du membre du - groupe de répartition de charge qui sera utilisé pour la requête +
Cette variable se voit assignée la route du membre du + groupe de répartition de charge qui sera utilisé pour la requête courante.
Cette variable est définie à 1 si la route de la session ne - correspond pas à celle du membre du groupe de répartition de charge +
Cette variable est définie à 1 si la route de la session ne + correspond pas à celle du membre du groupe de répartition de charge (BALANCER_SESSION_ROUTE != BALANCER_WORKER_ROUTE), ou si la session - ne possède pas encore de route établie. Elle peut servir à - déterminer quand il est éventuellement nécessaire d'envoyer au - client une route mise à jour lorsque les sessions persistantes sont - utilisées.
+ ne possède pas encore de route établie. Elle peut servir à + déterminer quand il est éventuellement nécessaire d'envoyer au + client une route mise à jour lorsque les sessions persistantes sont + utilisées.Cette fonctionnalité nécessite le chargement du module
-
Cette fonctionnalité nécessite le chargement du module
+
Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge, +
Ainsi, pour mettre en oeuvre la gestion du répartiteur de charge,
Pour permettre la gestion du répartiteur de charge aux - navigateurs appartenant au domaine example.com, ajoutez ces lignes à +
Pour permettre la gestion du répartiteur de charge aux
+ navigateurs appartenant au domaine example.com, ajoutez ces lignes Ã
votre fichier de configuration httpd.conf
:
Vous pourrez alors accéder au gestionnaire du répartiteur de +
Vous pourrez alors accéder au gestionnaire du répartiteur de
charge en utilisant un navigateur web pour afficher la page
http://nom.de.votre.serveur/balancer-manager
. Notez que
- pour pouvoir contrôler dynamiquement un membre de groupe de
- répartition, ce dernier ne doit pas être défini au sein d'une
+ pour pouvoir contrôler dynamiquement un membre de groupe de
+ répartition, ce dernier ne doit pas être défini au sein d'une
section <Location ...>
.
Si l'abonnement s'appuie sur un cookie, vous devez définir le nom - de ce cookie dont le contenu précise le serveur d'arrière-plan à +
Si l'abonnement s'appuie sur un cookie, vous devez définir le nom
+ de ce cookie dont le contenu précise le serveur d'arrière-plan Ã
utiliser. Pour ce faire, on utilise l'attribut
stickysession avec la directive
Certains serveurs d'arrière-plan, tels qu'Apache Tomcat, - utilisent une forme sensiblement différente de cookie d'abonnement. - Tomcat ajoute le nom de l'instance Tomcat à la fin de son - identifiant de session, précédé par un point. Ainsi, si le serveur + lui-même.
+Certains serveurs d'arrière-plan, tels qu'Apache Tomcat,
+ utilisent une forme sensiblement différente de cookie d'abonnement.
+ Tomcat ajoute le nom de l'instance Tomcat à la fin de son
+ identifiant de session, précédé par un point. Ainsi, si le serveur
web Apache trouve un point dans la valeur du cookie d'abonnement, il
- n'utilisera que la partie située après ce point pour
- rechercher sa route. Pour que Tomcat puisse connaître son nom
- d'instance, vous devez définir l'attribut jvmRoute
dans
- son fichier de configuration conf/server.xml
à la
+ n'utilisera que la partie située après ce point pour
+ rechercher sa route. Pour que Tomcat puisse connaître son nom
+ d'instance, vous devez définir l'attribut jvmRoute
dans
+ son fichier de configuration conf/server.xml
à la
valeur de la route du serveur qui se connecte au Tomcat
- considéré. Le nom du cookie de session utilisé par Tomcat (et plus
- généralement par les applications web Java à base de servlets) est
- JSESSIONID
(en majuscules), mais peut être modifié.
JSESSIONID
(en majuscules), mais peut être modifié.
- La seconde méthode pour implémenter l'abonnement est le codage - d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la - requête. Le nom du paramètre est spécifié par l'attribut +
La seconde méthode pour implémenter l'abonnement est le codage
+ d'URL. Ici, le serveur web recherche un paramètre dans l'URL de la
+ requête. Le nom du paramètre est spécifié par l'attribut
stickysession. Pour trouver un serveur membre, on
- recherche un serveur dont la route est égale à la valeur
- du paramètre. Comme il n'est pas aisé d'extraire et de manipuler
- tous les liens URL contenus dans les réponses, le travail consistant
- à ajouter les paramètres à chaque lien est généralement effectué par
- le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit
+ recherche un serveur dont la route est égale à la valeur
+ du paramètre. Comme il n'est pas aisé d'extraire et de manipuler
+ tous les liens URL contenus dans les réponses, le travail consistant
+ à ajouter les paramètres à chaque lien est généralement effectué par
+ le serveur d'arrière-plan qui génère le contenu. Bien qu'il soit
possible dans certains cas d'effectuer ces ajouts au niveau du
serveur web via les modules
Les standards Java implémentent le codage d'URL de manière - sensiblement différente. Ils ajoutent une information de chemin à +
Les standards Java implémentent le codage d'URL de manière
+ sensiblement différente. Ils ajoutent une information de chemin Ã
l'URL en utilisant un point-virgule (;
) comme
- séparateur, puis ajoutent enfin l'identifiant de session. Comme dans
- le cas des cookies, Apache Tomcat peut insérer la valeur de
+ séparateur, puis ajoutent enfin l'identifiant de session. Comme dans
+ le cas des cookies, Apache Tomcat peut insérer la valeur de
l'attribut jvmRoute
dans cette information de chemin.
Pour qu'Apache puisse trouver ce genre d'information de chemin, vous
- devez définir scolonpathdelim
à On
dans la
+ devez définir scolonpathdelim
à On
dans la
directive
Enfin, vous pouvez utiliser simultanément les cookies et le codage
- d'URL en définissant le nom du cookie et le nom du paramètre d'URL
- séparés par une barre verticale (|
) comme dans
+
Enfin, vous pouvez utiliser simultanément les cookies et le codage
+ d'URL en définissant le nom du cookie et le nom du paramètre d'URL
+ séparés par une barre verticale (|
) comme dans
l'exemple suivant :
Si le cookie et le paramètre de requête fournissent tous deux une - information de route correcte pour la même requête, c'est - l'information en provenance du paramètre de requête qui sera +
Si le cookie et le paramètre de requête fournissent tous deux une + information de route correcte pour la même requête, c'est + l'information en provenance du paramètre de requête qui sera retenue.
Si vous êtes confronté à des erreurs d'abonnement, comme la - nécessité pour les utilisateurs de se reconnecter suite à une perte - de session d'application, vous devez tout d'abord vérifier si ceci - n'est pas du à une indisponibilité sporadique des serveurs - d'arrière-plan ou à une erreur de configuration. La présence de +
Si vous êtes confronté à des erreurs d'abonnement, comme la + nécessité pour les utilisateurs de se reconnecter suite à une perte + de session d'application, vous devez tout d'abord vérifier si ceci + n'est pas du à une indisponibilité sporadique des serveurs + d'arrière-plan ou à une erreur de configuration. La présence de messages d'erreur de type proxy dans le journal des erreurs d'Apache - pourra révéler des problèmes de stabilité au niveau des serveurs - d'arrière-plan.
-Pour contrôler votre configuration, regardez tout d'abord si
- l'abonnement est à base de cookie ou de codage d'URL. L'étape
- suivante consiste à enregistrer certaines données dans le journal
- des accès en utilisant un
Pour contrôler votre configuration, regardez tout d'abord si
+ l'abonnement est à base de cookie ou de codage d'URL. L'étape
+ suivante consiste à enregistrer certaines données dans le journal
+ des accès en utilisant un
%{MONCOOKIE}C
MONCOOKIE
.
- Le nom doit correspondre au nom défini par l'attribut
+ Le nom doit correspondre au nom défini par l'attribut
stickysession.%{Set-Cookie}o
%{BALANCER_SESSION_STICKY}e
%{BALANCER_SESSION_ROUTE}e
%{BALANCER_WORKER_ROUTE}e
%{BALANCER_ROUTE_CHANGED}e
1
si la route extraite de la
- requête est différente de la route du serveur ; autrement dit, le
- traitement de la requête n'a pas pu être effectué dans le cadre
- d'une répartition de charge par abonnement.Les pertes de session sont souvent dues à des expirations de - session dont la valeur peut en général être configurée au niveau du - serveur d'arrière-plan.
-Si le niveau de journalisation est défini à debug
ou
- plus, le répartiteur journalise aussi des informations détaillées à
+
Les pertes de session sont souvent dues à des expirations de + session dont la valeur peut en général être configurée au niveau du + serveur d'arrière-plan.
+Si le niveau de journalisation est défini à debug
ou
+ plus, le répartiteur journalise aussi des informations détaillées Ã
propos de l'abonnement dans le journal des erreurs, ce qui facilite
- la résolution des problèmes d'abonnement. Notez cependant que le
- volume de journalisation pourra alors s'avérer trop important pour
+ la résolution des problèmes d'abonnement. Notez cependant que le
+ volume de journalisation pourra alors s'avérer trop important pour
un serveur en production sous forte charge.
Ce module fournit le support SSL v3 et TLS v1 au serveur HTTP -Apache. SSL v2 n'est plus supporté.
+Apache. SSL v2 n'est plus supporté.Ce module s'appuie sur OpenSSL pour fournir le moteur de chiffrement.
-D'autres détails, discussions et exemples sont fournis dans la D'autres détails, discussions et exemples sont fournis dans la documentation SSL.
Ce module peut être configuré pour fournir aux espaces de nommage SSI -et CGI de nombreux éléments d'informations concernant SSL par le biais -de variables d'environnement supplémentaires. Par défaut, et pour +
Ce module peut être configuré pour fournir aux espaces de nommage SSI
+et CGI de nombreux éléments d'informations concernant SSL par le biais
+de variables d'environnement supplémentaires. Par défaut, et pour
des raisons de performances, ces informations ne sont pas fournies (Voir
la directive
Description : | ||||
---|---|---|---|---|
HTTPS | drapeau | -HTTPS est utilisé. | ||
SSL_PROTOCOL | chaîne | +HTTPS est utilisé. | ||
SSL_PROTOCOL | chaîne | La version du protocole SSL (SSLv3, TLSv1, TLSv1.1, TLSv1.2) | ||
SSL_SESSION_ID | chaîne | -L'identifiant de session SSL codé en hexadécimal | ||
SSL_SESSION_RESUMED | chaîne | -Session SSL initiale ou reprise. Note : plusieurs requêtes peuvent -être servies dans le cadre de la même session SSL (initiale ou reprise) -si les connexions persistantes (HTTP KeepAlive) sont utilisées | ||
SSL_SECURE_RENEG | chaîne | -true si la renégociation sécurisée est supportée,
+ | ||
SSL_SESSION_ID | chaîne | +L'identifiant de session SSL codé en hexadécimal | ||
SSL_SESSION_RESUMED | chaîne | +Session SSL initiale ou reprise. Note : plusieurs requêtes peuvent +être servies dans le cadre de la même session SSL (initiale ou reprise) +si les connexions persistantes (HTTP KeepAlive) sont utilisées | ||
SSL_SECURE_RENEG | chaîne | +true si la renégociation sécurisée est supportée,
false dans le cas contraire | ||
SSL_CIPHER | chaîne | +|||
SSL_CIPHER | chaîne | Le nom de l'algorithme de chiffrement | ||
SSL_CIPHER_EXPORT | chaîne | +|||
SSL_CIPHER_EXPORT | chaîne | true si l'algorithme de chiffrement est un algorithme
-exporté | ||
SSL_CIPHER_USEKEYSIZE | nombre | -Nombre de bits de chiffrement (réellement utilisés) | Nombre de bits de chiffrement (réellement utilisés) | |
SSL_CIPHER_ALGKEYSIZE | nombre | Nombre de bits de chiffrement (possible) | ||
SSL_COMPRESS_METHOD | chaîne | -Méthode de compression SSL négociée | ||
SSL_COMPRESS_METHOD | chaîne | +Méthode de compression SSL négociée | ||
SSL_VERSION_INTERFACE | chaîne | +|||
SSL_VERSION_INTERFACE | chaîne | La version du programme mod_ssl | ||
SSL_VERSION_LIBRARY | chaîne | +|||
SSL_VERSION_LIBRARY | chaîne | La version du programme OpenSSL | ||
SSL_CLIENT_M_VERSION | chaîne | +|||
SSL_CLIENT_M_VERSION | chaîne | La version du certificat client | ||
SSL_CLIENT_M_SERIAL | chaîne | -Le numéro de série du certificat client | ||
SSL_CLIENT_S_DN | chaîne | +|||
SSL_CLIENT_M_SERIAL | chaîne | +Le numéro de série du certificat client | ||
SSL_CLIENT_S_DN | chaîne | Le DN sujet du certificat client | ||
SSL_CLIENT_S_DN_ x509 | chaîne | -Elément du DN sujet du client | ||
SSL_CLIENT_SAN_Email_ n | chaîne | -Les entrées d'extension subjectAltName du certificat client de type rfc822Name | ||
SSL_CLIENT_SAN_DNS_ n | chaîne | -Les entrées d'extension subjectAltName du certificat client de type dNSName | ||
SSL_CLIENT_S_DN_ x509 | chaîne | +Elément du DN sujet du client | ||
SSL_CLIENT_SAN_Email_ n | chaîne | +Les entrées d'extension subjectAltName du certificat client de type rfc822Name | ||
SSL_CLIENT_SAN_DNS_ n | chaîne | +Les entrées d'extension subjectAltName du certificat client de type dNSName | ||
SSL_CLIENT_SAN_OTHER_msUPN_ n |
-chaîne | Extensions subjectAltName de type otherName du + | chaîne | Extensions subjectAltName de type otherName du certificat client, forme Microsoft du nom principal de l'utilisateur (OID 1.3.6.1.4.1.311.20.2.3) |
SSL_CLIENT_I_DN | chaîne | -DN de l'émetteur du certificat du client | ||
SSL_CLIENT_I_DN_ x509 | chaîne | -Elément du DN de l'émetteur du certificat du client | ||
SSL_CLIENT_V_START | chaîne | -Validité du certificat du client (date de début) | ||
SSL_CLIENT_V_END | chaîne | -Validité du certificat du client (date de fin) | ||
SSL_CLIENT_V_REMAIN | chaîne | +|||
SSL_CLIENT_I_DN | chaîne | +DN de l'émetteur du certificat du client | ||
SSL_CLIENT_I_DN_ x509 | chaîne | +Elément du DN de l'émetteur du certificat du client | ||
SSL_CLIENT_V_START | chaîne | +Validité du certificat du client (date de début) | ||
SSL_CLIENT_V_END | chaîne | +Validité du certificat du client (date de fin) | ||
SSL_CLIENT_V_REMAIN | chaîne | Nombre de jours avant expiration du certificat du client | ||
SSL_CLIENT_A_SIG | chaîne | -Algorithme utilisé pour la signature du certificat du client | ||
SSL_CLIENT_A_KEY | chaîne | -Algorithme utilisé pour la clé publique du certificat du client | ||
SSL_CLIENT_CERT | chaîne | +|||
SSL_CLIENT_A_SIG | chaîne | +Algorithme utilisé pour la signature du certificat du client | ||
SSL_CLIENT_A_KEY | chaîne | +Algorithme utilisé pour la clé publique du certificat du client | ||
SSL_CLIENT_CERT | chaîne | Certificat du client au format PEM | ||
SSL_CLIENT_CERT_CHAIN_ n |
-chaîne | Certificats de la chaîne de certification du + | chaîne | Certificats de la chaîne de certification du client au format PEM |
SSL_CLIENT_CERT_RFC4523_CEA | chaîne | -Numéro de série et fournisseur du certificat. le format correspond à + | ||
SSL_CLIENT_CERT_RFC4523_CEA | chaîne | +Numéro de série et fournisseur du certificat. le format correspond à celui de la CertificateExactAssertion dans la RFC4523 | ||
SSL_CLIENT_VERIFY | chaîne | +|||
SSL_CLIENT_VERIFY | chaîne | NONE , SUCCESS , GENEROUS ou
FAILED: raison | ||
SSL_SERVER_M_VERSION | chaîne | +|||
SSL_SERVER_M_VERSION | chaîne | La version du certificat du serveur | ||
SSL_SERVER_M_SERIAL | chaîne | + | ||
SSL_SERVER_M_SERIAL | chaîne | The serial of the server certificate | ||
SSL_SERVER_S_DN | chaîne | +|||
SSL_SERVER_S_DN | chaîne | DN sujet du certificat du serveur | ||
SSL_SERVER_S_DN_ x509 | chaîne | -Elément du DN sujet du certificat du serveur | ||
SSL_SERVER_S_DN_ x509 | chaîne | +Elément du DN sujet du certificat du serveur | ||
SSL_SERVER_SAN_Email_ n |
-chaîne | Les entrées d'extension subjectAltName du + | chaîne | Les entrées d'extension subjectAltName du certificat de serveur de type rfc822Name |
SSL_SERVER_SAN_DNS_ n | chaîne | -Les entrées d'extension subjectAltName du + | ||
SSL_SERVER_SAN_DNS_ n | chaîne | +Les entrées d'extension subjectAltName du certificat de serveur de type dNSName | ||
SSL_SERVER_SAN_OTHER_dnsSRV_ n |
-chaîne | Extensions subjectAltName de type otherName du + | chaîne | Extensions subjectAltName de type otherName du certificat serveur, sous la forme SRVName (OID 1.3.6.1.5.5.7.8.7, RFC 4985) |
SSL_SERVER_I_DN | chaîne | -DN de l'émetteur du certificat du serveur | ||
SSL_SERVER_I_DN_ x509 | chaîne | -Elément du DN de l'émetteur du certificat du serveur | ||
SSL_SERVER_V_START | chaîne | -Validité du certificat du serveur (date de dédut) | ||
SSL_SERVER_V_END | chaîne | -Validité du certificat du serveur (date de fin) | ||
SSL_SERVER_A_SIG | chaîne | -Algorithme utilisé pour la signature du certificat du serveur | ||
SSL_SERVER_A_KEY | chaîne | -Algorithme utilisé pour la clé publique du certificat du serveur | ||
SSL_SERVER_CERT | chaîne | +|||
SSL_SERVER_I_DN | chaîne | +DN de l'émetteur du certificat du serveur | ||
SSL_SERVER_I_DN_ x509 | chaîne | +Elément du DN de l'émetteur du certificat du serveur | ||
SSL_SERVER_V_START | chaîne | +Validité du certificat du serveur (date de dédut) | ||
SSL_SERVER_V_END | chaîne | +Validité du certificat du serveur (date de fin) | ||
SSL_SERVER_A_SIG | chaîne | +Algorithme utilisé pour la signature du certificat du serveur | ||
SSL_SERVER_A_KEY | chaîne | +Algorithme utilisé pour la clé publique du certificat du serveur | ||
SSL_SERVER_CERT | chaîne | Certificat du serveur au format PEM | ||
SSL_SRP_USER | chaîne | +|||
SSL_SRP_USER | chaîne | nom d'utilisateur SRP | ||
SSL_SRP_USERINFO | chaîne | +|||
SSL_SRP_USERINFO | chaîne | informations sur l'utilisateur SRP | ||
SSL_TLS_SNI | string | -Contenu de l'extension SNI TLS (si supporté par ClientHello) | Contenu de l'extension SNI TLS (si supporté par ClientHello) |
x509 spécifie un élément de DN X.509 parmi +
x509 spécifie un élément de DN X.509 parmi
C,ST,L,O,OU,CN,T,I,G,S,D,UID,Email
. A partir de la version
-2.1 d'Apache, x509 peut aussi comporter un suffixe numérique
+2.1 d'Apache, x509 peut aussi comporter un suffixe numérique
_n
. Si le DN en question comporte plusieurs attributs de
-noms identiques, ce suffixe constitue un index débutant à zéro et
-permettant de sélectionner un
+noms identiques, ce suffixe constitue un index débutant à zéro et
+permettant de sélectionner un
attribut particulier. Par exemple, si le DN sujet du certificat du
serveur comporte deux champs OU, on peut utiliser
SSL_SERVER_S_DN_OU_0
et SSL_SERVER_S_DN_OU_1
-pour référencer chacun d'entre eux. Un nom de variable sans suffixe
-_n
est équivalent au même nom avec le suffixe
+pour référencer chacun d'entre eux. Un nom de variable sans suffixe
+_n
est équivalent au même nom avec le suffixe
_0
, ce qui correspond au premier attribut (ou au seul)
-caractérisant le DN.
+caractérisant le DN.
Lorsque la table d'environnement est remplie en utilisant l'option
StdEnvVars
de la directive _0
-n'est enregistrée.
_0
+n'est enregistrée.
-Le format des variables *_DN a changé depuis la version +
Le format des variables *_DN a changé depuis la version
2.3.11 d'Apache HTTPD. Voir l'option LegacyDNStringFormat
de la directive
SSL_CLIENT_V_REMAIN
n'est disponible qu'à partir de la
+
SSL_CLIENT_V_REMAIN
n'est disponible qu'Ã partir de la
version 2.1.
Plusieurs variables d'environnement additionnelles peuvent être
-utilisées dans les expressions
Plusieurs variables d'environnement additionnelles peuvent être
+utilisées dans les expressions
HTTP_USER_AGENT PATH_INFO AUTH_TYPE HTTP_REFERER QUERY_STRING SERVER_SOFTWARE @@ -217,87 +217,87 @@ REQUEST_METHOD SERVER_PROTOCOL TIME_WDAY REQUEST_SCHEME REMOTE_ADDR TIME REQUEST_URI REMOTE_USER
Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés +
Dans ces contextes, deux formats spéciaux peuvent aussi être utilisés :
ENV:nom_variable
HTTP:nom_en-tête
HTTP:nom_en-tête
Lorsque
Lorsque %{
nom-var}x
''
-peut être utilisée pour présenter en extension toute variable fournie
+peut être utilisée pour présenter en extension toute variable fournie
par tout module, et en particulier celles fournies par mod_ssl et que
vous trouverez dans la table ci-dessus.
-A des fins de compatibilité ascendante, il existe une fonction de format
-cryptographique supplémentaire
+A des fins de compatibilité ascendante, il existe une fonction de format
+cryptographique supplémentaire
``%{
nom}c
''. Vous trouverez toutes
-les informations à propos de cette fonction dans le chapitre Compatibilité.
Ces formats sont disponibles même si l'option StdEnvVars
de la
-directive
Ces formats sont disponibles même si l'option StdEnvVars
de la
+directive
%{nom}n
via le module
Les informations enregistrées sont les suivantes :
+Les informations enregistrées sont les suivantes :
ssl-access-forbidden
1
si l'accès a
- été refusé suite à une directive 1
si l'accès a
+ été refusé suite à une directive ssl-secure-reneg
1
. Si le client ne supporte pas la renégociation
- sécurisée, l'information contiendra la valeur 0
. Si
- 1
. Si le client ne supporte pas la renégociation
+ sécurisée, l'information contiendra la valeur 0
. Si
+ Lorsque %{
varname}
''.
A partir de la version 2.4.18, on peut aussi utiliser la syntaxe de
style
Cette fonctionnalité est disponible même si l'option +
Cette fonctionnalité est disponible même si l'option
StdEnvVars
de la directive
Le fournisseur ssl
refuse l'accès si une connexion
- n'est pas chiffrée avec SSL. L'effet est similaire à celui de la
+
Le fournisseur ssl
refuse l'accès si une connexion
+ n'est pas chiffrée avec SSL. L'effet est similaire à celui de la
directive
Le fournisseur ssl
autorise l'accès si
- l'utilisateur est authentifié via un certificat client valide. Ceci
+
Le fournisseur ssl
autorise l'accès si
+ l'utilisateur est authentifié via un certificat client valide. Ceci
n'a un effet que si SSLVerifyClient optional
est actif.
Dans l'exemple suivant, l'accès est autorisé si le client est - authentifié via un certificat client ou par nom d'utilisateur/mot de +
Dans l'exemple suivant, l'accès est autorisé si le client est + authentifié via un certificat client ou par nom d'utilisateur/mot de passe :
-Lors de son démarrage, Apache doit lire les différents fichiers de
+Lors de son démarrage, Apache doit lire les différents fichiers de
certificats (voir la directive
builtin
- C'est la méthode par défaut, et un dialogue interactive de terminal - s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du + C'est la méthode par défaut, et un dialogue interactive de terminal + s'ouvre au cours du démarrage juste avant qu'Apache ne se détache du terminal. A ce moment, l'administrateur doit entrer manuellement un - mot de passe pour chaque fichier de clé privée chiffré. Etant donné - qu'il peut y avoir un grand nombre de serveurs virtuels configurés - avec SSL activé, le protocole de réutilisation suivant est utilisé - pour minimiser le dialogue : lorsqu'un fichier de clé privée est - chiffré, tous les mots de passe connus (au début, il n'y en a aucun, - bien entendu) sont essayés. Si l'un de ces mots de passe connus + mot de passe pour chaque fichier de clé privée chiffré. Etant donné + qu'il peut y avoir un grand nombre de serveurs virtuels configurés + avec SSL activé, le protocole de réutilisation suivant est utilisé + pour minimiser le dialogue : lorsqu'un fichier de clé privée est + chiffré, tous les mots de passe connus (au début, il n'y en a aucun, + bien entendu) sont essayés. Si l'un de ces mots de passe connus convient, aucun dialogue ne s'ouvrira pour ce fichier de - clé privée particulier. Si aucun ne convient, un autre mot de passe - sera demandé à partir du terminal et sera mis en mémoire pour le - fichier de clé privée suivant (pour lequel il pourra éventuellement - être réutilisé).
+ clé privée particulier. Si aucun ne convient, un autre mot de passe + sera demandé à partir du terminal et sera mis en mémoire pour le + fichier de clé privée suivant (pour lequel il pourra éventuellement + être réutilisé).- Cette méthode confère à mod_ssl une grande souplesse (car pour N - fichiers de clé privée chiffrés, vous pouvez utiliser N - mots de passe différents - mais vous devrez alors tous les fournir, + Cette méthode confère à mod_ssl une grande souplesse (car pour N + fichiers de clé privée chiffrés, vous pouvez utiliser N + mots de passe différents - mais vous devrez alors tous les fournir, bien entendu), tout en minimisant le dialogue de terminal (vous pouvez en effet utiliser un seul mot de passe pour les N fichiers de - clé privée et vous n'aurez alors à l'entrer qu'une seule + clé privée et vous n'aurez alors à l'entrer qu'une seule fois).
|/chemin/vers/programme [arguments...]
- Ce mode permet d'utiliser un programme externe qui va se présenter
- comme une redirection vers un périphérique d'entrée particulier ; le
- texte de prompt standard utilisé pour le mode builtin
- est envoyé au programme sur stdin
, et celui-ci doit
+
Ce mode permet d'utiliser un programme externe qui va se présenter
+ comme une redirection vers un périphérique d'entrée particulier ; le
+ texte de prompt standard utilisé pour le mode builtin
+ est envoyé au programme sur stdin
, et celui-ci doit
renvoyer des mots de passe sur stdout
. Si
plusieurs mots de passe sont requis (ou si un mot de passe incorrect
- a été entré), un texte de prompt supplémentaire sera écrit après le
+ a été entré), un texte de prompt supplémentaire sera écrit après le
retour du premier mot de passe, et d'autres mots de passe devront
- alors être réécrits.
exec:/chemin/vers/programme
- Ici, un programme externe est appelé au démarrage du serveur pour
- chaque fichier de clé privée chiffré.Il est appelé avec deux
+ Ici, un programme externe est appelé au démarrage du serveur pour
+ chaque fichier de clé privée chiffré.Il est appelé avec deux
arguments (le premier est de la forme
``nom-serveur:port
'', le second
est ``RSA
'', ``DSA
'', ``ECC
''
- ou un index entier commençant à 3 si plus de 3 clés ont été
- configurées), qui
- indiquent pour quels serveur et algorithme il doit écrire le mot de
+ ou un index entier commençant à 3 si plus de 3 clés ont été
+ configurées), qui
+ indiquent pour quels serveur et algorithme il doit écrire le mot de
passe correspondant sur stdout
. Avec les versions 2.4.8
- (non réalisée) et
- 2.4.9, il est appelé avec un seul argument, une chaîne de la forme
- "servername:portnumber:index
" (où index
- est un nombre entier commençant à zéro), qui spécifie le serveur,
- le port TCP et un numéro de certificat. Le but recherché est
- l'exécution de vérifications de sécurité préalables permettant de
- s'assurer que le système n'est pas victime d'une attaque, et de ne
- fournir le mot de passe que si toutes les vérifications ont été
- effectuées avec succès.
servername:portnumber:index
" (où index
+ est un nombre entier commençant à zéro), qui spécifie le serveur,
+ le port TCP et un numéro de certificat. Le but recherché est
+ l'exécution de vérifications de sécurité préalables permettant de
+ s'assurer que le système n'est pas victime d'une attaque, et de ne
+ fournir le mot de passe que si toutes les vérifications ont été
+ effectuées avec succès.
- Ces vérifications de sécurité, ainsi que la manière dont le mot de
- passe est déterminé peuvent être aussi sophistiqués que vous le
- désirez. Mod_ssl ne définit que l'interface : un programme
- exécutable qui écrit le mot de passe sur stdout
. Ni
- plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière
- de sécurité, voici votre interface. Tout le reste doit être confié à
- l'administrateur à titre d'exercice, car les besoins en sécurité
- locale sont très différents.
stdout
. Ni
+ plus, ni moins ! Ainsi, si vous êtes vraiment paranoïaque en matière
+ de sécurité, voici votre interface. Tout le reste doit être confié Ã
+ l'administrateur à titre d'exercice, car les besoins en sécurité
+ locale sont très différents.
- L'algorithme de réutilisation est utilisé ici aussi. En d'autres - termes, le programme externe n'est appelé qu'une fois par mot de + L'algorithme de réutilisation est utilisé ici aussi. En d'autres + termes, le programme externe n'est appelé qu'une fois par mot de passe unique.
-Cette directive permet de définir une ou plusieurs sources de
-déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans
-OpenSSL au démarrage du serveur (si contexte a pour valeur
-startup
) et/ou juste avant l'établissement d'une nouvelle
+Cette directive permet de définir une ou plusieurs sources de
+déclenchement du Générateur de Nombres Pseudo-Aléatoires (PRNG) dans
+OpenSSL au démarrage du serveur (si contexte a pour valeur
+startup
) et/ou juste avant l'établissement d'une nouvelle
connexion SSL (si contexte a pour valeur connect
).
-Cette directive ne peut être utilisée qu'au niveau du serveur global car
+Cette directive ne peut être utilisée qu'au niveau du serveur global car
le PRNG est un service global.
-Les différentes valeurs de source disponibles sont :
+Les différentes valeurs de source disponibles sont :builtin
- Cette source de déclenchement intégrée est toujours disponible. +
Cette source de déclenchement intégrée est toujours disponible. Son utilisation consomme un minimum de cycles CPU en cours - d'exécution, et son utilisation ne présente de ce fait aucun - problème. La source utilisée pour déclencher le PRNG contient la + d'exécution, et son utilisation ne présente de ce fait aucun + problème. La source utilisée pour déclencher le PRNG contient la date courante, l'identifiant du processus courant et (si disponible) - un extrait de 1Ko aléatoirement choisi de la structure d'Apache pour - les échanges inter-processus. Ceci présente un inconvénient car le - caractère aléatoire de cette source n'est pas vraiment fort, et au - démarrage (lorsque la structure d'échanges n'est pas encore + un extrait de 1Ko aléatoirement choisi de la structure d'Apache pour + les échanges inter-processus. Ceci présente un inconvénient car le + caractère aléatoire de cette source n'est pas vraiment fort, et au + démarrage (lorsque la structure d'échanges n'est pas encore disponible), cette source ne produit que quelques octets d'entropie. - Vous devez donc toujours utiliser une source de déclenchement - additionnelle, au moins pour le démarrage.
file:/chemin/vers/source
Cette variante utilise un fichier externe
- file:/chemin/vers/source
comme source de déclenchement
- du PRNG. Lorsque nombre est spécifié, seuls les
+ file:/chemin/vers/source
comme source de déclenchement
+ du PRNG. Lorsque nombre est spécifié, seuls les
nombre premiers octets du fichier forment l'entropie (et
- nombre est fourni comme premier argument à
+ nombre est fourni comme premier argument Ã
/chemin/vers/source
). Lorsque nombre n'est pas
- spécifié, l'ensemble du fichier forme l'entropie (et 0
- est fourni comme premier argument à
+ spécifié, l'ensemble du fichier forme l'entropie (et 0
+ est fourni comme premier argument Ã
/chemin/vers/source
). Utilisez cette source en
- particulier au démarrage, par exemple avec un fichier de
- périphérique /dev/random
et/ou
- /dev/urandom
(qui sont en général présent sur les
- plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).
Soyez cependant prudent : en général,
+ particulier au démarrage, par exemple avec un fichier de
+ périphérique /dev/random
et/ou
+ /dev/urandom
(qui sont en général présent sur les
+ plate-formes dérivées d'Unix modernes comme FreeBSD et Linux).
Soyez cependant prudent : en général,
/dev/random
ne fournit que l'entropie dont il dispose
- réellement ; en d'autres termes, lorsque vous demandez 512 octets
- d'entropie, si le périphérique ne dispose que de 100 octets, deux
+ réellement ; en d'autres termes, lorsque vous demandez 512 octets
+ d'entropie, si le périphérique ne dispose que de 100 octets, deux
choses peuvent se produire : sur certaines plates-formes, vous ne
recevez que les 100 octets, alors que sur d'autres, la lecture se
- bloque jusqu'à ce qu'un nombre suffisant d'octets soit disponible
- (ce qui peut prendre beaucoup de temps). Il est préférable ici
- d'utiliser le périphérique /dev/urandom
, car il ne se
- bloque jamais et fournit vraiment la quantité de données demandées.
- Comme inconvénient, les données reçues ne sont pas forcément de la
- meilleure qualité.
/dev/urandom
, car il ne se
+ bloque jamais et fournit vraiment la quantité de données demandées.
+ Comme inconvénient, les données reçues ne sont pas forcément de la
+ meilleure qualité.
exec:/chemin/vers/programme
- Cette variante utilise un exécutable externe
- /chemin/vers/programme
comme source de déclenchement du
- PRNG. Lorsque nombre est spécifié, seules les
+ Cette variante utilise un exécutable externe
+ /chemin/vers/programme
comme source de déclenchement du
+ PRNG. Lorsque nombre est spécifié, seules les
nombre premiers octets de son flux stdout
- forment l'entropie. Lorsque nombre n'est pas spécifié,
- l'intégralité des données produites sur stdout
forment
- l'entropie. N'utilisez cette variante qu'au démarrage où une source
- de déclenchement fortement aléatoire est nécessaire, en utilisant
+ forment l'entropie. Lorsque nombre n'est pas spécifié,
+ l'intégralité des données produites sur stdout
forment
+ l'entropie. N'utilisez cette variante qu'au démarrage où une source
+ de déclenchement fortement aléatoire est nécessaire, en utilisant
un programme externe (comme dans l'exemple
- ci-dessous avec l'utilitaire truerand
basé sur la
- bibliothèque truerand de AT&T que vous trouverez
+ ci-dessous avec l'utilitaire truerand
basé sur la
+ bibliothèque truerand de AT&T que vous trouverez
dans la distribution de mod_ssl). Bien entendu, l'utilisation de
cette variante dans un contexte "connection" ralentit le serveur de
- manière trop importante, et en général, vous devez donc éviter
+ manière trop importante, et en général, vous devez donc éviter
d'utiliser des programmes externes dans ce contexte.
egd:/chemin/vers/socket-egd
(Unix seulement)
- Cette variante utilise le socket de domaine Unix du Démon - Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD +
Cette variante utilise le socket de domaine Unix du Démon + Générateur d'Entropie externe ou Entropy Gathering Daemon ou EGD (voir http://www.lothar.com/tech - /crypto/) pour déclencher le PRNG. N'utilisez cette variante que - si votre plate-forme ne possède pas de périphérique random ou + /crypto/) pour déclencher le PRNG. N'utilisez cette variante que + si votre plate-forme ne possède pas de périphérique random ou urandom.
Cette directive permet de configurer le type de stockage du cache de -session SSL global et inter-processus. Ce cache est une fonctionnalité -optionnelle qui accélère le traitement parallèle des requêtes. Pour ce -qui est des requêtes vers un même processus du serveur (via HTTP +session SSL global et inter-processus. Ce cache est une fonctionnalité +optionnelle qui accélère le traitement parallèle des requêtes. Pour ce +qui est des requêtes vers un même processus du serveur (via HTTP keep-alive), OpenSSL met en cache les informations de session SSL en interne. Mais comme les clients modernes demandent des images en ligne -et d'autres données via des requêtes parallèles (un nombre de quatre -requêtes parallèles est courant), ces requêtes vont être servies par -plusieurs processus du serveur pré-déclenchés. Ici, un cache -inter-processus permet d'éviter des négociations de session +et d'autres données via des requêtes parallèles (un nombre de quatre +requêtes parallèles est courant), ces requêtes vont être servies par +plusieurs processus du serveur pré-déclenchés. Ici, un cache +inter-processus permet d'éviter des négociations de session inutiles.
Les quatre types de stockage suivants sont actuellement -supportés :
+supportés :none
- Cette valeur désactive le cache de session global et - inter-processus, ce qui va ralentir le serveur de manière sensible - et peut poser problème avec certains navigateurs, en particulier si - les certificats clients sont activés. Cette configuration n'est pas - recommandée.
Cette valeur désactive le cache de session global et + inter-processus, ce qui va ralentir le serveur de manière sensible + et peut poser problème avec certains navigateurs, en particulier si + les certificats clients sont activés. Cette configuration n'est pas + recommandée.
nonenotnull
- Cette valeur désactive tout cache de session global et - inter-processus. Cependant, elle force OpenSSL à envoyer un - identifiant de session non nul afin de s'adapter aux clients bogués - qui en nécessitent un.
Cette valeur désactive tout cache de session global et + inter-processus. Cependant, elle force OpenSSL à envoyer un + identifiant de session non nul afin de s'adapter aux clients bogués + qui en nécessitent un.
-dbm:/chemin/vers/fichier-données
+dbm:/chemin/vers/fichier-données
Cette valeur utilise un fichier de hashage DBM sur disque local
- pour synchroniser les caches OpenSSL locaux en mémoire des processus
- du serveur. Ce cache de session peut être sujet à des problèmes de
- fiabilité sous forte charge. Pour l'utiliser, le module
-
shmcb:/chemin/vers/fichier-données
[(
nombre)
]
+shmcb:/chemin/vers/fichier-données
[(
nombre)
]
- Cette valeur utilise un tampon cyclique à hautes performances +
Cette valeur utilise un tampon cyclique à hautes performances
(d'une taille d'environ nombre octets) dans un segment de
- mémoire partagée en RAM (établi via
- /chemin/vers/fichier-données
, pour synchroniser les
- caches OpenSSL locaux en mémoire des processus du serveur. C'est le
- type de cache de session recommandé. Pour l'utiliser, le module
-
/chemin/vers/fichier-données
, pour synchroniser les
+ caches OpenSSL locaux en mémoire des processus du serveur. C'est le
+ type de cache de session recommandé. Pour l'utiliser, le module
+ dc:UNIX:/chemin/vers/socket
- Cette valeur utilise les bibliothèques de mise en cache de
- sessions distribuée sur Cette valeur utilise les bibliothèques de mise en cache de
+ sessions distribuée sur cache distant "distcache".
- L'argument doit spécifier le serveur ou mandataire à utiliser en
+ L'argument doit spécifier le serveur ou mandataire à utiliser en
utilisant la syntaxe d'adressage distcache ; par exemple,
- UNIX:/chemin/vers/socket
spécifie une socket de domaine
- Unix (en général un mandataire de dc_client local) ;
- IP:serveur.example.com:9001
spécifie une adresse IP.
- Pour l'utiliser, le module
UNIX:/chemin/vers/socket
spécifie une socket de domaine
+ Unix (en général un mandataire de dc_client local) ;
+ IP:serveur.example.com:9001
spécifie une adresse IP.
+ Pour l'utiliser, le module Le mutex ssl-cache
permet de sérialiser l'accès au cache
-de session afin d'éviter toute corruption. Ce mutex peut être configuré
+
Le mutex ssl-cache
permet de sérialiser l'accès au cache
+de session afin d'éviter toute corruption. Ce mutex peut être configuré
via la directive
-Cette directive permet de définir la durée de vie en secondes des -informations stockées dans le cache de sessions SSL global et -inter-processus, dans le cache OpenSSL interne en mémoire et pour -les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut -être définie à une valeur d'environ 15 à des fins de test, mais à une -valeur très supérieure comme 300 en production.
+Cette directive permet de définir la durée de vie en secondes des +informations stockées dans le cache de sessions SSL global et +inter-processus, dans le cache OpenSSL interne en mémoire et pour +les sessions réinitialisées par la reprise de session TLS (RFC 5077). elle peut +être définie à une valeur d'environ 15 à des fins de test, mais à une +valeur très supérieure comme 300 en production.
-Cette directive permet d'activer/désactiver le moteur du protocole
-SSL/TLS. Elle doit être utilisée dans une section
Depuis la version 2.1 d'Apache, la directive
-optional
, ce qui active le support de RFC 2817, Upgrading to
TLS Within HTTP/1.1. Pour le moment, aucun navigateur web ne supporte
@@ -711,22 +711,22 @@ RFC 2817.
-Cette directive permet d'activer/désactiver l'utilisation du drapeau -FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le +Cette directive permet d'activer/désactiver l'utilisation du drapeau +FIPS_mode de la bibliothèque SSL. Elle doit être définie dans le contexte du serveur principal, et n'accepte pas les configurations sources de conflits (SSLFIPS on suivi de SSLFIPS off par exemple). Le -mode s'applique à toutes les opérations de la bibliothèque SSL. +mode s'applique à toutes les opérations de la bibliothèque SSL.
-Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le
-drapeau FIPS_mode, la directive SSLFIPS on
échouera.
-Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la
-bibliothèque du fournisseur SSL, pour les prérequis spécifiques
-nécessaires à l'utilisation de mod_ssl selon un mode d'opération
-approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas
-validé, mais peut être décrit comme utilisant un module de chiffrement
-validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis
-en oeuvre selon les recommandations de la politique de sécurité
+Si httpd a été compilé avec une bibliothèque SSL qui ne supporte pas le
+drapeau FIPS_mode, la directive SSLFIPS on
échouera.
+Reportez-vous au document sur la politique de sécurité FIPS 140-2 de la
+bibliothèque du fournisseur SSL, pour les prérequis spécifiques
+nécessaires à l'utilisation de mod_ssl selon un mode d'opération
+approuvé par FIPS 140-2 ; notez que mod_ssl en lui-même n'est pas
+validé, mais peut être décrit comme utilisant un module de chiffrement
+validé par FIPS 140-2, lorsque tous les composants sont assemblés et mis
+en oeuvre selon les recommandations de la politique de sécurité
applicable.
-Cette directive permet de définir quelles versions du protocole SSL/TLS -seront acceptées lors de l'initialisation d'une nouvelle connexion.
+Cette directive permet de définir quelles versions du protocole SSL/TLS +seront acceptées lors de l'initialisation d'une nouvelle connexion.-Les protocoles disponibles sont les suivants (sensibles à la +Les protocoles disponibles sont les suivants (sensibles à la casse) :
SSLv3
Il s'agit du protocole Secure Sockets Layer (SSL) version 3.0 de Netscape Corporation. C'est le successeur de SSLv2 et le - prédécesseur de TLSv1, mais est considéré comme - obsolète dans la RFC + prédécesseur de TLSv1, mais est considéré comme + obsolète dans la RFC 7568
TLSv1
Il s'agit du protocole Transport Layer Security (TLS) version 1.0. - C'est le successeur de SSLv3, et il est défini dans la RFC2246. Il est - supporté par la plupart des clients.
TLSv1.1
(à partir de la version 1.0.1 d'OpenSSL)
+TLSv1.1
(Ã partir de la version 1.0.1 d'OpenSSL)
- Une révision du protocole TLS 1.0 définie dans la RFC 4346.
TLSv1.2
(à partir de la version 1.0.1 d'OpenSSL)
+TLSv1.2
(Ã partir de la version 1.0.1 d'OpenSSL)
- Une révision du protocole TLS 1.1 définie dans la RFC 5246.
all
- C'est un raccourci pour ``+SSLv3 +TLSv1
'' ou - à partir
+ C'est un raccourci pour ``+SSLv3 +TLSv1
'' ou - Ã partir
de la version 1.0.1 d'OpenSSL - ``+SSLv3 +TLSv1 +TLSv1.1
- +TLSv1.2
'' (sauf si OpenSSL a été compilé avec l'option
+ +TLSv1.2'' (sauf si OpenSSL a été compilé avec l'option
``no-ssl3'', auquel cas all
n'inclura pas
+SSLv3
).
-Cette directive complexe utilise la chaîne algorithmes +Cette directive complexe utilise la chaîne algorithmes contenant la liste des algorithmes de chiffrement OpenSSL que le client peut utiliser au cours de la phase d'initialisation de la connexion SSL. -Notez que cette directive peut être utilisée aussi bien dans un contexte -de serveur que dans un contexte de répertoire. Dans un contexte de -serveur, elle s'applique à l'initialisation SSL standard lorsqu'une -connexion est établie. Dans un contexte de répertoire, elle force une -renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée -après la lecture d'une requête HTTP, mais avant l'envoi de la réponse +Notez que cette directive peut être utilisée aussi bien dans un contexte +de serveur que dans un contexte de répertoire. Dans un contexte de +serveur, elle s'applique à l'initialisation SSL standard lorsqu'une +connexion est établie. Dans un contexte de répertoire, elle force une +renégociation SSL avec la liste d'algorithmes de chiffrement spécifiée +après la lecture d'une requête HTTP, mais avant l'envoi de la réponse HTTP.
-La liste d'algorithmes de chiffrement SSL spécifiée par l'argument +La liste d'algorithmes de chiffrement SSL spécifiée par l'argument algorithmes comporte quatre attributs principaux auxquels s'ajoutent quelques attributs secondaires :
L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les -algorithmes SSLv2 ne sont plus supportés. -Pour définir les algorithmes à utiliser, on -peut soit spécifier tous les algorithmes à la fois, soit utiliser des -alias pour spécifier une liste d'algorithmes dans leur ordre de -préférence (voir Table 1). Les algorithmes et -alias effectivement disponibles dépendent de la version d'openssl -utilisée. Les versions ultérieures d'openssl inclueront probablement des -algorithmes supplémentaires.
+L'algorithme de chiffrement peut aussi provenir de l'extérieur. Les +algorithmes SSLv2 ne sont plus supportés. +Pour définir les algorithmes à utiliser, on +peut soit spécifier tous les algorithmes à la fois, soit utiliser des +alias pour spécifier une liste d'algorithmes dans leur ordre de +préférence (voir Table 1). Les algorithmes et +alias effectivement disponibles dépendent de la version d'openssl +utilisée. Les versions ultérieures d'openssl inclueront probablement des +algorithmes supplémentaires.
Symbole | Description |
---|---|
Algorithme d'échange de clés : | |
kRSA | Echange de clés RSA |
kDHr | Echange de clés Diffie-Hellman avec -clé RSA |
kDHd | Echange de clés Diffie-Hellman avec -clé DSA |
kEDH | Echange de clés Diffie-Hellman + |
Algorithme d'échange de clés : | |
kRSA | Echange de clés RSA |
kDHr | Echange de clés Diffie-Hellman avec +clé RSA |
kDHd | Echange de clés Diffie-Hellman avec +clé DSA |
kEDH | Echange de clés Diffie-Hellman temporaires (pas de certificat) |
kSRP | échange de clés avec mot de passe -distant sécurisé (SRP) |
kSRP | échange de clés avec mot de passe +distant sécurisé (SRP) |
Algorithmes d'authentification : | |
aNULL | Pas d'authentification |
aRSA | Authentification RSA |
RC4 | Chiffrement RC4 |
RC2 | Chiffrement RC2 |
IDEA | Chiffrement IDEA |
Algorithmes de condensés MAC : | |
Algorithmes de condensés MAC : | |
MD5 | Fonction de hashage MD5 |
SHA1 | Fonction de hashage SHA1 |
SHA | alias pour SHA1 |
EXP | tous les algorithmes de chiffrement externes |
EXPORT40 | tous les algorithmes de chiffrement -externes limités à 40 bits |
EXPORT56 | tous les algorithmes de chiffrement -externes limités à 56 bits |
LOW | tous les algorithmes de chiffrement faibles (non externes, DES simple) |
MEDIUM | tous les algorithmes avec @@ -894,18 +894,18 @@ chiffrement 128 bits |
HIGH | tous les algorithmes utilisant Triple-DES |
RSA | tous les algorithmes -utilisant l'échange de clés RSA |
DH | tous les algorithmes -utilisant l'échange de clés Diffie-Hellman |
EDH | tous les algorithmes -utilisant l'échange de clés Diffie-Hellman temporaires |
ECDH | échange de clés Elliptic Curve Diffie-Hellman |
ECDH | échange de clés Elliptic Curve Diffie-Hellman |
ADH | tous les algorithmes -utilisant l'échange de clés Diffie-Hellman anonymes |
AECDH | tous les algorithmes -utilisant l'échange de clés Elliptic Curve Diffie-Hellman |
SRP | tous les algorithmes utilisant -l'échange de clés avec mot de passe distant sécurisé (SRP) |
DSS | tous les algorithmes utilisant l'authentification DSS |
ECDSA | tous les algorithmes @@ -914,42 +914,42 @@ utilisant l'authentification ECDSA |
-Cela devient intéressant lorsque tous ces symboles sont combinés
-ensemble pour spécifier les algorithmes disponibles et l'ordre dans
+Cela devient intéressant lorsque tous ces symboles sont combinés
+ensemble pour spécifier les algorithmes disponibles et l'ordre dans
lequel vous voulez les utiliser. Pour simplifier tout cela, vous
disposez aussi d'alias (SSLv3, TLSv1, EXP, LOW, MEDIUM,
HIGH
) pour certains groupes d'algorithmes. Ces symboles peuvent
-être reliés par des préfixes pour former la chaîne algorithmes.
-Les préfixes disponibles sont :
+
: déplace les algorithmes qui conviennent à la
++
: déplace les algorithmes qui conviennent à la
place courante dans la liste-
: supprime l'algorithme de la liste (peut être rajouté
+-
: supprime l'algorithme de la liste (peut être rajouté
plus tard)!
: supprime définitivement l'algorithme de la liste (ne
-peut plus y être rajouté plus tard)!
: supprime définitivement l'algorithme de la liste (ne
+peut plus y être rajouté plus tard)aNULL
, eNULL
et
-EXP
sont toujours désactivésEXP
sont toujours désactivés
Depuis la version 2.4.7, les
-algorithmes de type null ou destinés à l'exportation sont toujours
-désactivés car mod_ssl ajoute obligatoirement
-!aNULL:!eNULL:!EXP
à toute chaîne d'algorithme de
-chiffrement à l'initialisation.
!aNULL:!eNULL:!EXP
à toute chaîne d'algorithme de
+chiffrement à l'initialisation.
Pour vous simplifier la vie, vous pouvez utiliser la commande
``openssl ciphers -v
'' qui vous fournit un moyen simple de
-créer la chaîne algorithmes avec succès. La chaîne
-algorithmes par défaut dépend de la version des bibliothèques
-SSL installées. Supposons qu'elle contienne
+créer la chaîne algorithmes avec succès. La chaîne
+algorithmes par défaut dépend de la version des bibliothèques
+SSL installées. Supposons qu'elle contienne
``RC4-SHA:AES128-SHA:HIGH:MEDIUM:!aNULL:!MD5
'', ce qui
stipule de mettre RC4-SHA
et AES128-SHA
en
-premiers, car ces algorithmes présentent un bon compromis entre vitesse
-et sécurité. Viennent ensuite les algorithmes de sécurité élevée et
+premiers, car ces algorithmes présentent un bon compromis entre vitesse
+et sécurité. Viennent ensuite les algorithmes de sécurité élevée et
moyenne. En fin de compte, les algorithmes qui n'offrent aucune
authentification sont exclus, comme les algorithmes anonymes
Diffie-Hellman pour SSL, ainsi que tous les algorithmes qui utilisent
@@ -967,8 +967,8 @@ PSK-RC4-SHA SSLv3 Kx=PSK Au=PSK Enc=RC4(128) Mac=SHA1
KRB5-RC4-SHA SSLv3 Kx=KRB5 Au=KRB5 Enc=RC4(128) Mac=SHA1
Vous trouverez la liste complète des algorithmes RSA & DH -spécifiques à SSL dans la Table 2.
+Vous trouverez la liste complète des algorithmes RSA & DH +spécifiques à SSL dans la Table 2.
DES-CBC3-SHA
IDEA-CBC-SHA
Cette directive permet de définir le fichier de données contenant +
Cette directive permet de définir le fichier de données contenant
les informations de certificat
-X.509 du serveur codées au format PEM. Ce fichier doit contenir
-au minimum un certificat d'entité finale (feuille).
-La directive peut être utilisée plusieurs fois (elle référence des
-fichiers différents) pour accepter plusieurs algorithmes
+X.509 du serveur codées au format PEM. Ce fichier doit contenir
+au minimum un certificat d'entité finale (feuille).
+La directive peut être utilisée plusieurs fois (elle référence des
+fichiers différents) pour accepter plusieurs algorithmes
d'authentification au niveau du serveur - souvent RSA, DSA et ECC. Le
-nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée
-avec mod_ssl : à partir de la version 1.0.0, la commande openssl
+nombre d'algorithmes supportés dépend de la version d'OpenSSL utilisée
+avec mod_ssl : Ã partir de la version 1.0.0, la commande
openssl
list-public-key-algorithms
affiche la liste des algorithmes
-supportés.
+supportés.
Les fichiers peuvent aussi contenir des certificats de CA
-intermédiaires triés depuis la feuille vers la racine. Cette
-fonctionnalité est disponible depuis la version 2.4.8 du serveur HTTP
-Apache, et rend obsolète la directive
Depuis la version 2.4.7 du serveur HTTP Apache, on peut aussi ajouter
-des paramètres DH personnalisés et un nom EC
-curve pour les clés éphémères à la fin du premier fichier défini par la
+des paramètres DH personnalisés et un nom EC
+curve pour les clés éphémères à la fin du premier fichier défini par la
directive openssl
-dhparam
et openssl ecparam
, et ils peuvent être
-ajoutés tel quel à la fin du premier fichier de certificat. En effet,
-seul le premier fichier de certificat défini peut être utilisé pour
-enregistrer des paramètres personnalisés, car ces derniers s'appliquent
-indépendamment de l'algorithme d'authentification utilisé.
+Ces paramètres peuvent être générés avec les commandes openssl
+dhparam
et openssl ecparam
, et ils peuvent être
+ajoutés tel quel à la fin du premier fichier de certificat. En effet,
+seul le premier fichier de certificat défini peut être utilisé pour
+enregistrer des paramètres personnalisés, car ces derniers s'appliquent
+indépendamment de l'algorithme d'authentification utilisé.
Enfin, il est aussi possible d'ajouter la clé privée du certificat de -l'entité finale au fichier de certificat, ce qui permet de se passer +
Enfin, il est aussi possible d'ajouter la clé privée du certificat de
+l'entité finale au fichier de certificat, ce qui permet de se passer
d'une directive
Depuis la version 2.4.7, mod_ssl utilise des -paramètres DH standardisés avec des nombres premiers de 2048, 3072 et +paramètres DH standardisés avec des nombres premiers de 2048, 3072 et 4096 bits, et avec des nombres premiers de 6144 et 8192 bits depuis la version 2.4.10 (voir RFC 3526), et les fournit aux clients en fonction de la longueur de la -clé du certificat RSA/DSA. En particulier avec les clients basés sur -Java (versions 7 et antérieures), ceci peut provoquer des erreurs au -cours de la négociation - voir cette réponse de la FAQ SSL pour -contourner les problèmes de ce genre. +clé du certificat RSA/DSA. En particulier avec les clients basés sur +Java (versions 7 et antérieures), ceci peut provoquer des erreurs au +cours de la négociation - voir cette réponse de la FAQ SSL pour +contourner les problèmes de ce genre.
Cette directive permet de définir le fichier contenant la clé privée du -serveur codée en PEM. Si la clé privée est -chiffrée, une boîte de dialogue demandant le mot de passe s'ouvre au -démarrage.
+Cette directive permet de définir le fichier contenant la clé privée du +serveur codée en PEM. Si la clé privée est +chiffrée, une boîte de dialogue demandant le mot de passe s'ouvre au +démarrage.
-Cette directive peut être utilisée plusieurs fois pour référencer
-différents noms de fichiers, afin de supporter plusieurs algorithmes
+Cette directive peut être utilisée plusieurs fois pour référencer
+différents noms de fichiers, afin de supporter plusieurs algorithmes
pour l'authentification du serveur. A chaque directive
-La clé privé peut aussi être ajoutée au fichier défini par la directive
+La clé privé peut aussi être ajoutée au fichier défini par la directive
SSLCertificateChainFile
est devenue obsolète avec la
+SSLCertificateChainFile
est devenue obsolète avec la
version 2.4.8, lorsque la directive
-
-Cette directive permet de définir le fichier optionnel -tout-en-un où vous pouvez rassembler les certificats des -Autorités de Certification (CA) qui forment la chaîne de certification -du certificat du serveur. Cette chaîne débute par le certificat de la CA -qui a délivré le certificat du serveur et peut remonter jusqu'au +Cette directive permet de définir le fichier optionnel +tout-en-un où vous pouvez rassembler les certificats des +Autorités de Certification (CA) qui forment la chaîne de certification +du certificat du serveur. Cette chaîne débute par le certificat de la CA +qui a délivré le certificat du serveur et peut remonter jusqu'au certificat de la CA racine. Un tel fichier contient la simple -concaténation des différents certificats de CA codés en PEM, en général -dans l'ordre de la chaîne de certification.
-Elle doit être utilisée à la place et/ou en complément de la +concaténation des différents certificats de CA codés en PEM, en général +dans l'ordre de la chaîne de certification.
+Elle doit être utilisée à la place et/ou en complément de la
directive
-Soyez cependant prudent : fournir la chaîne de certification ne +Soyez cependant prudent : fournir la chaîne de certification ne fonctionne que si vous utilisez un simple certificat de serveur RSA ou DSA. Si vous utilisez une paire de certificats -couplés RSA+DSA , cela ne fonctionnera que si les deux certificats -utilisent vraiment la même chaîne de certification. Dans le cas +couplés RSA+DSA , cela ne fonctionnera que si les deux certificats +utilisent vraiment la même chaîne de certification. Dans le cas contraire, la confusion risque de s'installer au niveau des navigateurs.
-Cette directive permet de définir le répertoire où sont stockés les -certificats des Autorités de Certification (CAs) pour les clients -auxquels vous avez à faire. On les utilise pour vérifier le certificat +Cette directive permet de définir le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les clients +auxquels vous avez à faire. On les utilise pour vérifier le certificat du client au cours de l'authentification de ce dernier.
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de certificats dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de certificats dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
valeur-de-hashage.N
, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.
-Cette directive permet de définir le fichier tout-en-un où vous
-pouvez rassembler les certificats des Autorités de Certification (CAs)
-pour les clients auxquels vous avez à faire. On les utilise pour
+Cette directive permet de définir le fichier tout-en-un où vous
+pouvez rassembler les certificats des Autorités de Certification (CAs)
+pour les clients auxquels vous avez à faire. On les utilise pour
l'authentification des clients. Un tel fichier contient la simple
-concaténation des différents fichiers de certificats codés en PEM, par
-ordre de préférence. Cette directive peut être utilisée à la place et/ou
-en complément de la directive
Lorsque mod_ssl demande un certificat client, une liste de noms -d'Autorités de Certification acceptables est envoyée au client au +d'Autorités de Certification acceptables est envoyée au client au cours de la phase d'initialisation de la connexion SSL. Le client peut -alors utiliser cette liste de noms de CA pour sélectionner un certificat -client approprié parmi ceux dont il dispose.
+alors utiliser cette liste de noms de CA pour sélectionner un certificat +client approprié parmi ceux dont il dispose.Si aucune des directives
Dans certaines situations, il est utile de pouvoir envoyer
-une liste de noms de CA acceptables qui diffère de la liste des CAs
-effectivement utilisés pour vérifier le certificat du client ;
-considérons par exemple le cas où le certificat du client est signé par
-des CAs intermédiaires. On peut ici utiliser les directives
Cette directive optionnelle permet de définir la liste de noms de
-CAs acceptables qui sera envoyée au client lorsqu'un certificat de
-client est demandé. Voir la directive
Les fichiers de ce répertoire doivent être codés en PEM et ils sont -accédés via des noms de fichier sous forme de condensés ou hash. Il ne -suffit donc pas de placer les fichiers de certificats dans ce répertoire -: vous devez aussi créer des liens symboliques nommés +
Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de certificats dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
valeur-de-hashage.N
, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.
-Cette directive permet de définir le répertoire où sont stockées les -Listes de Révocation de Certificats (CRL) des Autorités de Certification -(CAs) pour les clients auxquels vous avez à faire. On les utilise pour -révoquer les certificats des clients au cours de l'authentification de +Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les clients auxquels vous avez à faire. On les utilise pour +révoquer les certificats des clients au cours de l'authentification de ces derniers.
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de CRL dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de CRL dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
valeur-de-hashage.N
, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.
-Cette directive permet de définir le fichier tout-en-un où sont
-rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
-de certification (CAs) pour les clients auxquels vous avez à faire. On
+Cette directive permet de définir le fichier tout-en-un où sont
+rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
+de certification (CAs) pour les clients auxquels vous avez à faire. On
les utilise pour l'authentification des clients. Un tel fichier contient
-la simple concaténation des différents fichiers de CRLs codés en PEM,
-dans l'ordre de préférence. Cette directive peut être utilisée à la
-place et/ou en complément de la directive
-Active la vérification des révocations basée sur les Listes de
-Révocations de Certificats (CRL). Au moins une des directives chain
(valeur
-recommandée), les vérifications CRL sont effectuées sur tous les
-certificats de la chaîne, alors que la valeur leaf
limite
-la vérification au certificat hors chaîne (la feuille).
+module="mod_ssl">SSLCARevocationPath doit être définie.
+Lorsque cette directive est définie à chain
(valeur
+recommandée), les vérifications CRL sont effectuées sur tous les
+certificats de la chaîne, alors que la valeur leaf
limite
+la vérification au certificat hors chaîne (la feuille).
chain
ou
-leaf
, les CRLs doivent être disponibles pour que la
-validation réussissechain
ou
+leaf
, les CRLs doivent être disponibles pour que la
+validation réussisse
-Avant la version 2.3.15, les vérifications CRL dans mod_ssl
-réussissaient même si aucune CRL n'était trouvée dans les chemins
-définis par les directives "CRL introuvable"
.
-Cette directive permet de définir le niveau de vérification du +Cette directive permet de définir le niveau de vérification du certificat pour l'authentification du client. Notez que cette directive -peut être utilisée à la fois dans les contextes du serveur principal et -du répertoire. Dans le contexte du serveur principal, elle s'applique au -processus d'authentification du client utilisé au cours de la -négociation SSL standard lors de l'établissement d'une connexion. Dans -un contexte de répertoire, elle force une renégociation SSL avec le -niveau de vérification du client spécifié, après la lecture d'une -requête HTTP, mais avant l'envoi de la réponse HTTP.
+peut être utilisée à la fois dans les contextes du serveur principal et +du répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +niveau de vérification du client spécifié, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.Les valeurs de niveau disponibles sont les suivantes :
En pratique, seuls les niveaux none et -require sont vraiment intéressants, car le niveau +require sont vraiment intéressants, car le niveau optional ne fonctionne pas avec tous les navigateurs, -et le niveau optional_no_ca va vraiment à l'encontre de -l'idée que l'on peut se faire de l'authentification (mais peut tout de -même être utilisé pour établir des pages de test SSL, etc...)
+et le niveau optional_no_ca va vraiment à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...)-Cette directive permet de spécifier la profondeur maximale à laquelle -mod_ssl va effectuer sa vérification avant de décider que le client ne -possède pas de certificat valide. Notez que cette directive peut être -utilisée à la fois dans les contextes du serveur principal et de -répertoire. Dans le contexte du serveur principal, elle s'applique au -processus d'authentification du client utilisé au cours de la -négociation SSL standard lors de l'établissement d'une connexion. Dans -un contexte de répertoire, elle force une renégociation SSL avec le -client selon la nouvelle profondeur spécifiée, après la lecture d'une -requête HTTP, mais avant l'envoi de la réponse HTTP.
+Cette directive permet de spécifier la profondeur maximale à laquelle +mod_ssl va effectuer sa vérification avant de décider que le client ne +possède pas de certificat valide. Notez que cette directive peut être +utilisée à la fois dans les contextes du serveur principal et de +répertoire. Dans le contexte du serveur principal, elle s'applique au +processus d'authentification du client utilisé au cours de la +négociation SSL standard lors de l'établissement d'une connexion. Dans +un contexte de répertoire, elle force une renégociation SSL avec le +client selon la nouvelle profondeur spécifiée, après la lecture d'une +requête HTTP, mais avant l'envoi de la réponse HTTP.
La profondeur correspond au nombre maximum de fournisseurs de
-certificats intermédiaires, c'est à dire le nombre maximum de
-certificats de CA que l'on est autorisé à suivre lors de la vérification
+certificats intermédiaires, c'est à dire le nombre maximum de
+certificats de CA que l'on est autorisé à suivre lors de la vérification
du certificat du client. Une profondeur de 0 signifie que seuls les
-certificats clients auto-signés sont acceptés ; la profondeur par défaut
-de 1 signifie que le certificat client peut être soit auto-signé, soit
-signé par une CA connue directement du serveur (c'est à dire que le
-certificat de la CA doit être référencé par la directive
-Cette directive permet d'activer TLS-SRP et de définir le chemin du -fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) -contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les -"grains de sel" (salts), ainsi que les paramètres de groupe.
+Cette directive permet d'activer TLS-SRP et de définir le chemin du +fichier de vérification OpenSSL SRP (Mot de passe distant sécurisé) +contenant les noms d'utilisateurs TLS-SRP, les vérificateurs, les +"grains de sel" (salts), ainsi que les paramètres de groupe.
-Le fichier de vérification peut être créé via l'utilitaire en ligne de
+Le fichier de vérification peut être créé via l'utilitaire en ligne de
commande openssl
:
La valeur affectée au paramètre optionnel -userinfo
est
-enregistrée dans la variable d'environnement
+
La valeur affectée au paramètre optionnel -userinfo
est
+enregistrée dans la variable d'environnement
SSL_SRP_USERINFO
.
-Cette directive permet de définir la source d'aléa à utiliser +Cette directive permet de définir la source d'aléa à utiliser pour les utilisateurs SRP inconnus, ceci afin de combler les manques en -cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si -cette directive n'est pas définie, Apache renverra une alerte +cas d'existence d'un tel utilisateur. Elle définit une chaîne secrète. Si +cette directive n'est pas définie, Apache renverra une alerte UNKNOWN_PSK_IDENTITY aux clients qui fournissent un nom d'utilisateur inconnu.
@@ -1557,7 +1557,7 @@ SSLSRPUnknownUserSeed "secret"
-Cette directive permet de contrôler différentes options d'exécution du
-moteur SSL dans un contexte de répertoire. Normalement, si plusieurs
-SSLOptions
peuvent s'appliquer à un répertoire, c'est la
-plus spécifique qui est véritablement prise en compte ; les options ne
+Cette directive permet de contrôler différentes options d'exécution du
+moteur SSL dans un contexte de répertoire. Normalement, si plusieurs
+SSLOptions
peuvent s'appliquer à un répertoire, c'est la
+plus spécifique qui est véritablement prise en compte ; les options ne
se combinent pas entre elles. Elles se combinent cependant entre elles
-si elles sont toutes précédées par un symbole plus
-(+
) ou moins (-
). Toute option précédée d'un
-+
est ajoutée aux options actuellement en vigueur, et toute
-option précédée d'un -
est supprimée de ces mêmes
+si elles sont toutes précédées par un symbole plus
+(+
) ou moins (-
). Toute option précédée d'un
++
est ajoutée aux options actuellement en vigueur, et toute
+option précédée d'un -
est supprimée de ces mêmes
options.
@@ -1583,99 +1583,99 @@ Les options disponibles sont :
StdEnvVars
- Lorsque cette option est activée, le jeu standard de variables - d'environnement SSL relatives à CGI/SSI est créé. Cette option est - désactivée par défaut pour des raisons de performances, car - l'extraction des informations constitue une opération assez coûteuse - en ressources. On n'active donc en général cette option que pour les - requêtes CGI et SSI.
+ Lorsque cette option est activée, le jeu standard de variables + d'environnement SSL relatives à CGI/SSI est créé. Cette option est + désactivée par défaut pour des raisons de performances, car + l'extraction des informations constitue une opération assez coûteuse + en ressources. On n'active donc en général cette option que pour les + requêtes CGI et SSI.ExportCertData
- Lorsque cette option est activée, des variables d'environnement
- CGI/SSI supplémentaires sont créées : SSL_SERVER_CERT
,
+ Lorsque cette option est activée, des variables d'environnement
+ CGI/SSI supplémentaires sont créées : SSL_SERVER_CERT
,
SSL_CLIENT_CERT
et
SSL_CLIENT_CERT_CHAIN_
n (avec n =
- 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du
+ 0,1,2,..). Elles contiennent les certificats X.509 codés en PEM du
serveur et du client pour la connexion HTTPS courante, et peuvent
- être utilisées par les scripts CGI pour une vérification de
- certificat plus élaborée. De plus, tous les autres certificats de la
- chaîne de certificats du client sont aussi fournis. Tout ceci gonfle
+ être utilisées par les scripts CGI pour une vérification de
+ certificat plus élaborée. De plus, tous les autres certificats de la
+ chaîne de certificats du client sont aussi fournis. Tout ceci gonfle
un peu l'environnement, et c'est la raison pour laquelle vous ne
- devez activer cette option qu'à la demande.
FakeBasicAuth
- Lorsque cette option est activée, le Nom Distinctif (DN) sujet du
+ Lorsque cette option est activée, le Nom Distinctif (DN) sujet du
certificat client X509 est traduit en un nom d'utilisateur pour
- l'autorisation HTTP de base. Cela signifie que les méthodes
- d'authentification standard d'Apache peuvent être utilisées pour le
- contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet
- du certificat X509 du client (il peut être déterminé en utilisant la
+ l'autorisation HTTP de base. Cela signifie que les méthodes
+ d'authentification standard d'Apache peuvent être utilisées pour le
+ contrôle d'accès. Le nom d'utilisateur est tout simplement le Sujet
+ du certificat X509 du client (il peut être déterminé en utilisant la
commande OpenSSL openssl x509
: openssl x509
-noout -subject -in
certificat.crt
).
- Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque
- entrée du fichier des utilisateurs doit comporter ce mot de passe :
- ``xxj31ZMTZzkVA
'', qui est la version chiffrée en DES
+ Notez qu'aucun mot de passe n'est envoyé par l'utilisateur. Chaque
+ entrée du fichier des utilisateurs doit comporter ce mot de passe :
+ ``xxj31ZMTZzkVA
'', qui est la version chiffrée en DES
du mot ``password
''. Ceux qui travaillent avec un
- chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS,
- etc...) doivent utiliser le condensé MD5 suivant pour le même mot :
+ chiffrement basé sur MD5 (par exemple sous FreeBSD ou BSD/OS,
+ etc...) doivent utiliser le condensé MD5 suivant pour le même mot :
``$1$OXLyS...$Owx8s2/m9/gfkcRVXzgoE/
''.
Notez que la directive
StrictRequire
- Cette option force l'interdiction d'accès lorsque
- SSLRequireSSL
ou SSLRequire
a décidé que
- l'accès devait être interdit. Par défaut, dans le cas où
- une directive ``Satisfy any
'' est utilisée, et si
- d'autres restrictions d'accès ont été franchies, on passe en général
- outre l'interdiction d'accès due à SSLRequireSSL
ou
- SSLRequire
(parce que c'est ainsi que le mécanisme
+ Cette option force l'interdiction d'accès lorsque
+ SSLRequireSSL
ou SSLRequire
a décidé que
+ l'accès devait être interdit. Par défaut, dans le cas où
+ une directive ``Satisfy any
'' est utilisée, et si
+ d'autres restrictions d'accès ont été franchies, on passe en général
+ outre l'interdiction d'accès due à SSLRequireSSL
ou
+ SSLRequire
(parce que c'est ainsi que le mécanisme
Satisfy
d'Apache doit fonctionner). Pour des
- restrictions d'accès plus strictes, vous pouvez cependant utiliser
+ restrictions d'accès plus strictes, vous pouvez cependant utiliser
SSLRequireSSL
et/ou SSLRequire
en
combinaison avec une option ``SSLOptions
+StrictRequire
''. Une directive ``Satisfy Any
''
- n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de
+ n'a alors aucune chance d'autoriser l'accès si mod_ssl a décidé de
l'interdire.
OptRenegotiate
- Cette option active la gestion optimisée de la renégociation des - connexions SSL intervenant lorsque les directives SSL sont utilisées - dans un contexte de répertoire. Par défaut un schéma strict est - appliqué, et chaque reconfiguration des paramètres SSL au - niveau du répertoire implique une phase de renégociation SSL - complète. Avec cette option, mod_ssl essaie d'éviter les - échanges non nécessaires en effectuant des vérifications de - paramètres plus granulaires (mais tout de même efficaces). - Néanmoins, ces vérifications granulaires peuvent ne pas correspondre - à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer - cette option que dans un contexte de répertoire.
+ Cette option active la gestion optimisée de la renégociation des + connexions SSL intervenant lorsque les directives SSL sont utilisées + dans un contexte de répertoire. Par défaut un schéma strict est + appliqué, et chaque reconfiguration des paramètres SSL au + niveau du répertoire implique une phase de renégociation SSL + complète. Avec cette option, mod_ssl essaie d'éviter les + échanges non nécessaires en effectuant des vérifications de + paramètres plus granulaires (mais tout de même efficaces). + Néanmoins, ces vérifications granulaires peuvent ne pas correspondre + à ce qu'attend l'utilisateur, et il est donc recommandé de n'activer + cette option que dans un contexte de répertoire.LegacyDNStringFormat
- Cette option permet d'agir sur la manière dont les valeurs des
- variables SSL_{CLIENT,SERVER}_{I,S}_DN
sont formatées.
- Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format
+ Cette option permet d'agir sur la manière dont les valeurs des
+ variables SSL_{CLIENT,SERVER}_{I,S}_DN
sont formatées.
+ Depuis la version 2.3.11, Apache HTTPD utilise par défaut un format
compatible avec la RFC 2253. Ce format utilise des virgules comme
- délimiteurs entre les attributs, permet l'utilisation de caractères
- non-ASCII (qui sont alors convertis en UTF8), échappe certains
- caractères spéciaux avec des slashes inversés, et trie les attributs
- en plaçant l'attribut "C" en dernière position.
Si l'option LegacyDNStringFormat
est présente, c'est
- l'ancien format qui sera utilisé : les attributs sont triés avec
- l'attribut "C" en première position, les séparateurs sont des
- slashes non inversés, les caractères non-ASCII ne sont pas supportés
- et le support des caractères spéciaux n'est pas fiable.
+ délimiteurs entre les attributs, permet l'utilisation de caractères
+ non-ASCII (qui sont alors convertis en UTF8), échappe certains
+ caractères spéciaux avec des slashes inversés, et trie les attributs
+ en plaçant l'attribut "C" en dernière position.
Si l'option LegacyDNStringFormat
est présente, c'est
+ l'ancien format qui sera utilisé : les attributs sont triés avec
+ l'attribut "C" en première position, les séparateurs sont des
+ slashes non inversés, les caractères non-ASCII ne sont pas supportés
+ et le support des caractères spéciaux n'est pas fiable.
-Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) -n'est pas activé pour la connexion courante. Ceci est très pratique dans -un serveur virtuel où SSL est activé ou dans un répertoire pour se -protéger des erreurs de configuration qui pourraient donner accès à des -ressources protégées. Lorsque cette directive est présente, toutes les -requêtes qui n'utilisent pas SSL sont rejetées.
+Cette directive interdit l'accès si HTTP sur SSL (c'est à dire HTTPS) +n'est pas activé pour la connexion courante. Ceci est très pratique dans +un serveur virtuel où SSL est activé ou dans un répertoire pour se +protéger des erreurs de configuration qui pourraient donner accès à des +ressources protégées. Lorsque cette directive est présente, toutes les +requêtes qui n'utilisent pas SSL sont rejetées.Avec Avec SSLRequire
est obsolète et doit en général être
-remplacée par l'expression SSLRequire
est obsolète et doit en général être
+remplacée par l'expression Require. La syntaxe ap_expr de l'expression Require
est
une extension de la syntaxe de SSLRequire
, avec les
-différences suivantes :SSLRequire
, les opérateurs de comparaison
-<
, <=
, ... sont strictement équivalents
-aux opérateurs lt
, le
, ... , et fonctionnent
-selon une méthode qui compare tout d'abord la longueur des deux chaînes,
-puis l'ordre alphabétique. Les expressions ap_expr, quant à elles, possèdent deux jeux
-d'opérateurs de comparaison : les opérateurs <
,
-<=
, ... effectuent une comparaison alphabétique de
-chaînes, alors que les opérateurs -lt
, -le
,
-... effectuent une comparaison d'entiers. Ces derniers possèdent aussi
+différences suivantes :SSLRequire
, les opérateurs de comparaison
+<
, <=
, ... sont strictement équivalents
+aux opérateurs lt
, le
, ... , et fonctionnent
+selon une méthode qui compare tout d'abord la longueur des deux chaînes,
+puis l'ordre alphabétique. Les expressions ap_expr, quant à elles, possèdent deux jeux
+d'opérateurs de comparaison : les opérateurs <
,
+<=
, ... effectuent une comparaison alphabétique de
+chaînes, alors que les opérateurs -lt
, -le
,
+... effectuent une comparaison d'entiers. Ces derniers possèdent aussi
des alias sans tiret initial : lt
, le
, ...
Cette directive permet de spécifier une condition générale d'accès -qui doit être entièrement satisfaite pour que l'accès soit autorisé. -C'est une directive très puissante, car la condition d'accès spécifiée -est une expression booléenne complexe et arbitraire contenant un nombre -quelconque de vérifications quant aux autorisations d'accès.
+Cette directive permet de spécifier une condition générale d'accès +qui doit être entièrement satisfaite pour que l'accès soit autorisé. +C'est une directive très puissante, car la condition d'accès spécifiée +est une expression booléenne complexe et arbitraire contenant un nombre +quelconque de vérifications quant aux autorisations d'accès.
L'expression doit respecter la syntaxe suivante (fournie ici sous la forme d'une notation dans le style de la grammaire BNF) :
@@ -1790,18 +1790,18 @@ variable ::= "%{" varname "}" function ::= funcname "(" funcargs ")" -Pour varname
, toute variable décrite dans Variables d'environnement pourra être utilisée.
+
Pour varname
, toute variable décrite dans Variables d'environnement pourra être utilisée.
Pour funcname
, vous trouverez la liste des fonctions
disponibles dans la documentation
ap_expr.
expression est interprétée et traduite +
expression est interprétée et traduite sous une forme machine interne lors du chargement de la configuration, -puis évaluée lors du traitement de la requête. Dans le contexte des -fichiers .htaccess, expression est interprétée et exécutée +puis évaluée lors du traitement de la requête. Dans le contexte des +fichiers .htaccess, expression est interprétée et exécutée chaque fois que le fichier .htaccess intervient lors du traitement de la -requête.
+requête.La fonction PeerExtList(identifiant objet)
-recherche une instance d'extension de certificat X.509 identifiée par
+recherche une instance d'extension de certificat X.509 identifiée par
identifiant objet (OID) dans le certificat client. L'expression est
-évaluée à true si la partie gauche de la chaîne correspond exactement à
-la valeur d'une extension identifiée par cet OID (Si plusieurs
-extensions possèdent le même OID, l'une d'entre elles au moins doit
+évaluée à true si la partie gauche de la chaîne correspond exactement Ã
+la valeur d'une extension identifiée par cet OID (Si plusieurs
+extensions possèdent le même OID, l'une d'entre elles au moins doit
correspondre).
L'identifiant objet peut être spécifié soit comme un nom
-descriptif reconnu par la bibliothèque SSL, tel que
-"nsComment"
, soit comme un OID numérique tel que
+
L'identifiant objet peut être spécifié soit comme un nom
+descriptif reconnu par la bibliothèque SSL, tel que
+"nsComment"
, soit comme un OID numérique tel que
"1.2.3.4.5.6"
.
Les expressions contenant des types connus de la bibliothèque -SSL sont transformées en chaînes avant comparaison. Pour les extensions -contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer -d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaires UTF8String, -IA5String, VisibleString, ou BMPString. Si l'extension correspond à un -de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis -comparée avec la partie gauche de l'expression.
Les expressions contenant des types connus de la bibliothèque +SSL sont transformées en chaînes avant comparaison. Pour les extensions +contenant un type non connu de la bibliothèque SSL, mod_ssl va essayer +d'interpréter la valeur s'il s'agit d'un des types ASN.1 primaires UTF8String, +IA5String, VisibleString, ou BMPString. Si l'extension correspond à un +de ces types, la chaîne sera convertie en UTF-8 si nécessaire, puis +comparée avec la partie gauche de l'expression.
Si une renégociation SSL est requise dans un contexte de répertoire, +
Si une renégociation SSL est requise dans un contexte de répertoire,
par exemple avec l'utilisation de
Notez que dans de nombreuses configurations, le client qui envoie un -corps de requête n'est pas forcément digne de confiance, et l'on doit -par conséquent prendre en considération la possibilité d'une attaque de -type déni de service lorsqu'on modifie la valeur de cette directive. +corps de requête n'est pas forcément digne de confiance, et l'on doit +par conséquent prendre en considération la possibilité d'une attaque de +type déni de service lorsqu'on modifie la valeur de cette directive.
-Cette directive permet de contrôler l'accès des clients non-SNI à un serveur
-virtuel à base de nom. Si elle est définie à on
dans le
-serveur virtuel à base de nom par défaut, les
-clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel
-appartenant à cette combinaison IP/port. Par
-contre, si elle est définie à on
dans un serveur virtuel
-quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce
+Cette directive permet de contrôler l'accès des clients non-SNI à un serveur
+virtuel à base de nom. Si elle est définie à on
dans le
+serveur virtuel à base de nom par défaut, les
+clients non-SNI ne seront autorisés à accéder à aucun serveur virtuel
+appartenant à cette combinaison IP/port. Par
+contre, si elle est définie à on
dans un serveur virtuel
+quelconque, les clients non-SNI ne se verront interdire l'accès qu'à ce
serveur.
-Cette option n'est disponible que si httpd a été compilé avec une +Cette option n'est disponible que si httpd a été compilé avec une version d'OpenSSL supportant SNI.
-Cette directive permet de définir le répertoire où sont stockés les clés -et certificats permettant au serveur mandataire de s'authentifier auprès +Cette directive permet de définir le répertoire où sont stockés les clés +et certificats permettant au serveur mandataire de s'authentifier auprès des serveurs distants.
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont -accédés via des noms de fichier sous forme de condensés ou hash. Vous -devez donc aussi créer des liens symboliques nommés +
Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Vous
+devez donc aussi créer des liens symboliques nommés
valeur-de-hashage.N
, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.
Actuellement, les clés privées chiffrées ne sont pas supportées.
+Actuellement, les clés privées chiffrées ne sont pas supportées.
-Cette directive permet de définir le fichier tout-en-un où sont stockés -les clés et certificats permettant au serveur mandataire de -s'authentifier auprès des serveurs distants. +Cette directive permet de définir le fichier tout-en-un où sont stockés +les clés et certificats permettant au serveur mandataire de +s'authentifier auprès des serveurs distants.
-Le fichier spécifié est la simple concaténation des différents fichiers
-de certificats codés en PEM, classés par ordre de préférence. Cette
-directive s'utilise à la place ou en complément de la directive
+Le fichier spécifié est la simple concaténation des différents fichiers
+de certificats codés en PEM, classés par ordre de préférence. Cette
+directive s'utilise à la place ou en complément de la directive
SSLProxyMachineCertificatePath
.
Actuellement, les clés privées chiffrées ne sont pas supportées.
+Actuellement, les clés privées chiffrées ne sont pas supportées.
-Cette directive permet de définir le fichier global où est enregistrée -la chaîne de certification pour tous les certificats clients utilisés. -Elle est nécessaire si le serveur distant présente une liste de +Cette directive permet de définir le fichier global où est enregistrée +la chaîne de certification pour tous les certificats clients utilisés. +Elle est nécessaire si le serveur distant présente une liste de certificats de CA qui ne sont pas les signataires directs d'un des -certificats clients configurés. +certificats clients configurés.
-Ce fichier contient tout simplement la concaténation des différents -fichiers de certificats encodés PEM. Au démarrage, chaque certificat -client configuré est examiné et une chaîne de certification est +Ce fichier contient tout simplement la concaténation des différents +fichiers de certificats encodés PEM. Au démarrage, chaque certificat +client configuré est examiné et une chaîne de certification est construite.
-Si cette directive est définie, tous les certificats contenus dans le
-fichier spécifié seront considérés comme étant de confiance, comme s'ils
-étaient aussi désignés dans la directive Si cette directive est définie, tous les certificats contenus dans le
+fichier spécifié seront considérés comme étant de confiance, comme s'ils
+étaient aussi désignés dans la directive
Lorsqu'un mandataire est configuré pour faire suivre les requêtes +
Lorsqu'un mandataire est configuré pour faire suivre les requêtes vers un serveur SSL distant, cette directive permet de configurer la -vérification du certificat de ce serveur distant.
+vérification du certificat de ce serveur distant.Les valeurs de niveaux disponibles sont les suivantes :
@@ -2051,19 +2051,19 @@ Les valeurs de niveaux disponibles sont les suivantes :En pratique, seuls les niveaux none et -require sont vraiment intéressants, car le niveau +require sont vraiment intéressants, car le niveau optional ne fonctionne pas avec tous les serveurs, et -le niveau optional_no_ca va tout à fait à l'encontre de -l'idée que l'on peut se faire de l'authentification (mais peut tout de -même être utilisé pour établir des pages de test SSL, etc...).
+le niveau optional_no_ca va tout à fait à l'encontre de +l'idée que l'on peut se faire de l'authentification (mais peut tout de +même être utilisé pour établir des pages de test SSL, etc...).-Cette directive permet de définir le niveau de profondeur maximum -jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de -décider que le serveur distant ne possède pas de certificat valide.
+Cette directive permet de définir le niveau de profondeur maximum +jusqu'auquel mod_ssl doit aller au cours de sa vérification avant de +décider que le serveur distant ne possède pas de certificat valide.
La profondeur correspond en fait au nombre maximum de fournisseurs de
-certificats intermédiaires, c'est à dire le nombre maximum de
+certificats intermédiaires, c'est à dire le nombre maximum de
certificats
-de CA que l'on peut consulter lors de la vérification du certificat du
+de CA que l'on peut consulter lors de la vérification du certificat du
serveur distant. Une profondeur de 0 signifie que seuls les certificats
-de serveurs distants auto-signés sont acceptés, et la profondeur par
-défaut de 1 que le certificat du serveur distant peut être soit
-auto-signé, soit signé par une CA connue directement du serveur (en
-d'autres termes, le certificat de CA est référencé par la directive
+de serveurs distants auto-signés sont acceptés, et la profondeur par
+défaut de 1 que le certificat du serveur distant peut être soit
+auto-signé, soit signé par une CA connue directement du serveur (en
+d'autres termes, le certificat de CA est référencé par la directive
-Cette directive permet de définir si l'expiration du certificat du -serveur distant doit être vérifiée ou non. Si la vérification échoue, un -code d'état 502 (Bad Gateway) est envoyé. +Cette directive permet de définir si l'expiration du certificat du +serveur distant doit être vérifiée ou non. Si la vérification échoue, un +code d'état 502 (Bad Gateway) est envoyé.
-Cette directive permet de définir si le champ CN du certificat -du serveur distant doit être comparé au nom de serveur de l'URL de la -requête. S'ils ne correspondent pas, un -code d'état 502 (Bad Gateway) est envoyé. +Cette directive permet de définir si le champ CN du certificat +du serveur distant doit être comparé au nom de serveur de l'URL de la +requête. S'ils ne correspondent pas, un +code d'état 502 (Bad Gateway) est envoyé.
-A partir de la version 2.4.5, SSLProxyCheckPeerCN a été remplacé par SSLProxyCheckPeerName off
a
-été spécifié.
+été spécifié.
-Cette directive permet de configurer la vérification du nom d'hôte dans
+Cette directive permet de configurer la vérification du nom d'hôte dans
les certificats de serveur lorsque mod_ssl agit en tant que client SSL.
-La vérification est concluante si le nom d'hôte de l'URI de la requête
-correspond soit à l'extension subjectAltName, soit à l'un des attributs
-CN dans le sujet du certificat. Si la vérification échoue, la requête
-SSL est annulée et un code d'erreur 502 (Bad Gateway) est renvoyé. Cette
+La vérification est concluante si le nom d'hôte de l'URI de la requête
+correspond soit à l'extension subjectAltName, soit à l'un des attributs
+CN dans le sujet du certificat. Si la vérification échoue, la requête
+SSL est annulée et un code d'erreur 502 (Bad Gateway) est renvoyé. Cette
directive remplace la directive
-La vérification du nom d'hôte avec caractères générique est supportée de
-la manière suivante : les entrées subjectAltName de type dNSName ou les
-attributs CN commençant par *.
correspondront à tout nom
-DNS comportant le même nombre d'éléments et le même suffixe (par
-exemple, *.example.org
correspondra à
-foo.example.org
, mais pas à
+La vérification du nom d'hôte avec caractères générique est supportée de
+la manière suivante : les entrées subjectAltName de type dNSName ou les
+attributs CN commençant par *.
correspondront à tout nom
+DNS comportant le même nombre d'éléments et le même suffixe (par
+exemple, *.example.org
correspondra Ã
+foo.example.org
, mais pas Ã
foo.bar.example.org
).
*.example.org
correspondra à
-Cette directive permet d'activer/désactiver l'utilisation du moteur de
-protocole SSL/TLS pour le mandataire. On l'utilise en général à
-l'intérieur d'une section
Notez que la directive SSLProxyEngine ne doit généralement pas être -utilisée dans le cadre d'un serveur virtuel qui agit en tant que +
Notez que la directive SSLProxyEngine ne doit généralement pas être +utilisée dans le cadre d'un serveur virtuel qui agit en tant que mandataire direct (via les directives <Proxy> ou -<ProxyRequest>). SSLProxyEngine n'est pas nécessaire pour activer -un serveur mandataire direct pour les requêtes SSL/TLS.
+<ProxyRequest>). SSLProxyEngine n'est pas nécessaire pour activer +un serveur mandataire direct pour les requêtes SSL/TLS.-Cette directive permet de définir les protocoles SSL que mod_ssl peut -utiliser lors de l'élaboration de son environnement de serveur pour la +Cette directive permet de définir les protocoles SSL que mod_ssl peut +utiliser lors de l'élaboration de son environnement de serveur pour la fonction de mandataire. Il ne se connectera qu'aux serveurs utilisant un -des protocoles spécifiés.
-Veuillez vous reporter à la directive Veuillez vous reporter à la directive
Cette directive est équivalente à la directive
-SSLCipherSuite
, mais s'applique à une connexion de
-mandataire. Veuillez vous reporter à la directive SSLCipherSuite
, mais s'applique à une connexion de
+mandataire. Veuillez vous reporter à la directive
-Cette directive permet de spécifier le répertoire où sont stockés les -certificats des Autorités de Certification (CAs) pour les serveurs -distants auxquels vous avez à faire. On les utilise pour vérifier le +Cette directive permet de spécifier le répertoire où sont stockés les +certificats des Autorités de Certification (CAs) pour les serveurs +distants auxquels vous avez à faire. On les utilise pour vérifier le certificat du serveur distant lors de l'authentification de ce dernier.
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de certificats dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de certificats dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
valeur-de-hashage.N
, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.
-Cette directive permet de définir le fichier tout-en-un où sont
-stockés les certificats des Autorités de Certification (CA) pour les
-serveurs distants auxquels vous avez à faire. On les utilise
+Cette directive permet de définir le fichier tout-en-un où sont
+stockés les certificats des Autorités de Certification (CA) pour les
+serveurs distants auxquels vous avez à faire. On les utilise
lors de l'authentification du serveur distant. Un tel fichier contient
-la simple concaténation des différents fichiers de certificats codés en
-PEM, classés par ordre de préférence. On peut utiliser cette directive à
-la place et/ou en complément de la directive
-Cette directive permet de définir le répertoire où sont stockées les -Listes de Révocation de Certificats (CRL) des Autorités de Certification -(CAs) pour les serveurs distants auxquels vous avez à faire. On les -utilise pour révoquer les certificats des serveurs distants au cours de +Cette directive permet de définir le répertoire où sont stockées les +Listes de Révocation de Certificats (CRL) des Autorités de Certification +(CAs) pour les serveurs distants auxquels vous avez à faire. On les +utilise pour révoquer les certificats des serveurs distants au cours de l'authentification de ces derniers.
-Les fichiers de ce répertoire doivent être codés en PEM et ils sont
-accédés via des noms de fichier sous forme de condensés ou hash. Il ne
-suffit donc pas de placer les fichiers de CRL dans ce répertoire
-: vous devez aussi créer des liens symboliques nommés
+Les fichiers de ce répertoire doivent être codés en PEM et ils sont
+accédés via des noms de fichier sous forme de condensés ou hash. Il ne
+suffit donc pas de placer les fichiers de CRL dans ce répertoire
+: vous devez aussi créer des liens symboliques nommés
valeur-de-hashage.rN
, et vous devez toujours vous
-assurer que ce répertoire contient les liens symboliques appropriés.
-Cette directive permet de définir le fichier tout-en-un où sont
-rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
+Cette directive permet de définir le fichier tout-en-un où sont
+rassemblées les Listes de Révocation de Certificats (CRLs) des Autorités
de certification (CAs) pour les serveurs distants auxquels vous
-avez à faire. On les utilise pour l'authentification des serveurs
-distants. Un tel fichier contient la simple concaténation des différents
-fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette
-directive peut être utilisée à la place et/ou en complément de la
+avez à faire. On les utilise pour l'authentification des serveurs
+distants. Un tel fichier contient la simple concaténation des différents
+fichiers de CRLs codés en PEM, classés par ordre de préférence. Cette
+directive peut être utilisée à la place et/ou en complément de la
directive
-Active la vérification des révocations basée sur les Listes de
-révocations de Certificats (CRL) pour les serveurs distants
+Active la vérification des révocations basée sur les Listes de
+révocations de Certificats (CRL) pour les serveurs distants
auxquels vous vous connectez. A moins une des directives chain
(valeur
-recommandée), les vérifications CRL sont effectuées sur tous les
-certificats de la chaîne, alors que la valeur leaf
limite
-la vérification au certificat hors chaîne (la feuille).
+module="mod_ssl">SSLProxyCARevocationPath doit être définie.
+Lorsque cette directive est définie à chain
(valeur
+recommandée), les vérifications CRL sont effectuées sur tous les
+certificats de la chaîne, alors que la valeur leaf
limite
+la vérification au certificat hors chaîne (la feuille).
chain
ou
-leaf
, les CRLs doivent être disponibles pour que la
-validation réussissechain
ou
+leaf
, les CRLs doivent être disponibles pour que la
+validation réussisse
-Avant la version 2.3.15, les vérifications CRL dans mod_ssl
-réussissaient même si aucune CRL n'était trouvée dans les chemins
-définis par les directives "CRL introuvable"
.
-Cette variable permet de définir le champ "user" de l'objet de la
-requête Apache. Ce champ est utilisé par des modules de plus bas niveau
-pour identifier l'utilisateur avec une chaîne de caractères. En
+Cette variable permet de définir le champ "user" de l'objet de la
+requête Apache. Ce champ est utilisé par des modules de plus bas niveau
+pour identifier l'utilisateur avec une chaîne de caractères. En
particulier, l'utilisation de cette directive peut provoquer la
-définition de la variable d'environnement REMOTE_USER
.
-La valeur de l'argument nom-var peut correspondre à toute REMOTE_USER.
+La valeur de l'argument nom-var peut correspondre à toute variable d'environnement SSL.
Notez que cette directive est sans effet si l'option
-FakeBasicAuth
est utilisée (voir FakeBasicAuth est utilisée (voir SSLOptions).
Normalement, ce sont les préférences du client qui sont prises en +
Normalement, ce sont les préférences du client qui sont prises en compte lors du choix d'un algorithme de chiffrement au cours d'une -négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les -préférences du serveur qui seront prises en compte à la place.
+négociation SSLv3 ou TLSv1. Si cette directive est activée, ce sont les +préférences du serveur qui seront prises en compte à la place.-Cette directive permet d'activer l'utilisation d'une carte accélératrice +Cette directive permet d'activer l'utilisation d'une carte accélératrice de chiffrement qui prendra en compte certaines parties du traitement -relatif à SSL. Cette directive n'est utilisable que si la boîte à -outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 -et supérieures d'OpenSSL possèdent par défaut le support "engine", alors -qu'avec la version 0.9.6, il faut utiliser les distributions séparées +relatif à SSL. Cette directive n'est utilisable que si la boîte à +outils SSL à été compilée avec le support "engine" ; les versions 0.9.7 +et supérieures d'OpenSSL possèdent par défaut le support "engine", alors +qu'avec la version 0.9.6, il faut utiliser les distributions séparées "-engine".
-Pour déterminer les moteurs supportés, exécutez la commande +
Pour déterminer les moteurs supportés, exécutez la commande
"openssl engine
".
Cette directive permet d'activer la validation OCSP de la chaîne de -certificats du client. Si elle est activée, les certificats de la chaîne -de certificats du client seront validés auprès d'un répondeur OCSP, une -fois la vérification normale effectuée (vérification des CRLs +
Cette directive permet d'activer la validation OCSP de la chaîne de +certificats du client. Si elle est activée, les certificats de la chaîne +de certificats du client seront validés auprès d'un répondeur OCSP, une +fois la vérification normale effectuée (vérification des CRLs incluse).
-Le répondeur OCSP utilisé est soit extrait du certificat lui-même,
-soit spécifié dans la configuration ; voir les directives
Cette directive permet de définir le répondeur OCSP par défaut. Si la +
Cette directive permet de définir le répondeur OCSP par défaut. Si la
directive
Force l'utilisation, au cours d'une validation OCSP de certificat, du -répondeur OCSP par défaut spécifié dans la configuration, que le -certificat en cours de vérification fasse mention d'un répondeur OCSP ou +répondeur OCSP par défaut spécifié dans la configuration, que le +certificat en cours de vérification fasse mention d'un répondeur OCSP ou non.
Cette option permet de définir la dérive temporelle maximale -autorisée pour les réponses OCSP (lors de la vérification des champs +
Cette option permet de définir la dérive temporelle maximale
+autorisée pour les réponses OCSP (lors de la vérification des champs
thisUpdate
et nextUpdate
).
Cette option permet de définir l'âge maximum autorisé (la
-"fraicheur") des réponses OCSP. La valeur par défault (-1
)
-signifie qu'aucun âge maximum n'est défini ; autrement dit, les
-réponses OCSP sont considérées comme valides tant que la valeur de leur
+
Cette option permet de définir l'âge maximum autorisé (la
+"fraicheur") des réponses OCSP. La valeur par défault (-1
)
+signifie qu'aucun âge maximum n'est défini ; autrement dit, les
+réponses OCSP sont considérées comme valides tant que la valeur de leur
champ nextUpdate
se situe dans le futur.
Cette option permet de définir le délai d'attente pour les requêtes à
-destination des répondeurs OCSP, lorsque la directive
Cette option permet de définir le délai d'attente pour les requêtes Ã
+destination des répondeurs OCSP, lorsque la directive
Cette directive permet de définir l'URL d'un mandataire HTTP qui devra être +utilisé pour toutes les requêtes vers un répondeur OCSP.
Comme il a été spécifié, toutes les versions des protocoles SSL et -TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une +
Comme il a été spécifié, toutes les versions des protocoles SSL et +TLS (jusqu'à la version 1.2 de TLS incluse) étaient vulnérables à une attaque de type Man-in-the-Middle (CVE-2009-3555) -au cours d'une renégociation. Cette vulnérabilité permettait à un -attaquant de préfixer la requête HTTP (telle qu'elle était vue du -serveur) avec un texte choisi. Une extension du protocole a été -développée pour corriger cette vulnérabilité, sous réserve qu'elle soit -supportée par le client et le serveur.
- -Si
Si
Si cette directive est activée, les connexions SSL seront vulnérables
-aux attaques de type préfixe Man-in-the-Middle comme décrit dans Si cette directive est activée, les connexions SSL seront vulnérables
+aux attaques de type préfixe Man-in-the-Middle comme décrit dans CVE-2009-3555.
La variable d'environnement SSL_SECURE_RENEG
peut être
-utilisée dans un script SSI ou CGI pour déterminer si la renégociation
-sécurisée est supportée pour une connexion SSL donnée.
La variable d'environnement SSL_SECURE_RENEG
peut être
+utilisée dans un script SSI ou CGI pour déterminer si la renégociation
+sécurisée est supportée pour une connexion SSL donnée.
Cette directive permet d'activer l'"Agrafage OCSP" (OCSP stapling)
-selon la définition de l'extension TLS "Certificate Status Request"
-fournie dans la RFC 6066. Si elle est activée et si le client le
-demande, mod_ssl va inclure une réponse OCSP à propos de son propre
-certificat dans la négociation TLS. Pour pouvoir activer l'Agrafage
-OCSP, il est nécessaire de configurer un
L'agrafage OCSP dispense le client de requérir le serveur OCSP
-directement ; il faut cependant noter que selon les spécifications de la
-RFC 6066, la réponse CertificateStatus
du serveur ne peut
-inclure une réponse OCSP que pour un seul certificat. Pour les
-certificats de serveur comportant des certificats de CA intermédiaires
-dans leur chaîne (c'est un cas typique de nos jours), l'implémentation
+
L'agrafage OCSP dispense le client de requérir le serveur OCSP
+directement ; il faut cependant noter que selon les spécifications de la
+RFC 6066, la réponse CertificateStatus
du serveur ne peut
+inclure une réponse OCSP que pour un seul certificat. Pour les
+certificats de serveur comportant des certificats de CA intermédiaires
+dans leur chaîne (c'est un cas typique de nos jours), l'implémentation
actuelle de l'agrafage OCSP n'atteint que partiellement l'objectif d'
-"économie en questions/réponse et en ressources". Pour plus de détails,
+"économie en questions/réponse et en ressources". Pour plus de détails,
voir la RFC 6961 (TLS
Multiple Certificate Status Extension).
Lorsque l'agrafage OCSP est activé, le mutex
-ssl-stapling
contrôle l'accès au cache de l'agrafage OCSP
-afin de prévenir toute corruption, et le mutex
-sss-stapling-refresh
contrôle le raffraîchissement des
-réponses OCSP. Ces mutex peuvent être configurés via la directive
+
Lorsque l'agrafage OCSP est activé, le mutex
+ssl-stapling
contrôle l'accès au cache de l'agrafage OCSP
+afin de prévenir toute corruption, et le mutex
+sss-stapling-refresh
contrôle le raffraîchissement des
+réponses OCSP. Ces mutex peuvent être configurés via la directive
Si
Si none
et nonenotnull
, cette
-directive supporte les mêmes types de stockage que la directive
+directive supporte les mêmes types de stockage que la directive
Cette directive permet de spécifier l'intervalle de temps maximum que
-mod_ssl va calculer en faisant la différence entre les contenus des
-champs nextUpdate
et thisUpdate
des réponses
-OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette
+
Cette directive permet de spécifier l'intervalle de temps maximum que
+mod_ssl va calculer en faisant la différence entre les contenus des
+champs nextUpdate
et thisUpdate
des réponses
+OCSP incluses dans la négociation TLS. Pour pouvoir utiliser cette
directive,
Cette directive permet de définir le temps d'attente maximum lorsque -mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une -réponse destinée à être incluse dans les négociations TLS avec les +
Cette directive permet de définir le temps d'attente maximum lorsque
+mod_ssl envoie une requête vers un serveur OCSP afin d'obtenir une
+réponse destinée à être incluse dans les négociations TLS avec les
clients (
Cette directive permet de définir l'âge maximum autorisé -("fraîcheur") des réponses OCSP incluses dans la négociation TLS +
Cette directive permet de définir l'âge maximum autorisé
+("fraîcheur") des réponses OCSP incluses dans la négociation TLS
(-1
)
-ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont
-considérées comme valides à partir du moment où le contenu de leur champ
+avoir été activée au préalable). La valeur par défaut (-1
)
+ne définit aucun âge maximum, ce qui signifie que les réponses OCSP sont
+considérées comme valides à partir du moment où le contenu de leur champ
nextUpdate
se trouve dans le futur.
Cette directive permet de définir la durée de vie des réponses OCSP
-dans le cache configuré via la directive
Lorsque cette directive est activée, mod_ssl va transmettre au client les
-réponses concernant les requêtes OCSP
-échouées (comme les réponses avec un statut général autre que
-"successful", les réponses avec un statut de certificat autre que
-"good", les réponses arrivées à expiration, etc...).
-Lorsqu'elle est à off
, seules les réponses avec un
-statut de certificat égal à "good" seront incluses dans la négociation
+
Lorsque cette directive est activée, mod_ssl va transmettre au client les
+réponses concernant les requêtes OCSP
+échouées (comme les réponses avec un statut général autre que
+"successful", les réponses avec un statut de certificat autre que
+"good", les réponses arrivées à expiration, etc...).
+Lorsqu'elle est à off
, seules les réponses avec un
+statut de certificat égal à "good" seront incluses dans la négociation
TLS.
Lorsque cette directive est activée, et si une requête vers un
-serveur OCSP à des fins d'inclusion dans une négociation TLS échoue,
-mod_ssl va générer une réponse "tryLater" pour le client (
Lorsque cette directive est activée, et si une requête vers un
+serveur OCSP à des fins d'inclusion dans une négociation TLS échoue,
+mod_ssl va générer une réponse "tryLater" pour le client (
Cette directive permet de définir la durée de vie des réponses -invalides dans le cache pour agrafage OCSP configuré via la +
Cette directive permet de définir la durée de vie des réponses
+invalides dans le cache pour agrafage OCSP configuré via la
directive
Cette directive permet de remplacer l'URI du serveur OCSP extraite de -l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer +l'extension authorityInfoAccess (AIA) du certificat. Elle peut s'avérer utile lorsqu'on passe par un mandataire
Cette directive permet de définir une clé secrète pour le chiffrement -et le déchiffrement des tickets de session TLS selon les préconisations +
Cette directive permet de définir une clé secrète pour le chiffrement +et le déchiffrement des tickets de session TLS selon les préconisations de la RFC 5077. Elle a -été conçue à l'origine pour les environnements de clusters où les -données des sessions TLS doivent être partagées entre plusieurs noeuds. +été conçue à l'origine pour les environnements de clusters où les +données des sessions TLS doivent être partagées entre plusieurs noeuds. Pour les configurations ne comportant qu'une seule instance de httpd, il -est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au -démarrage du serveur.
-Le fichier doit contenir 48 octets de données aléatoires créées de -préférence par une source à haute entropie. Sur un système de type UNIX, -il est possible de créer le fichier contenant la clé de la manière +est préférable d'utiliser les clés (aléatoires) générées par mod_ssl au +démarrage du serveur.
+Le fichier doit contenir 48 octets de données aléatoires créées de +préférence par une source à haute entropie. Sur un système de type UNIX, +il est possible de créer le fichier contenant la clé de la manière suivante :
Ces clés doivent être renouvelées fréquemment, car il s'agit du seul +
Ces clés doivent être renouvelées fréquemment, car il s'agit du seul moyen d'invalider un ticket de session existant - OpenSSL ne permet pas -actuellement de spécifier une limite à la durée de -vie des tickets. Une nouvelle clé ne peut être utilisée qu'après avoir -redémarré le serveur. Tous les tickets de session existants deviennent -invalides après le redémarrage du serveur.
+actuellement de spécifier une limite à la durée de +vie des tickets. Une nouvelle clé ne peut être utilisée qu'après avoir +redémarré le serveur. Tous les tickets de session existants deviennent +invalides après le redémarrage du serveur.Ce fichier contient des données sensibles et doit donc être protégé -par des permissions similaires à celles du fichier spécifié par la +
Ce fichier contient des données sensibles et doit donc être protégé
+par des permissions similaires à celles du fichier spécifié par la
directive
on
dans la version 2.4.3.on
dans la version 2.4.3.Cette directive permet d'activer la compression au niveau SSL.
L'activation de la compression est à l'origine de problèmes de -sécurité dans la plupart des configurations (l'attaque nommée CRIME).
+L'activation de la compression est à l'origine de problèmes de +sécurité dans la plupart des configurations (l'attaque nommée CRIME).
Cette directive permet d'activer ou de désactiver l'utilisation des +
Cette directive permet d'activer ou de désactiver l'utilisation des tickets de session TLS (RFC 5077).
Les tickets de session TLS sont activés par défaut. Les utiliser sans -redémarrer le serveur selon une périodicité appropriée (par exemple -quotidiennement) compromet cependant le niveau de confidentialité.
+Les tickets de session TLS sont activés par défaut. Les utiliser sans +redémarrer le serveur selon une périodicité appropriée (par exemple +quotidiennement) compromet cependant le niveau de confidentialité.
Cette directive permet à mod_ssl d'accéder à l'API SSL_CONF
-d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des
-directives supplémentaires pour
Cette directive permet à mod_ssl d'accéder à l'API SSL_CONF
+d'OpenSSL. Il n'est ainsi plus nécessaire d'implémenter des
+directives supplémentaires pour
Le jeu de commandes disponibles pour la directive
-
Certaines commandes peuvent remplacer des directives existantes
(comme
Cette page contient la liste des éléments actuellement disponibles de +
Cette page contient la liste des éléments actuellement disponibles de la Documentation du serveur HTTP Apache Version &httpd.major;.&httpd.minor;.