| <?xml version="1.0" encoding="UTF-8"?> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> |
| <html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head> |
| <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> |
| <!-- |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| This file is generated from xml source: DO NOT EDIT |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX |
| --> |
| <title>mod_ssl_ct - Serveur HTTP Apache Version 2.5</title> |
| <link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> |
| <link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> |
| <link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" /> |
| <script src="../style/scripts/prettify.min.js" type="text/javascript"> |
| </script> |
| |
| <link href="../images/favicon.ico" rel="shortcut icon" /></head> |
| <body> |
| <div id="page-header"> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p> |
| <p class="apache">Serveur HTTP Apache Version 2.5</p> |
| <img alt="" src="../images/feather.png" /></div> |
| <div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div> |
| <div id="path"> |
| <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.5</a> > <a href="./">Modules</a></div> |
| <div id="page-content"> |
| <div id="preamble"><h1>Module Apache mod_ssl_ct</h1> |
| <div class="toplang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl_ct.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_ssl_ct.html" title="Français"> fr </a></p> |
| </div> |
| <table class="module"><tr><th><a href="module-dict.html#Description">Description:</a></th><td>Implémentation de la transparence des certificats |
| (Certificat Transparency - RFC 6962) |
| </td></tr> |
| <tr><th><a href="module-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="module-dict.html#ModuleIdentifier">Identificateur de Module:</a></th><td>ssl_ct_module</td></tr> |
| <tr><th><a href="module-dict.html#SourceFile">Fichier Source:</a></th><td>mod_ssl_ct.c</td></tr></table> |
| <h3>Sommaire</h3> |
| |
| |
| <p>Ce module implémente la transparence des certificats en conjonction |
| avec <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> et les outils en ligne de commande du |
| projet open source <a href="https://code.google.com/p/certificate-transparency/">certificate-transparency</a>. |
| Le but de la transparence des certificats consiste à révéler |
| l'utilisation de certificats de confiance délivrés par |
| erreur ou dans un but malintentionné. Vous trouverez plus de détails à |
| propos de la transparence des certificats ici : <a href="http://www.certificate-transparency.org/">http://www.certificate-transparency.org/</a>. |
| Voici la signification des termes utilisés dans cette documentation :</p> |
| |
| <dl> |
| <dt>Certificate log</dt> |
| <dd>Un Certificate log, auquel on fera référence avec le simple |
| terme <q>log</q> tout au long de ce document, est un service réseau |
| auquel les certificats de serveurs sont soumis. Un agent |
| utilisateur peut vérifier que le certificat d'un serveur auquel il |
| accède a bien été soumis à un log auquel il fait confiance, et que le log |
| lui-même n'a pas rencontré de problème avec ce certificat.</dd> |
| |
| <dt>Horodatage signé du certificat (Signed Certificate Timestamp - SCT)</dt> |
| <dd>Il s'agit d'une information en provenance d'un log indiquant qu'il |
| a validé un certificat. Cet horodatage est signé avec la clé publique |
| du log. Un ou plusieurs SCTs sont passés au client durant la phase de |
| négociation de la connexion, soit dans le ServerHello (extension TLS), |
| soit dans l'extension du certificat, soit dans une réponse OCSP |
| jointe.</dd> |
| </dl> |
| |
| <p>Cette implémentation pour Apache httpd fournit les fonctionnalités |
| suivantes pout les serveurs et mandataires TLS :</p> |
| |
| <ul> |
| <li>Les SCTs peuvent être extraits automatiquement des logs, et en |
| conjonction avec tout SCT défini statiquement, envoyés aux clients |
| qui les supportent durant la phase ServerHello de la négociation de la |
| connexion.</li> |
| <li>Le serveur mandataire peut recevoir les SCTs en provenance du |
| serveur original au cours de la phase ServerHello sous la forme d'une |
| extension de certificat, et/ou au sein des réponses OCSP agrafées ; |
| tout SCT reçu peut être validé partiellement en ligne, et |
| éventuellement mis en file d'attente pour un examen plus approfondi |
| hors ligne.</li> |
| <li>Le serveur mandataire peut être configuré de façon à refuser la |
| communication avec un serveur original qui ne fournit pas de SCT |
| pouvant âtre validé en ligne.</li> |
| </ul> |
| |
| <p>La configuration des logs peut être définie statiquement au niveau de |
| la configuration du serveur web, ou enregistrée dans une base de données |
| SQLite3. Dans ce dernier cas, <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> rechargera à |
| intervalles réguliers la base de données, de façon à ce que tout |
| changement dans la configuration de la maintenance et de la propagation |
| des logs pour un site spécifique ne nécessite pas de redémarrer httpd.</p> |
| |
| <div class="note">Ce module en est au stade expérimental pour les raisons suivantes |
| : |
| <ul> |
| <li>Tests et retours d'information insuffisants</li> |
| <li>Repose sur une version non stable (version 1.0.2, Beta 3 ou |
| supérieure) d'OpenSSL pour les |
| opérations de base</li> |
| <li>Implémentation de la <a href="#audit">fonctionnalité d'audit hors |
| ligne</a> incomplète</li> |
| </ul> |
| |
| <p>Les mécanismes de configuration, le format des données enregistrées |
| pour l'audit hors ligne, ainsi que d'autres caractéristiques sont |
| appelés à évoluer en fonction des tests et retours d'informations à |
| venir.</p> |
| </div> |
| </div> |
| <div id="quickview"><h3>Sujets</h3> |
| <ul id="topics"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#server">Vue d'ensemble du fonctionnement au niveau du serveur</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#proxy">Vue d'ensemble du fonctionnement au niveau du serveur |
| mandataire</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#logconf">Configuration du log</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#static">Stockage des SCTs sous une forme compréhensible pour mod_ssl_ct</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#logging">Journalisation des repères de temps des certificats (CT) dans |
| le journal des accès</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#audit">Audit hors ligne pour mandataire</a></li> |
| </ul><h3 class="directives">Directives</h3> |
| <ul id="toc"> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctauditstorage">CTAuditStorage</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctlogclient">CTLogClient</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctlogconfigdb">CTLogConfigDB</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctmaxsctage">CTMaxSCTAge</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctproxyawareness">CTProxyAwareness</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctsctstorage">CTSCTStorage</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctserverhellosctlimit">CTServerHelloSCTLimit</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctstaticlogconfig">CTStaticLogConfig</a></li> |
| <li><img alt="" src="../images/down.gif" /> <a href="#ctstaticscts">CTStaticSCTs</a></li> |
| </ul> |
| <h3>Traitement des bugs</h3><ul class="seealso"><li><a href="https://www.apache.org/dist/httpd/CHANGES_2.4">Journal des modifications de httpd</a></li><li><a href="https://bz.apache.org/bugzilla/buglist.cgi?bug_status=__open__&list_id=144532&product=Apache%20httpd-2&query_format=specific&order=changeddate%20DESC%2Cpriority%2Cbug_severity&component=mod_ssl_ct">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&component=mod_ssl_ct">Signaler un bug</a></li></ul><h3>Voir aussi</h3> |
| <ul class="seealso"> |
| <li><a href="#comments_section">Commentaires</a></li></ul></div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="server" id="server">Vue d'ensemble du fonctionnement au niveau du serveur</a> <a title="Lien permanent" href="#server" class="permalink">¶</a></h2> |
| |
| |
| <p>Les serveurs doivent pouvoir envoyer les SCTs aux clients. Les SCTs |
| seront envoyés sous la forme d'une extension de certificat ou au sein |
| d'une réponse OCSP agrafée sans logique préprogrammée. Ce module gère |
| l'envoi des SCTs configurés par l'administrateur ou en provenance des |
| logs définis.</p> |
| |
| <p>Le nombre de SCTs envoyés au cours de la phase ServerHello (c'est à |
| dire les SCTs autres que ceux inclus dans une extension de certificat |
| ou une réponse OCSP agrafée) peut être limité via la directive |
| <code class="directive"><a href="#ctserverhellosctlimit">CTServerHelloSCTLimit</a></code>.</p> |
| |
| <p>Pour chaque certificat de serveur, un processus maintient une liste |
| de SCTs à envoyer au cours de la phase ServerHello ; cette liste est |
| créée à partir des SCTs configurés statiquement, mais aussi à partir |
| de ceux reçus depuis les logs. Les logs marqués comme suspects ou |
| arrivés à péremption seront ignorés. A intervalles réguliers, le |
| processus va soumettre les certificats à un log selon les besoins |
| (suite à un changement de configuration du log ou de sa durée de vie), |
| et reconstruire la concaténation des SCTs.</p> |
| |
| <p>La liste des SCTs pour un certificat de serveur sera envoyée au |
| cours de la phase ClientHello, lorsque ce certificat de serveur |
| particulier est utilisé, à tout client qui fait savoir qu'il supporte |
| cette fonctionnalité.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="proxy" id="proxy">Vue d'ensemble du fonctionnement au niveau du serveur |
| mandataire</a> <a title="Lien permanent" href="#proxy" class="permalink">¶</a></h2> |
| |
| |
| <p>Le serveur mandataire indique qu'il supporte la Transparence des |
| Certificats au cours de la phase ClientHello en incluant l'extension |
| <em>signed_certificate_timestamp</em>. Il peut reconnaître les SCTs |
| reçus au cours de la phase ServerHello dans une extension du |
| certificat du serveur original, ou au sein d'une réponse OCSP agrafée.</p> |
| |
| <p>Une vérification en ligne est effectuée pour tout SCT reçu :</p> |
| |
| <ul> |
| <li>Le repère de temps de chaque SCT peut être vérifié pour voir |
| s'il n'est pas encore valide en le comparant avec l'heure actuelle |
| ou tout intervalle de temps valide défini pour le log.</li> |
| <li>Dans le cas d'un SCT issu d'un log pour lequel une clé publique |
| a été définie, la signature du serveur sera vérifiée.</li> |
| </ul> |
| |
| <p>Si la vérification échoue ou renvoie un résultat négatif pour au |
| moins un SCT et si la directive <code class="directive"><a href="#ctproxyawareness">CTProxyAwareness</a></code> est définie à |
| <em>require</em>, la tentative de connexion est abandonnée.</p> |
| |
| <p>En outre, si la directive <code class="directive"><a href="#ctauditstorage">CTAuditStorage</a></code> est définie, la chaîne |
| de certification du serveur et les SCTs sont stockés pour une |
| vérification hors ligne.</p> |
| |
| <p>A titre d'optimisation, la vérification en ligne et le stockage des |
| données en provenance du serveur ne sont effectués que la première |
| fois où un processus enfant du serveur web reçoit ces données, ce qui |
| permet d'économiser du temps processeur et de l'espace disque. Dans le |
| cas d'une configuration typique de mandataire inverse, seule une |
| légère augmentation de la charge processeur sera induite.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="logconf" id="logconf">Configuration du log</a> <a title="Lien permanent" href="#logconf" class="permalink">¶</a></h2> |
| |
| |
| <p>Les serveurs et les mandataires utilisent des informations |
| différentes en ce qui concerne les logs et leurs traitements. Cette |
| <em>configuration des logs</em> peut être effectuée de deux manières :</p> |
| |
| <ul> |
| <li>On peut créer une base de données pour configurer le log en |
| utilisant la commande <code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</a></code> et en |
| définissant le chemin vers cette base de données via la directive |
| <code class="directive"><a href="#ctlogconfig">CTLogConfig</a></code>. |
| <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> relit la base de données à |
| intervalles réguliers ; cette méthode de configuration supporte donc |
| les mises à jour dynamiques. En outre, la commande d'audit hors |
| ligne <code>ctauditscts</code> peut utiliser cette configuration pour |
| trouver l'URL des logs.</li> |
| |
| <li>On peut aussi configurer les logs statiquement via la directive |
| <code class="directive"><a href="#ctstaticlogconfig">CTStaticLogConfig</a></code>. Toute |
| modification de cette directive nécessitera alors un redémarrage du serveur |
| pour être prise en compte, comme pour toutes les autres directives.</li> |
| </ul> |
| |
| <p>Les éléments de configuration pouvant être définis par l'une ou |
| l'autre méthode sont les suivants :</p> |
| |
| <dl> |
| <dt>Identifiant du log</dt> |
| <dd>L'identifiant du log est le hash SHA-256 de sa clé publique, et |
| est inclus dans tout SCT. Ceci permet d'identifier aisément un log |
| particulier lorsqu'on définit des plages de repères de temps |
| valides ou certaines autres informations.</dd> |
| |
| <dt>Clé publique du log</dt> |
| <dd>Un mandataire doit disposer de la clé publique du log afin de |
| pouvoir vérifier la signature dans les SCTs en provenance de ce log. |
| <br /> |
| Un serveur doit posséder la clé publique du log afin de pouvoir lui |
| soumettre des certificats.</dd> |
| |
| <dt>Configuration générale confiance/méfiance</dt> |
| <dd>Il s'agit d'un mécanisme permettant d'instaurer une méfiance ou |
| de restaurer une confiance envers un log donné pour certaines |
| raisons particulières (y compris la simple interruption des |
| interactions avec le log dans les situations où il est hors ligne).</dd> |
| |
| <dt>Repères de temps minima et/ou maxima valides</dt> |
| <dd>Lorsqu'ils sont définis, le mandataire pourra vérifier que les |
| repères de temps contenus dans les SCTs sont compris dans une plage |
| valide</dd> |
| |
| <dt>URL du log</dt> |
| <dd>Pour qu'un serveur puisse soumettre des certificats de serveur à |
| un log, il doit connaître l'URL de ce dernier (pour son API). Le |
| serveur soumettra chaque certificat de serveur afin d'obtenir un |
| SCT pour chaque log dont l'URL est définie, sauf pour les logs aussi |
| marqués comme non dignes de confiance ou si l'heure actuelle ne se |
| situe dans aucune des plages de temps valides définies. |
| <br /> |
| L'audit hors ligne des SCTs reçus par un mandataire nécessite aussi |
| de connaître l'URL du log.</dd> |
| </dl> |
| |
| <p>En général, seuls quelque uns de ces éléments de configuration sont |
| définis pour un log donné. Pour plus de détails, veuillez vous référer |
| à la documentation de la directive <code class="directive"><a href="#ctstaticlogconfig">CTStaticLogConfig</a></code> et de la commande |
| <code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</a></code>.</p> |
| |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="static" id="static">Stockage des SCTs sous une forme compréhensible pour mod_ssl_ct</a> <a title="Lien permanent" href="#static" class="permalink">¶</a></h2> |
| |
| |
| <p>Le module <code class="module"><a href="../mod/mod_ssl_ct.html">mod_ssl_ct</a></code> permet de configurer les SCTs |
| de manière statique via la directive |
| <code class="directive">CTStaticSCTs</code>. Ils doivent alors être sous une forme |
| binaire prête à être envoyée au client.</p> |
| |
| <p>Vous trouverez dans le <a href="https://github.com/tomrittervg/ct-tools">Dépôt ct-tools de Tom |
| Ritter</a> un exemple de code sous la forme d'un script Python |
| (<code>write-sct.py</code>) permettant de générer un SCT sous un |
| format correct avec des données en provenance d'un log.</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="logging" id="logging">Journalisation des repères de temps des certificats (CT) dans |
| le journal des accès</a> <a title="Lien permanent" href="#logging" class="permalink">¶</a></h2> |
| |
| |
| <p>Dans les deux modes mandataire et serveur, les variables |
| <code>SSL_CT_PROXY_STATUS</code> et |
| <code>SSL_CT_CLIENT_STATUS</code> sont définies et indiquent si le |
| serveur supporte les CTs.</p> |
| |
| <p>Dans le mode mandataire, la variable |
| <code>SSL_CT_PROXY_SCT_SOURCES</code> est définie pour indiquer si des |
| SCTs ont été reçus ainsi que leur source (phase ServerHello de la |
| connexion, extension de certificat, etc...).</p> |
| |
| <p>Les valeurs de ces variables peuvent être journalisées via la |
| chaîne de format <code>%{<em>varname</em>}e</code> de |
| <code class="module"><a href="../mod/mod_log_config.html">mod_log_config</a></code>.</p> |
| </div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="section"> |
| <h2><a name="audit" id="audit">Audit hors ligne pour mandataire</a> <a title="Lien permanent" href="#audit" class="permalink">¶</a></h2> |
| |
| |
| <p>Le support de cette fonctionnalité en est au stade expérimental, et |
| est implémenté par la commande <code>ctauditscts</code>, qui repose |
| elle-même sur l'utilitaire <code>verify_single_proof.py</code> du |
| projet open source <em>certificate-transparency</em>. La commande |
| <code>ctauditscts</code> peut parcourir des données, et ainsi effectuer |
| un audit hors ligne (activé via la directive <code class="directive"><a href="#ctauditstorage">CTAuditStorage</a></code>) en invoquant |
| l'utilitaire <code>verify_single_proof.py</code>.</p> |
| |
| <p>Voici quelques indication à l'état brut pour l'utilisation de |
| <code>ctauditscts</code> :</p> |
| |
| <ul> |
| <li>Créez un <em>virtualenv</em> en utilisant le fichier |
| <code>requirements.txt</code> du projet |
| <em>certificate-transparency</em>, et exécuter les étapes suivantes |
| avec ce <em>virtualenv</em> activé.</li> |
| <li>Définissez <code>PYTHONPATH</code> de façon à inclure le |
| répertoire <code>python</code> dans les chemins par défaut des |
| utilitaires du projet <em>certificate-transparency</em>.</li> |
| <li>Définissez <code>PATH</code> de façon à inclure le chemin du |
| répertoire <code>python/ct/client/tools</code>.</li> |
| <li>Exécutez la commande <code>ctauditscts</code> avec comme |
| arguments la valeur de la directive |
| <code class="directive">CTAuditStorage</code>, et éventuellement le chemin |
| de la base de données de configuration des logs. Cette dernière sera |
| utilisée pour extraire les URLs des logs en fonction de leurs |
| identifiants.</li> |
| </ul> |
| |
| <p>Les données stockées à des fins d'audit peuvent aussi être |
| utilisées par d'autres programmes ; veuillez vous référer au code |
| source de <code>ctauditscts</code> pour plus de détails à propos du |
| traitement des données.</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="ctauditstorage" id="ctauditstorage">Directive</a> <a name="CTAuditStorage" id="CTAuditStorage">CTAuditStorage</a> <a title="Lien permanent" href="#ctauditstorage" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire de stockage des données pour l'audit hors ligne</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTAuditStorage <em>directory</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>La directive <code class="directive">CTAuditStorage</code> permet de |
| définir le chemin du répertoire où les données destinées à un audit hors |
| ligne seront stockées. Ce répertoire doit exister au préalable. Si le |
| chemin contenu dans l'argument <em>directory</em> n'est pas absolu, il |
| sera considéré comme relatif au chemin défini par la directive |
| <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p> |
| |
| <p>Si cette directive n'est pas définie, aucune donnée ne sera stockée |
| en vue d'un audit hors ligne.</p> |
| |
| <p>Le répertoire considéré contiendra des fichiers nommés |
| <code><em>PID</em>.tmp</code> pour les processus enfants actifs et |
| <code><em>PID</em>.out</code> pour les processus enfants terminés. Les |
| données disponibles pour un audit hors ligne sont donc contenues dans les |
| fichiers <code>.out</code>. La commande expérimentale |
| <code>ctauditscts</code> (située dans l'arborescence des sources de |
| httpd, mais non encore prise en compte par le processus |
| d'installation), fait appel aux utilitaires du projet |
| <em>certificate-transparency</em> pour effectuer l'audit.</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="ctlogclient" id="ctlogclient">Directive</a> <a name="CTLogClient" id="CTLogClient">CTLogClient</a> <a title="Lien permanent" href="#ctlogclient" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Chemin de l'utilitaire client du log certificate-transparency</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTLogClient <em>executable</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p><em>executable</em> est le chemin complet de l'utilitaire client du |
| log qui est normalement le fichier <code>cpp/client/ct</code> (ou |
| <code>ct.exe</code>) de l'arborescence des sources du projet open |
| source <a href="https://code.google.com/p/certificate-transparency/">certificate-transparency</a>.</p> |
| |
| <p>Il est possible d'utiliser une implémentation alternative pour |
| extraire les SCTs d'un certificat de serveur à partir du moment où |
| l'interface de la ligne de commande est équivalente.</p> |
| |
| <p>Si cette directive n'est pas définie, il n'est pas possible de |
| soumettre les certificats aux logs pour en extraire les SCTs ; seuls |
| les SCTs gérés par l'administrateur ou situés dans une extension de |
| certificat seront alors fournis aux clients.</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="ctlogconfigdb" id="ctlogconfigdb">Directive</a> <a name="CTLogConfigDB" id="CTLogConfigDB">CTLogConfigDB</a> <a title="Lien permanent" href="#ctlogconfigdb" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Base de données pour la configuration des logs avec mises à |
| jour dynamiques</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTLogConfigDB <em>filename</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>La directive <code class="directive">CTLogConfigDB</code> permet de définir |
| le nom de la base de données contenant la configuration des logs |
| connus. Si le chemin contenu dans <em>filename</em> n'est pas absolu, |
| il est considéré comme relatif au chemin défini par la directive |
| <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> |
| |
| <p>Veuillez vous référer à la documentation du programme |
| <code class="program"><a href="../programs/ctlogconfig.html">ctlogconfig</a></code> qui gère la base de données.</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="ctmaxsctage" id="ctmaxsctage">Directive</a> <a name="CTMaxSCTAge" id="CTMaxSCTAge">CTMaxSCTAge</a> <a title="Lien permanent" href="#ctmaxsctage" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Age maximum d'un SCT obtenu depuis un log avant son |
| raffraîchissement</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTMaxSCTAge <em>num-seconds</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>1 jour</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>Les certificats de serveur dont les SCTs sont supérieurs à cet âge |
| maximum seront soumis à nouveau aux logs définis. En général, le log |
| va renvoyer le même SCT que précédemment, mais ceux-ci font alors l'objet |
| d'une opération de la part du log. Les SCTs seront raffraîchis autant que |
| nécessaire au cours du fonctionnement normal du serveur, les nouveaux |
| SCTs étant envoyés aux clients au fur et à mesure de leur |
| disponibilité.</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="ctproxyawareness" id="ctproxyawareness">Directive</a> <a name="CTProxyAwareness" id="CTProxyAwareness">CTProxyAwareness</a> <a title="Lien permanent" href="#ctproxyawareness" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Niveau de prise en compte et de mise en oeuvre des CTs pour un |
| mandataire |
| </td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTProxyAwareness <em>oblivious|aware|require</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>aware</code></td></tr> |
| <tr><th><a href="directive-dict.html#Context">Contexte:</a></th><td>configuration globale, serveur virtuel</td></tr> |
| <tr><th><a href="directive-dict.html#Status">Statut:</a></th><td>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>Cette directive permet de contrôler la prise en compte et les |
| recherches de SCTs valides pour un mandataire. Les options disponibles |
| sont les suivantes :</p> |
| |
| <dl> |
| <dt>oblivious</dt> |
| <dd>Le mandataire de demandera jamais de SCTs, et par conséquent |
| n'en examinera pas. Le processus de transparance des certificats est |
| alors entièrement désactivé pour ce mandataire.</dd> |
| |
| <dt>aware</dt> |
| <dd>Le mandataire prendra en charge l'ensemble du processus de |
| transparence des certificats, à savoir la recherche de SCTs et leur |
| examen. Le mandataire n'interrompra cependant pas la connexion si le |
| serveur original ne fournit pas de SCTs valides.</dd> |
| |
| <dt>require</dt> |
| <dd>Le mandataire interrompra la connexion avec le serveur original |
| si ce dernir ne fournit pas au moins un SCT qui passe avec succès le |
| test de validation en ligne.</dd> |
| </dl> |
| |
| |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="ctsctstorage" id="ctsctstorage">Directive</a> <a name="CTSCTStorage" id="CTSCTStorage">CTSCTStorage</a> <a title="Lien permanent" href="#ctsctstorage" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Répertoire où les SCTs sont stockés</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTSCTStorage <em>directory</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>La directive <code class="directive">CTSCTStorage</code> permet de définir |
| le nom du répertoire où les SCTs et listes de SCTs seront stockés. Si |
| le chemin contenu dans <em>directory</em> n'est pas absolu, il sera |
| considéré comme relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#defaultruntimedir">DefaultRuntimeDir</a></code>.</p> |
| |
| <p>Chaque certificat voit ses informations stockées dans un sous-répertoire |
| qui lui est propre ; le nom de ce sous-répertoire correspond au hash |
| SHA-256 du certificat considéré.</p> |
| |
| <p>Les sous-répertoires propres à chaque certificat contiennent des |
| SCTs en provenance des logs définis, des listes de SCTs préparées à |
| partir des SCTs configurés statiquement et des SCTs extraits, ainsi |
| que diverses informations utilisées pour gérer les SCTs.</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="ctserverhellosctlimit" id="ctserverhellosctlimit">Directive</a> <a name="CTServerHelloSCTLimit" id="CTServerHelloSCTLimit">CTServerHelloSCTLimit</a> <a title="Lien permanent" href="#ctserverhellosctlimit" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Nombre maximum de SCTs pouvant être renvoyés au cours de la |
| phase ServerHello</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTServerHelloSCTLimit <em>limit</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>100</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>Cette directive permet de définir le nombre maximum de SCTs pouvant |
| être renvoyés par un serveur TLS au cours de la phase ServerHello dans |
| le cas où le nombre de logs définis et de SCTs définis statiquement |
| est assez important.</p> |
| |
| <p>En général, seuls quelques SCTs sont disponibles, cette directive |
| n'est donc nécessaire que dans certaines circonstances particulières.</p> |
| |
| <p>Cette directive ne tient pas compte des SCTs contenus dans les |
| extensions de certificats ou les réponses OCSP agrafées.</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="ctstaticlogconfig" id="ctstaticlogconfig">Directive</a> <a name="CTStaticLogConfig" id="CTStaticLogConfig">CTStaticLogConfig</a> <a title="Lien permanent" href="#ctstaticlogconfig" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration statique d'un log</td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTStaticLogConfig <em>log-id|-</em> <em>public-key-file|-</em> |
| <em>1|0|-</em> <em>min-timestamp|-</em> <em>max-timestamp|-</em> |
| <em>log-URL|-</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>Cette directive permet de configurer un log particulier. Elle est |
| particulièrement appropriée dans les cas où cette configuration est |
| rarement modifiée. Si votre cas nécessite plutôt une configuration |
| dynamique, veuillez vous référer à la documentation de la directive |
| <code class="directive"><a href="#ctlogconfigdb">CTLogConfigDB</a></code>.</p> |
| |
| <p>Chacun des six champs doit être renseigné, mais en général, la |
| configuration d'un log nécessite peu d'information ; utilisez |
| <em>-</em> lorsque vous ne disposez d'aucune information à spécifier |
| pour un champ particulier. Par exemple, dans le cas d'une |
| configuration de serveur simple (non mandataire), l'administrateur n'a |
| besoin de spécifier que l'URL du log auquel soumettre des certificats de |
| serveur afin d'en extraire les SCTs.</p> |
| |
| <p>Les champs se définissent comme suit :</p> |
| |
| <dl> |
| <dt><em>log-id</em></dt> |
| <dd>Il s'agit de l'identifiant du log qui correspond au hash SHA-256 |
| de la clé publique du log, codé en hexadécimal. Cette chaîne a une |
| taille de 64 caractères. |
| <br /> |
| Ce champ peut être omis lorsque <em>public-key-file</em> est |
| renseigné.</dd> |
| |
| <dt><em>public-key-file</em></dt> |
| <dd>Il s'agit du chemin d'un fichier contenant la clé publique du log |
| codée au format PEM. Si ce chemin n'est pas absolu, il est considéré |
| comme relatif au chemin défini par la directive <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</dd> |
| |
| <dt><em>trust/distrust</em></dt> |
| <dd>Définissez ce champ à <em>1</em> pour marquer le log comme non |
| digne de confiance, ou pour tout simplement interdire son |
| utilisation pour le traitement des certificats. Définissez ce champ |
| à <em>-</em> ou <em>0</em> (valeur par défaut) pour accorder votre |
| confiance au log.</dd> |
| |
| <dt><em>min-timestamp</em> et <em>max-timestamp</em></dt> |
| <dd>Un repère de temps (timestamp) est un temps exprimé en |
| millisecondes depuis le temps epoch, sans tenir compte des secondes |
| sautées. C'est le format de temps utilisé dans les SCTs. Le repère |
| de temps doit être fourni sous la forme d'un nombre décimal. |
| <br /> |
| Spécifiez <strong><code>-</code></strong> pour un des repères de |
| temps s'il n'est pas connu. Par exemple, lorsque vous définissez le |
| repère de temps minimum valide pour un log qui reste valide, |
| spécifiez <strong><code>-</code></strong> pour |
| <em>max-timestamp</em>. |
| <br /> |
| Les SCTs reçu par le mandataire depuis ce log seront invalides si le |
| repère de temps est plus ancien que <em>min-timestamp</em> ou plus |
| récent que <em>max-timestamp</em>.</dd> |
| |
| <dt><em>log-URL</em></dt> |
| <dd>Il s'agit de l'URL du log auquel soumettre les certificats de |
| serveur et ainsi obtenir des SCTs à envoyer aux clients.</dd> |
| </dl> |
| |
| <h3>Voir aussi</h3> |
| <ul> |
| <li>Le paragraphe <a href="#logconf">Configuration des logs</a> |
| contient des informations à caractère plus général à propos des champs qui |
| peuvent être définis via cette directive.</li> |
| </ul> |
| </div> |
| <div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div> |
| <div class="directive-section"><h2><a name="ctstaticscts" id="ctstaticscts">Directive</a> <a name="CTStaticSCTs" id="CTStaticSCTs">CTStaticSCTs</a> <a title="Lien permanent" href="#ctstaticscts" class="permalink">¶</a></h2> |
| <table class="directive"> |
| <tr><th><a href="directive-dict.html#Description">Description:</a></th><td>Configuration statique d'un ou plusieurs SCTs pour un |
| certificat de serveur |
| </td></tr> |
| <tr><th><a href="directive-dict.html#Syntax">Syntaxe:</a></th><td><code>CTStaticSCTs <em>certificate-pem-file</em> <em>sct-directory</em></code></td></tr> |
| <tr><th><a href="directive-dict.html#Default">Défaut:</a></th><td><code>none</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>Extension</td></tr> |
| <tr><th><a href="directive-dict.html#Module">Module:</a></th><td>mod_ssl_ct</td></tr> |
| </table> |
| <p>Cette directive permet de définir statiquement un ou plusieurs SCTs |
| correspondant à un certificat de serveur. Ce mécanisme peut être |
| utilisé à la place ou en complément de l'obtention dynamique des SCTs |
| en provenance des logs. Toute modification dans le jeu de SCTs d'un |
| certificat de serveur particulier sera prise en compte de manière |
| dynamique sans avoir à redémarrer le serveur.</p> |
| |
| <p><em>certificate-pem-file</em> fait référence au fichier contenant |
| le certificat de serveur au format PEM. Si ce chemin n'est pas absolu, |
| il sera considéré comme relatif au chemin défini par la directive |
| <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> |
| |
| <p><em>sct-directory</em> doit contenir le chemin vers un ou plusieurs |
| fichiers possédant l'extension de nom de fichier <code>.sct</code>, |
| représentant un ou plusieurs SCTs correspondant au certificat de |
| serveur. Si ce chemin n'est pas absolu, |
| il sera considéré comme relatif au chemin défini par la directive |
| <code class="directive"><a href="../mod/core.html#serverroot">ServerRoot</a></code>.</p> |
| |
| <p>Si <em>sct-directory</em> est vide, aucun message d'erreur ne sera |
| affiché.</p> |
| |
| <p>Cette directive peut servir à identifier des répertoires de SCTs |
| gérés par une autre infrastructure, sous réserve qu'ils soient |
| enregistrés au format binaire avec l'extension de nom de fichier |
| <em>.sct</em>.</p> |
| |
| </div> |
| </div> |
| <div class="bottomlang"> |
| <p><span>Langues Disponibles: </span><a href="../en/mod/mod_ssl_ct.html" hreflang="en" rel="alternate" title="English"> en </a> | |
| <a href="../fr/mod/mod_ssl_ct.html" title="Français"> fr </a></p> |
| </div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> |
| <script type="text/javascript"><!--//--><![CDATA[//><!-- |
| var comments_shortname = 'httpd'; |
| var comments_identifier = 'http://httpd.apache.org/docs/trunk/mod/mod_ssl_ct.html'; |
| (function(w, d) { |
| if (w.location.hostname.toLowerCase() == "httpd.apache.org") { |
| d.write('<div id="comments_thread"><\/div>'); |
| var s = d.createElement('script'); |
| s.type = 'text/javascript'; |
| s.async = true; |
| s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; |
| (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); |
| } |
| else { |
| d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); |
| } |
| })(window, document); |
| //--><!]]></script></div><div id="footer"> |
| <p class="apache">Copyright 2023 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p> |
| <p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/quickreference.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- |
| if (typeof(prettyPrint) !== 'undefined') { |
| prettyPrint(); |
| } |
| //--><!]]></script> |
| </body></html> |