25f72e2845c89a153ca9d3279d7feccbc912524ematthew<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<!-- English Revision: 1635558:1673945 (outdated) -->
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<!-- French translation : Lucien GENTIS -->
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<!-- Reviewed by : Vincent Deffontaines -->
25f72e2845c89a153ca9d3279d7feccbc912524ematthew Licensed to the Apache Software Foundation (ASF) under one or more
25f72e2845c89a153ca9d3279d7feccbc912524ematthew contributor license agreements. See the NOTICE file distributed with
25f72e2845c89a153ca9d3279d7feccbc912524ematthew this work for additional information regarding copyright ownership.
25f72e2845c89a153ca9d3279d7feccbc912524ematthew The ASF licenses this file to You under the Apache License, Version 2.0
25f72e2845c89a153ca9d3279d7feccbc912524ematthew (the "License"); you may not use this file except in compliance with
25f72e2845c89a153ca9d3279d7feccbc912524ematthew the License. You may obtain a copy of the License at
25f72e2845c89a153ca9d3279d7feccbc912524ematthew Unless required by applicable law or agreed to in writing, software
25f72e2845c89a153ca9d3279d7feccbc912524ematthew distributed under the License is distributed on an "AS IS" BASIS,
25f72e2845c89a153ca9d3279d7feccbc912524ematthew WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25f72e2845c89a153ca9d3279d7feccbc912524ematthew See the License for the specific language governing permissions and
25f72e2845c89a153ca9d3279d7feccbc912524ematthew limitations under the License.
25f72e2845c89a153ca9d3279d7feccbc912524ematthew <title>Chiffrement fort SSL/TLS : Mode d'emploi</title>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<p>Ce document doit vous permettre de démarrer et de faire fonctionner
25f72e2845c89a153ca9d3279d7feccbc912524ematthewune configuration de base. Avant de vous lancer dans l'application de
25f72e2845c89a153ca9d3279d7feccbc912524ematthewtechniques avancées, il est fortement recommandé de lire le reste
25f72e2845c89a153ca9d3279d7feccbc912524ematthewde la documentation SSL afin d'en comprendre le fonctionnement de
25f72e2845c89a153ca9d3279d7feccbc912524ematthewmanière plus approfondie.</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<p>Votre configuration SSL doit comporter au moins les directives
25f72e2845c89a153ca9d3279d7feccbc912524ematthewsuivantes :</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<VirtualHost *:443>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew SSLEngine on
25f72e2845c89a153ca9d3279d7feccbc912524ematthew</VirtualHost>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew</highlight>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<title>Suites de chiffrement et mise en application de la sécurité
25f72e2845c89a153ca9d3279d7feccbc912524ematthewde haut niveau</title>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<li><a href="#onlystrong">Comment créer un serveur SSL
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<li><a href="#strongurl">Comment créer un serveur qui accepte tous les types de
25f72e2845c89a153ca9d3279d7feccbc912524ematthewchiffrement en général, mais exige un chiffrement fort pour pouvoir
25f72e2845c89a153ca9d3279d7feccbc912524ematthewaccéder à une URL particulière ?</a></li>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<title>Comment créer un serveur SSL qui n'accepte
25f72e2845c89a153ca9d3279d7feccbc912524ematthewque le chiffrement fort ?</title>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew <p>Les directives suivantes ne permettent que les
25f72e2845c89a153ca9d3279d7feccbc912524ematthew chiffrements de plus haut niveau :</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew SSLCipherSuite HIGH:!aNULL:!MD5
25f72e2845c89a153ca9d3279d7feccbc912524ematthew </highlight>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew <p>Avec la configuration qui suit, vous indiquez une préférence pour
25f72e2845c89a153ca9d3279d7feccbc912524ematthew des algorityhmes de chiffrement spécifiques optimisés en matière de
25f72e2845c89a153ca9d3279d7feccbc912524ematthew rapidité (le choix final sera opéré par mod_ssl, dans la mesure ou le
25f72e2845c89a153ca9d3279d7feccbc912524ematthew client les supporte) :</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthewSSLCipherSuite RC4-SHA:AES128-SHA:HIGH:!aNULL:!MD5
25f72e2845c89a153ca9d3279d7feccbc912524ematthewSSLHonorCipherOrder on
25f72e2845c89a153ca9d3279d7feccbc912524ematthew </highlight>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<title>Comment créer un serveur qui accepte tous les types de
25f72e2845c89a153ca9d3279d7feccbc912524ematthewchiffrement en général, mais exige un chiffrement fort pour pouvoir
25f72e2845c89a153ca9d3279d7feccbc912524ematthewaccéder à une URL particulière ?</title>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew <p>Dans ce cas bien évidemment, une directive <directive
25f72e2845c89a153ca9d3279d7feccbc912524ematthew module="mod_ssl">SSLCipherSuite</directive> au niveau du serveur principal
25f72e2845c89a153ca9d3279d7feccbc912524ematthew qui restreint le choix des suites de chiffrement aux versions les plus
25f72e2845c89a153ca9d3279d7feccbc912524ematthew fortes ne conviendra pas. <module>mod_ssl</module> peut cependant être
25f72e2845c89a153ca9d3279d7feccbc912524ematthew reconfiguré au sein de blocs <code>Location</code> qui permettent
25f72e2845c89a153ca9d3279d7feccbc912524ematthew d'adapter la configuration générale à un répertoire spécifique ;
25f72e2845c89a153ca9d3279d7feccbc912524ematthew <module>mod_ssl</module> peut alors forcer automatiquement une
25f72e2845c89a153ca9d3279d7feccbc912524ematthew renégociation des paramètres SSL pour parvenir au but recherché.
25f72e2845c89a153ca9d3279d7feccbc912524ematthew Cette configuration peut se présenter comme suit :</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew# soyons très tolérant a priori
341664ce1d0029ac39e10f21cebc2d57bac59ce1matthewSSLCipherSuite ALL:!aNULL:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP:+eNULL
25f72e2845c89a153ca9d3279d7feccbc912524ematthew# sauf pour https://hostname/strong/area/ et ses sous-répertoires
c474d6853192b277a73b133d56970bbf118d3fe3mark# qui exigent des chiffrements forts
820ed286b08eac25f26a4904ca06e9d600b612aemarkSSLCipherSuite HIGH:!aNULL:!MD5
c474d6853192b277a73b133d56970bbf118d3fe3mark</Location>
c474d6853192b277a73b133d56970bbf118d3fe3mark </highlight>
c474d6853192b277a73b133d56970bbf118d3fe3mark<!-- /ciphersuites -->
c474d6853192b277a73b133d56970bbf118d3fe3mark<p>Le protocole de contrôle du statut des certificats en ligne (Online
c474d6853192b277a73b133d56970bbf118d3fe3markCertificate Status Protocol - OCSP) est un mécanisme permettant de
c474d6853192b277a73b133d56970bbf118d3fe3markdéterminer si un certificat a été révoqué ou non, et l'agrafage OCSP en
820ed286b08eac25f26a4904ca06e9d600b612aemarkest une fonctionnalité particulière par laquelle le serveur, par exemple
820ed286b08eac25f26a4904ca06e9d600b612aemarkhttpd et mod_ssl, maintient une liste des réponses OCSP actuelles pour
c474d6853192b277a73b133d56970bbf118d3fe3markses certificats et l'envoie aux clients qui communiquent avec lui. La
c474d6853192b277a73b133d56970bbf118d3fe3markplupart des certificats contiennent l'adresse d'un répondeur OCSP maintenu
c474d6853192b277a73b133d56970bbf118d3fe3markpar l'Autorité de Certification (CA) spécifiée, et mod_ssl peut requérir
c474d6853192b277a73b133d56970bbf118d3fe3markce répondeur pour obtenir une réponse signée qui peut être envoyée aux
c474d6853192b277a73b133d56970bbf118d3fe3markclients qui communiquent avec le serveur.</p>
c474d6853192b277a73b133d56970bbf118d3fe3mark<p>L'agrafage OCSP est la méthode la plus performante pour obtenir le
c474d6853192b277a73b133d56970bbf118d3fe3markstatut d'un certificat car il est disponible au niveau du serveur, et le
820ed286b08eac25f26a4904ca06e9d600b612aemarkclient n'a donc pas besoin d'ouvrir une nouvelle connexion vers
820ed286b08eac25f26a4904ca06e9d600b612aemarkl'autorité de certification. Autres avantages de l'absence de
820ed286b08eac25f26a4904ca06e9d600b612aemarkcommunication entre le client et l'autorité de certification :
c474d6853192b277a73b133d56970bbf118d3fe3markl'autorité de certification n'a pas accès à l'historique de navigation
c474d6853192b277a73b133d56970bbf118d3fe3markdu client, et l'obtention du statut du certificat est plus efficace car
c474d6853192b277a73b133d56970bbf118d3fe3markelle n'est plus assujettie à une surcharge éventuelle des serveurs de
25f72e2845c89a153ca9d3279d7feccbc912524ematthewl'autorité de certification.</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<p>La charge du serveur est moindre car la réponse qu'il a obtenu du
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewrépondeur OCSP peut être réutilisée par tous les clients qui utilisent
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewle même certificat dans la limite du temps de validité de la réponse.</p>
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthew<p>Une fois le support général SSL correctement configuré, l'activation
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewde l'agrafage OCSP ne requiert que des modifications mineures
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewà la configuration de httpd et il suffit en général de l'ajout de ces
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewdeux directives :</p>
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewSSLUseStapling On
25f72e2845c89a153ca9d3279d7feccbc912524ematthewSSLStaplingCache "shmcb:ssl_stapling(32768)"
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthew </highlight>
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<p>Ces directives sont placées de façon à ce qu'elles aient une portée
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewglobale (et particulièrement en dehors de toute section VirtualHost), le
25f72e2845c89a153ca9d3279d7feccbc912524ematthewplus souvent où sont placées les autres directives de configuration
25f72e2845c89a153ca9d3279d7feccbc912524ematthewglobales SSL, comme <code>conf/extra/httpd-ssl.conf</code> pour les
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewinstallations de httpd à partir des sources, ou
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthew<code>/etc/apache2/mods-enabled/ssl.conf</code> pour Ubuntu ou Debian,
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthew<p>Cette directive <directive>SSLStaplingCache</directive> particulière
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewnécessite le chargement du module <module>mod_socache_shmcb</module> (à
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewcause du préfixe <code>shmcb</code> de son argument). Ce module est en
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthewgénéral déjà activé pour la directive
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthew<directive>SSLSessionCache</directive>, ou pour des modules autres que
5ffeac9af157b599c7fb34a23d6c50161fbd6a6cmatthew<module>mod_ssl</module>. Si vous activez un cache de session SSL
25f72e2845c89a153ca9d3279d7feccbc912524ematthewutilisant un mécanisme autre que <module>mod_socache_shmcb</module>,
25f72e2845c89a153ca9d3279d7feccbc912524ematthewutilisez aussi ce mécanisme alternatif pour la directive
25f72e2845c89a153ca9d3279d7feccbc912524ematthew<directive>SSLStaplingCache</directive>. Par exemple :</p>
25f72e2845c89a153ca9d3279d7feccbc912524ematthewSSLSessionCache "dbm:ssl_scache"
503c353d31964b01e67395d3b1207f3e408dd774matthewSSLStaplingCache "dbm:ssl_stapling"
503c353d31964b01e67395d3b1207f3e408dd774matthew </highlight>
503c353d31964b01e67395d3b1207f3e408dd774matthew<p>Vous pouvez utiliser la commande openssl pour vérifier que votre
503c353d31964b01e67395d3b1207f3e408dd774matthewserveur envoie bien une réponse OCSP :</p>
503c353d31964b01e67395d3b1207f3e408dd774matthew$ openssl s_client -connect www.example.com:443 -status -servername www.example.com
503c353d31964b01e67395d3b1207f3e408dd774matthewOCSP response:
503c353d31964b01e67395d3b1207f3e408dd774matthew======================================
503c353d31964b01e67395d3b1207f3e408dd774matthewOCSP Response Data:
503c353d31964b01e67395d3b1207f3e408dd774matthew OCSP Response Status: successful (0x0)
503c353d31964b01e67395d3b1207f3e408dd774matthew Response Type: Basic OCSP Response
503c353d31964b01e67395d3b1207f3e408dd774matthew Cert Status: Good
503c353d31964b01e67395d3b1207f3e408dd774matthew<p>Les sections suivantes explicitent les situations courantes qui
503c353d31964b01e67395d3b1207f3e408dd774matthewrequièrent des modifications supplémentaires de la configuration. Vous
503c353d31964b01e67395d3b1207f3e408dd774matthewpouvez aussi vous référer au manuel de référence de
503c353d31964b01e67395d3b1207f3e408dd774matthew<title>Si l'on utilise plus que quelques certificats SSL pour le serveur</title>
503c353d31964b01e67395d3b1207f3e408dd774matthew<p>Les réponses OCSP sont stockées dans le cache d'agrafage SSL. Alors
503c353d31964b01e67395d3b1207f3e408dd774matthewque les réponses ont une taille de quelques centaines à quelques
25f72e2845c89a153ca9d3279d7feccbc912524ematthewmilliers d'octets, mod_ssl supporte des réponses d'une taille jusqu'à
$ openssl x509 -in /www.example.com.crt -text | grep 'OCSP.*http'
OCSP - URI:http://ocsp.example.com
# contenu dans ca.crt