summaryrefslogtreecommitdiffstats
path: root/docs/manual/mod/mod_ssl_ct.html.fr.utf8
blob: c3732fb927572380cc25c2569ca917f548628f3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
<?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="&lt;-" alt="&lt;-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="../">Version 2.5</a> &gt; <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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_ssl_ct.html" title="Français">&nbsp;fr&nbsp;</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__&amp;list_id=144532&amp;product=Apache%20httpd-2&amp;query_format=specific&amp;order=changeddate%20DESC%2Cpriority%2Cbug_severity&amp;component=mod_ssl_ct">Problèmes connus</a></li><li><a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2&amp;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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&para;</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">&nbsp;en&nbsp;</a> |
<a href="../fr/mod/mod_ssl_ct.html" title="Français">&nbsp;fr&nbsp;</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&amp;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 2024 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>