]> granicus.if.org Git - apache/blobdiff - docs/manual/mod/mod_md.html.fr.utf8
fr doc rebuild.
[apache] / docs / manual / mod / mod_md.html.fr.utf8
index bb0a4d38437927953255d696c1c3e19d0fd8c81e..cb8d444eb86f5f9fe387579b265ed1f9db3aaf6a 100644 (file)
 
         <p>
        Ce module permet de gérer les propriétés courantes des domaines pour un
-       ou plusieurs serveurs virtuels. Il a pour principale fonctionnalité
-       l'obtention automatique de certificats via le protocole ACME (<a href="https://tools.ietf.org/html/rfc8555">RFC 8555</a>). Le module
-       effectue aussi le renouvellement des certificats avant leur expiration
+       ou plusieurs serveurs virtuels. Il fournit deux fonctionnalités
+       principales : la première permet la supervision et le renouvellement des
+       certificats https: via le protocole ACME (<a href="https://tools.ietf.org/html/rfc8555">RFC 8555</a>). Le module
+       effectue le renouvellement des certificats avant leur expiration
        afin d'éviter une interruption des services internet. Il est possible de
-       monitorer l'état de tous les domaines gérés par mod_md et de configurer
+       monitorer l'état de tous les certificats gérés par mod_md et de configurer
        le serveur de façon à ce qu'il envoie des notifications de
        renouvellement, d'expiration ou d'erreur personnalisées.
-       </p>
-        <p>
-        L'autorité de certification ACME par défaut est <a href="https://letsencrypt.org/">Let's Encrypt</a>, mais il est possible
+       </p><p>
+       La seconde fonctionnalité principale fournit une implémentation
+       alternative de l'agrafage OCSP, et ceci aussi bien pour les certificats
+       gérés par mod_md que pour les certificats que vous gérez vous-même.
+       Composant nécessaire pour tout site https, l'agrafage OCSP influence la
+       vitesse de chargement des pages et suivant la configuration, la
+       disponibilité de ces dernières. Vous trouverez plus de détails dans la section
+       agrafage ci-dessous.
+        </p><p>
+        L'autorité ACME par défaut pour la gestion des certificats est <a href="https://letsencrypt.org/">Let's Encrypt</a>, mais il est possible
        de configurer une autre CA si cette dernière supporte le protocole.
         </p>
         
                informations à propos du certificat spécifié au format JSON.
             </p>
         </div>
+
+       <div class="note"><h3>Agrafage</h3>
+            <p>
+                Si vous voulez commencer par tester l'agrafage pour un seul
+               domaine géré, utilisez cette configuration :
+            </p>
+            <pre class="prettyprint lang-config">&lt;MDomain mydomain.net&gt;
+  MDStapling on
+&lt;/MDomain&gt;</pre>
+
+            <p>
+                et utilisez 'server-status' et/ou MDMessageCmd pour voir comment
+               tout cela fonctionne. Vous pourrez alors vérifier si
+               l'information d'agrafage est présente, sa durée de validité, son
+               origine et à quel moment elle sera rafraîchie.
+            </p><p>
+                Si tout fonctionne comme vous le souhaitez, vous pouvez définir
+               cette configuration pour tous les certificats ou seulement vos
+               certificats gérés.
+            </p><p>
+                De nombreux sites utilisent l'implémentation d'agrafage
+               existante de mod_ssl depuis des années. Les implémentations par
+               mod-ssl et mod_md présentent deux différences principales :
+            </p>
+            <ol>
+                <li>Lecture des informations à la demande ou de manière planifiée
+               : mod_ssl extrait les informations d'agrafage lorsque le besoin
+               s'en fait sentir, par exemple lors d'une nouvelle connexion. mod_md
+               quant à lui, extrait ces informations au démarrage du serveur et
+               lorsqu'elles ont atteint les deux tiers de leur durée de vie.</li>
+                <li>Conservation des informations en mémoire ou de manière
+               persistante : mod_ssl <em>peut</em> conserver ces informations
+               de manière persistante, mais la plupart des configurations
+               exemples utilisent un cache en mémoire. mod_md quant à lui,
+               stocke systématiquement les informations dans le système de
+               fichiers.</li>
+            </ol>
+            <p>
+                Si par malchance vous redémarrez votre serveur alors que le
+               service OCSP de votre CA est en panne, les utilisateurs ne
+               pourront plus atteindre vos sites. Sans persistance des
+               informations, votre serveur n'est plus en mesure de fournir au
+               client les données nécessaires, et le navigateur client ne peut
+               pas les obtenir lui-même car le service OCSP ne répond pas. 
+            </p><p>
+                Avec l'implémentation de mod_md, l'information d'agrafage est
+               stockée de manière persistante, et elle peut donc être réchargée
+               au démarrage du serveur et être ainsi disponible pour les
+               connexions entrantes. Un jour ou deux avant expiration des
+               informations, mod_md va les renouveler, ce qui permet de faire
+               face à un temps d'indisponibilité du service OCSP assez long.
+            </p><p>
+                Pour conserver une compatibilité ascendante, l'implémentation de
+               mod_ssl n'a pas pu être modifiée en profondeur. Par exemple,
+               mod_ssl est incapable d'ajouter une dépendance à mod_watchdog
+               sans rendre inutilisables de nombreuses configurations
+               existantes qui ne chargent pas ce module.
+            </p>
+        </div>
        
     </div>
 <div id="quickview"><h3 class="directives">Directives</h3>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateauthority">MDCertificateAuthority</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatefile">MDCertificateFile</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatekeyfile">MDCertificateKeyFile</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatemonitor">MDCertificateMonitor</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificateprotocol">MDCertificateProtocol</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdcertificatestatus">MDCertificateStatus</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdchallengedns01">MDChallengeDns01</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdrenewwindow">MDRenewWindow</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdrequirehttps">MDRequireHttps</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdserverstatus">MDServerStatus</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mdstapleothers">MDStapleOthers</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mdstapling">MDStapling</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingkeepresponse">MDStaplingKeepResponse</a></li>
+<li><img alt="" src="../images/down.gif" /> <a href="#mdstaplingrenewwindow">MDStaplingRenewWindow</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdstoredir">MDStoreDir</a></li>
 <li><img alt="" src="../images/down.gif" /> <a href="#mdwarnwindow">MDWarnWindow</a></li>
 </ul>
 </table>
             <p>
                Cette directive permet de définir les types de négociation
-               utilisés et leur ordre d'exécution pour prouver l'appartenance
-               du domaine et de court-circuiter tout processus de choix ou
-               vérification d'absence de corruption de la part du module. Les
-               noms sont spécifiques au protocole. La version du protocole ACME
-               actuellement implémentée par Let's Encrypt définit trois types
-               de négociation supportés par mod_md. Par défaut, ce dernier
-               tentera d'utiliser le type de négociation basé sur https: sur le
-               port 443, s'il est disponible.
+               utilisés (par ordre de préférences) pour prouver l'appartenance
+               du domaine. Les types de négociation supportés par le module
+               sont 'tls-alpn-01', 'dns-01' et 'http-01'. Le module parcourt
+               toute la configuration du serveur pour déterminer quelles
+               méthodes peuvent être utilisées.
             </p><p>
-                Pour rappel, l'utilisation de cette directive court-circuite le
-               processus de sélection du module. Ainsi, si vous spécifiez la méthode
-               "http-01", le module ne vérifiera pas si le serveur écoute sur
-               le port 80. Il utilisera directement cette méthode avec Let's
-               Encrypt, si ce dernier la propose.
+                Si par exemple le serveur est en écoute sur le port 80, c'est la
+               méthode 'http-01' qui sera disponible. Pour 'dns-01', une
+               commande 'MDChallengeDns01' définie sera requise. La méthode
+               'tls-alpn-01' est décrite ci-dessus dans 'https: Challenges'.
             </p><p>
-                Si vos choix de configuration ne sont pas applicables ici, LE
-               échouera à vérifier votre domaine et rendra la main au bout d'un
-               certain temps. Cette erreur sera consignée dans votre
-               server-status et dans md-status. Vous devrez alors tenter de
-               comprendre pourquoi votre configuration ne fonctionne pas.              
-            </p>
+                Cette sélection automatique fonctionne pour la plupart des
+               configurations. Mais comme Apache est un serveur très puissant
+               avec de nombreuses options de configuration, certains cas
+               pourront poser des problèmes. Par exemple, il peut être en
+               écoute sur plusieurs adresses IP, certaines étant accessibles en
+               https: et d'autres non.
+            </p><p>
+                Si vous définissez 'MDCAChallenges' directement, la sélection
+               automatique est désactivée. A la place, le module va utiliser la
+               liste de méthodes de négociation spécifiée pour dialoguer avec le
+               serveur ACME (un type de négociation doit aussi être proposé par
+               le serveur). Ces méthodes de négociation sont examinées dans
+               l'ordre selon lequel elles sont spécifiées.
+             </p>
+
         
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
                 Cette directive est équivalente à la directive <code class="directive"><a href="../mod/mod_ssl.html#sslcertificatekeyfile">SSLCertificateKeyFile</a></code> de mod_ssl.
             </p>
         
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="mdcertificatemonitor" id="mdcertificatemonitor">Directive</a> <a name="MDCertificateMonitor" id="MDCertificateMonitor">MDCertificateMonitor</a> <a title="Lien permanent" href="#mdcertificatemonitor" class="permalink">&para;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>L'URL d'un moniteur d'enregistrement de certificat.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDCertificateMonitor name url</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>crt.sh https://crt.sh?q=</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
+</table>
+            <p>
+                Cette directive impacte l'interface utilisateur HTML 'server-status' et
+               n'a rien à voir avec le fonctionnement de mod_md proprement dit.
+               Elle permet de définir le lien qui s'affiche sur cette interface
+               pour accéder facilement à un moniteur de certificat. L'empreinte
+               SHA256 du certificat doit être ajoutée à l'URL spécifié.
+            </p><p>
+                Les moniteurs de certificat donnent accès aux enregistrements de
+               la Certificate Transparency (CT) afin de tracer l'utilisation
+               des certificats pour les domaines. Vous pourrez au moins
+               vérifier si Let's Encrypt (ou tout autre CA que vous aurez
+               défini) a bien inscrit votre certificat dans les enregistrements
+               de CT.
+            </p><p>
+                Avertissement : La mise à jour des enregistrements des
+               certificats et leur prise en compte par les moniteurs peut
+               prendre un certain temps. Ce dernier varie en fonction des
+               enregistreurs et des moniteurs. Un nouveau certificat ne sera
+               donc pas connu immédiatement.
+            </p>
+        
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="directive-section"><h2><a name="mdcertificateprotocol" id="mdcertificateprotocol">Directive</a> <a name="MDCertificateProtocol" id="MDCertificateProtocol">MDCertificateProtocol</a> <a title="Lien permanent" href="#mdcertificateprotocol" class="permalink">&para;</a></h2>
 <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
 </table>
             <p>
-                Cette directive permet de définir la commande à appeler
-               lorsqu'un des évènements "renewed", "expiring" ou "errored" se
-               produit pour un domaine géré. La commande sera probablement
-               invoquée pour d'autres évènements dans le futur et ignorera les
-               évènements pour lesquels elle n'aura pas été préparée.
+               Cette directive permet de définir la commande à appeler
+               lorsqu'un des évènements "renewed", "installed", "expiring" ou
+               "errored" se produit pour un domaine géré. La commande sera
+               probablement invoquée pour d'autres évènements dans le futur et
+               ignorera les évènements pour lesquels elle n'aura pas été
+               préparée.
             </p><p>
                 Il s'agit d'une version plus souple de la directive
                <code class="directive"><a href="#mdnotifycmd">MDNotifyCmd</a></code>.
@@ -654,14 +764,28 @@ MDMessageCmd /etc/apache/md-message
             </p><p>
                 "errored" n'est pas l'évènement à surveiller en priorité car le
                renouvellement du certificat est censé se produire suffisammant
-               tôt pour éviter toute interruption de service. 
+               tôt pour éviter toute interruption de service. Cet évènement est
+               signalé au plus une fois par heure.
             </p><p>
                 L'évènement "expiring", quant à lui, doit être pris au sérieux.
                Il se produit lorsque la valeur de <code class="directive"><a href="#mdwarnwindow">MDWarnWindow</a></code> est atteinte. Par
                défaut, cette valeur correspond à 10% de la durée de vie du
                certificat, donc actuellement pour Let's Encrypt, 9 jours avant
                expiration du certificat. Le message d'avertissement est répété
-               au plus une fois par jour. 
+               au plus une fois par jour.
+            </p><p>
+                'renewed' indique qu'un nouveau certificat a été obtenu et
+               se trouve dans la zone intermédiaire du magasin MD. Il sera
+               activé au prochain restart/reload du serveur.
+            </p><p>
+                'installed' indique qu'un nouveau certificat a été transféré
+               depuis la zone intermédiaire vers la zone des domaines du
+               magasin MD. Cet évènement se produit lors d'un restart/reload du
+               serveur. A la différence des autres commandes, MDMessageCmd
+               s'exécute avec les permissions de root (sur les systèmes *nix)
+               et a donc accès aux fichiers de certificats (et aux clés). Les
+               certificats nécessaires à d'autres applications ou possédant des
+               formats différents peuvent être traités suite à cet évènement.            
             </p>
         
 </div>
@@ -1077,6 +1201,131 @@ MDRenewWindow 10%</pre>
                 Cette directive permet d'activer/désactiver cette ressource.
             </p>
         
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="mdstapleothers" id="mdstapleothers">Directive</a> <a name="MDStapleOthers" id="MDStapleOthers">MDStapleOthers</a> <a title="Lien permanent" href="#mdstapleothers" class="permalink">&para;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'agrafage pour les certificats non gérés par
+       mod_md.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingOthers on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>on</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
+</table>
+            <p>
+                Cette directive n'a d'effet que si `MDStapling` est activée.
+               Elle permet de contrôler si `mod_md` doit aussi fournir les
+               informations d'agrafage pour les certificats qu'il ne gère pas
+               directement (autrement dit pour les certificats non renouvelés
+               via le protocole ACME).
+            </p>
+        
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="mdstapling" id="mdstapling">Directive</a> <a name="MDStapling" id="MDStapling">MDStapling</a> <a title="Lien permanent" href="#mdstapling" class="permalink">&para;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Active l'agrafage pour un ou plusieurs domaines.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStapling on|off</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>off</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
+</table>
+            <p>
+                mod_md permet l'obtention des informations d'agrafage OCSP.
+               Cette fonctionnalité est une alternative à celle fournie par
+               'mod_ssl'. Elle est désactivée par défaut à des fins de
+               compatibilité ascendante.
+            </p><p>
+                La fonctionnalité peut être activée pour tous les certificats du
+               serveur ou pour un domaine géré seulement, ce qui aura pour effet
+               de remplacer toute configuration d'agrafage au niveau de
+               `mod_ssl` pour ce(s) domaine(s). Lorsqu'elle est désactivée,
+               l'agrafage de 'mod_ssl' se chargera du travail (s'il a été
+               lui-même activé, bien entendu). Ceci permet de basculer de
+               manière graduée d'une implémentation à l'autre.
+            </p><p>
+                L'agrafage fonctionne aussi pour les domaines non gérés par
+               mod_md (voir à ce sujet la directive MDStapleOthers). En fait,
+               l'agrafage OCSP peut très bien être utilisé en l'absence de tout
+               certificat géré via le protocole ACME.
+            </p>
+        
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="mdstaplingkeepresponse" id="mdstaplingkeepresponse">Directive</a> <a name="MDStaplingKeepResponse" id="MDStaplingKeepResponse">MDStaplingKeepResponse</a> <a title="Lien permanent" href="#mdstaplingkeepresponse" class="permalink">&para;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle la durée au bout de laquelle les anciennes
+       réponses doivent être supprimées.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingKeepResponse duration</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>7d</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
+</table>
+            <p>
+                Cette directive permet de spécifier la durée au bout de laquelle
+               les données OCSP utilisées pour l'agrafage doivent être
+               supprimées du magasin. Par défaut, ces informations sont
+               supprimées lors d'un restart/reload du serveur si elles ont plus
+               de sept jours. Ceci permet de limiter la taille du magasin
+               lorsque les certificats sont renouvelés et/ou reconfigurés
+               fréquemment.
+            </p><p>
+            </p>
+        
+</div>
+<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
+<div class="directive-section"><h2><a name="mdstaplingrenewwindow" id="mdstaplingrenewwindow">Directive</a> <a name="MDStaplingRenewWindow" id="MDStaplingRenewWindow">MDStaplingRenewWindow</a> <a title="Lien permanent" href="#mdstaplingrenewwindow" class="permalink">&para;</a></h2>
+<table class="directive">
+<tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Contrôle l'ancienneté des réponses OCSP au dela de laquelle
+       ces dernières seront renouvelées.</td></tr>
+<tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>MDStaplingRenewWindow duration</code></td></tr>
+<tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>33%</code></td></tr>
+<tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale</td></tr>
+<tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Expérimental</td></tr>
+<tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_md</td></tr>
+</table>
+            <p>
+                Si la durée de validité d'un réponse OCSP passe en dessous de
+               'duration', mod_md va tenter de la renouveler.
+            </p><p>
+                La CA à l'origine du certificat fournit aussi en général le
+               service de réponse OCSP et détermine la durée de validité de sa
+               réponse signée à propos de la validité du certificat. Plus
+               longtemps une réponse sera valide, plus longtemps elle pourra
+               être mise en cache, ce qui arrange tout le monde en matière de
+               performances. Plus courte sera la validité d'une réponse, plus
+               vite seront envoyées des révocations de certificats aux clients.
+               Il est donc important de prendre en compte la qualité de
+               service.
+            </p><p>
+                En ajustant la durée de validité des réponses vous-même, vous
+               pouvez contrôler une partie du processus. Si vous spécifiez une
+               durée de vie importante (autrement dit si vous spécifiez un
+               petit pourcentage de validité avant que l'information n'expire),
+               vous assurer un temps de mise en cache maximal, mais une
+               interruption du service OCSP (par exemple un arrêt pour
+               maintenance) aura plus de chance de vous affecter. Si vous
+               spécifiez un pourcentage de temps avant expiration plus
+               important, les mises à jour seront plus fréquentes, ce qui va
+               augmenter la charge de l'infrastructure de serveurs du CA et
+               nécessiter d'avantage de coordination entre les processus
+               enfants de votre propre serveur.
+            </p><p>
+                La valeur par défaut choisie est de 33%, ce qui signifie que la
+               demande de renouvellement interviendra lorsque la durée de vie
+               de la réponse OCSP passera en dessous de 33%. Pour une CA qui
+               fournit des réponses OCSP avec une durée de vie de 3 jours, cela
+               implique 2 jours de mise en cache et 1 jour pour les tentatives
+               de renouvellement. Pour affecter votre domaine, une interruption
+               de service devra donc avoir une durée supérieure à 1 jour.
+            </p><p>
+                Vous pouvez aussi définir de manière absolue la durée de vie
+               restante, par exemple `2d` pour 2 jours. 
+            </p>
+        
 </div>
 <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
 <div class="directive-section"><h2><a name="mdstoredir" id="mdstoredir">Directive</a> <a name="MDStoreDir" id="MDStoreDir">MDStoreDir</a> <a title="Lien permanent" href="#mdstoredir" class="permalink">&para;</a></h2>