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
|
<?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>Comment chiffrer votre trafic - 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 id="manual-page"><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="./">Recettes / Tutoriels</a></div><div id="page-content"><div id="preamble"><h1>Comment chiffrer votre trafic</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/howto/encrypt.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../es/howto/encrypt.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/encrypt.html" title="Français"> fr </a></p>
</div>
<p>Voici un tutoriel qui vous apprendra à configurer Apache httpd de façon
à ce qu'il chiffre les transferts de données entre votre serveur et ses
visiteurs. Votre site va alors utiliser des liens en https: à la place des liens
en http: et, si la configuration a été correctement effectuée, la vie
privée des clients qui visitent votre site sera mieux protégée.
</p>
<p>
Ce tutoriel a été conçu pour les utilisateurs qui ne sont pas
familiarisés avec SSL/TLS, les algorythmes de chiffrement et tout le
bavardage technique associé (nous plaisantons, car c'est un domaine d'action
sérieux avec des experts sérieux et de réels problèmes à résoudre ; mais il
est vu comme un bavardage technique par quiconque n'est pas familiarisé avec
lui). En fait, les administrateurs s'entendent dire que leur serveur en http: n'est
plus assez sécurisé. Il y a tous ces espions et ces mauvais sujets qui nous
écoutent. Même certaines sociétés tout à fait légitimes insèrent des données dans
leurs pages web et revendent les profils de leurs visiteurs.
</p>
<p>
Avec ce guide, vous devriez être en mesure de migrer les liens fournis par
votre serveur depuis http: vers https: sans qu'il vous soit nécessaire au
préalable de devenir un expert SSL. Il se peut tout de même que vous soyez
fasciné par tous ces concepts de chiffrement au point de vouloir les étudier
en profondeur et ainsi devenir un véritable expert. Mais même sans aller jusque
là, vous pourrez tout de même configurer votre serveur web de manière
raisonnablement sécurisée et employer le temps que vous aurez économisé pour
accomplir d'autres choses utiles pour l'humanité.
</p>
<p>
Vous allez vous faire une idée du rôle que jouent ces objets mystérieux que
l'on nomme "certificats" et "clés privées" et de la manière dont ils sont
utilisés pour faire en sorte que les visiteurs soient sûrs de se connecter
au bon serveur. On ne vous dira <em>pas</em> <em>comment</em> ils
fonctionnent, mais seulement comment les utiliser ; ils pourront être vus
comme des passeports.
</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#protocol">Une brève introduction sur les certificats, ou passeports Internet</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#buycert">Acheter un certificat</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#freecert">Obtenir gratuitement un certificat</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="../ssl/ssl_howto.html">Tutoriel SSL</a></li><li><a href="../mod/mod_ssl.html">mod_ssl</a></li><li><a href="../mod/mod_md.html">mod_md</a></li><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="protocol" id="protocol">Une brève introduction sur les certificats, ou passeports Internet</a> <a title="Lien permanent" href="#protocol" class="permalink">¶</a></h2>
<p>
Le protocole TLS (anciennement SSL) permet aux clients et serveurs de
communiquer entre eux sans que le trafic soit compréhensible, même s'il est
intercepté. C'est le protocole qu'utilise votre serveur lorsque vous ouvrez
un lien en https:.
</p>
<p>
Outre le fait d'avoir une conversation en privé, votre
navigateur doit aussi être sûr qu'il s'adresse au bon serveur, et non à
quelqu'un d'autre qui se ferait passer pour ce dernier. Ce processus qui
intervient après le chiffrement constitue l'autre partie du protocole TLS.
</p>
<p>
Pour pouvoir être authentifié, votre serveur a besoin tout d'abord d'une
implémentation logicielle du protocole TLS, dans notre cas le module <a href="../mod/mod_http2.html">mod_ssl</a>, mais aussi d'un moyen de prouver
son identité sur Internet. C'est là qu'intervient la notion de
<em>certificat</em>. En fait, tous les serveurs possèdent le même module
mod_ssl et peuvent de ce fait procéder au chiffrement des échanges, mais
<em>votre</em> certificat qui est unique n'appartient qu'à vous, et il vous
permet de prouver que vous êtes bien vous-même.
</p>
<p>
Un certificat est l'équivalent digital d'un passeport. Il se compose de
deux parties : un cachet d'authenticité apposé par les fournisseurs du
passeport, et l'équivalent de vos empreintes digitales : ce que l'on nomme
une <em>clé privée</em> dans le jargon du chiffrement.
</p>
<p>
Lorsque vous configurez votre serveur Apache httpd pour les liens en https:,
vous devez spécifier le certificat et la clé privée. Si vous ne divulguez
la clé à personne, vous seul(e) serez en mesure de prouver aux visiteurs que
le certificat vous appartient bien. De cette façon, un navigateur qui se
connecte à nouveau à votre serveur pourra s'assurer qu'il s'agit bien du
même serveur que celui auquel il s'est connecté la fois précédente.
</p>
<p>
Mais comment sait-il qu'il s'adresse au bon serveur la première fois qu'il
communique avec lui ? C'est ici qu'intervient le cachet digital
d'authenticité du fournisseur du certificat. Ce cachet est fourni par un
tiers qui utilise pour cela sa propre clé privée. Cette personne possède
aussi un certificat, autrement dit son propre passeport. Le navigateur peut
s'assurer que ce passeport utilise la même clé que celle qui a été utilisée
pour cacheter le passeport de votre serveur. Maintenant, au lieu de
s'assurer que votre passeport est correct, il doit s'assurer de
l'authenticité du passeport de la personne qui certifie que <em>votre</em>
passeport est correct.
</p>
<p>
Et ce passeport possède aussi un cachet digital d'authenticité fourni par
une autre personne qui possède elle-même une clé privée et un certificat. Le
navigateur n'a alors besoin que de s'assurer que <em>ce dernier</em> soit
correct pour faire confiance à celui qui certifie que celui de votre serveur
est correct. Ce jeu de confiance/pas confiance peut ainsi se poursuivre sur
plusieurs niveaux (en général moins de 5).
</p>
<p>
A la fin, le navigateur va se trouver face à un passeport authentifié par
sa propre clé. C'est le certificat d'une certaine Gloria Gaynor qui dit "I
am what I am !". Le navigateur pourra alors faire confiance ou non à cette
Gloria. De son choix découlera la confiance qu'il accordera à votre serveur.
C'est aussi simple que cela.
</p>
<p>
Il est aisé de vérifier l'authencité de Gloria Gaynor sur Internet : votre
navigateur (ou votre système d'exploitation) est fourni avec une liste de
passeports de confiance préinstallée. S'il se trouve ainsi face à un
passeport de Gloria, soit ce dernier fait partie de cette liste et on peut
donc lui faire confiance, soit ce n'est pas le cas et on ne doit donc pas
lui faire confiance.
</p>
<p>
Tout ce processus d'authentification ne fonctionne que si personne ne
divulgue ses clés privées. En effet, quiconque parvient à copier une telle
clé sera en mesure de violer l'identité de son propriétaire. Et si ce
dernier était habilité à cacheter les passeports, l'intrus pourra alors faire
de même, et tous les passeports qu'il aura cachetés passeront pour 100%
valides et impossibles à distinguer des vrais.
</p>
<p>
Ce modèle d'authentification fonctionne donc, mais il a ses limites. C'est
pourquoi les éditeurs de navigateurs s'attachent tant à maintenir des listes
valides de passeports "Gloria Gaynor" et menacent d'en expulser quiconque
ne prend pas suffisamment soin de ses clés.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="buycert" id="buycert">Acheter un certificat</a> <a title="Lien permanent" href="#buycert" class="permalink">¶</a></h2>
<p>Vous pouvez effectivement en acheter un. De nombreuses sociétés vendent
des passeports Internet en tant que service. Dans <a href="https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport">cette
liste de chez Mozilla</a>, vous trouverez toutes les sociétés auxquelles le
navigateur Firefox fait confiance. Choisissez-en une et visitez son site
web. Elle vous indiquera alors les tarifs, et comment leur prouver que vous êtes
bien qui vous prétendez être de façon à ce qu'elle puisse cacheter votre
passeport en toute confiance.
</p>
<p>Elles possèdent toutes leur propre méthode qui dépend
aussi du type de passeport que vous demandez, mais elle consiste le plus
souvent en quelques clicks dans une interface web. Vous recevrez alors un
email auquel vous devrez répondre ou effectuer une autre action. Enfin vous
serez informé(e) sur la manière de procéder pour générer votre propre clé
privée et vous recevrez alors un passeport cacheté qui lui correspondra.
</p>
<p>
Il vous restera alors à placer la clé dans un fichier et le certificat dans
un autre. Vous devrez alors placer ces fichiers sur votre serveur (tout en
vous assurant que seuls les utilisateurs de confiance puissent lire la clé),
et renseigner en conséquence votre configuration httpd. Tout ceci est décrit
en détails dans le <a href="../ssl/ssl_howto.html">tutoriel SSL</a>.
</p>
<p>
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="freecert" id="freecert">Obtenir gratuitement un certificat</a> <a title="Lien permanent" href="#freecert" class="permalink">¶</a></h2>
<p>
Certaines sociétés fournissent gratuitement des certificats pour serveurs
web. Le pionnier en la matière est <a href="https://letsencrypt.org">Let's
Encrypt</a>, un service de l'<a href="https://www.abetterinternet.org/">Internet Security Research Group
(ISRG)</a> et une organisation à but non lucratif ayant pour but d'"enfoncer
les barrières financières, technologiques et éducatives afin de sécuriser
les communications sur Internet".
</p>
<p>
Elles n'offrent pas seulement des certificats gratuits, elles ont aussi
développé une interface que votre serveur httpd peut utiliser pour en obtenir
un. C'est ici que <a href="../mod/mod_md.html">mod_md</a> entre en scène.
</p>
<p>
(il vous reste maintenant à étudier la manière de configurer mod_md et les serveurs
virtuels ...)
</p>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/howto/encrypt.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../es/howto/encrypt.html" hreflang="es" rel="alternate" title="Español"> es </a> |
<a href="../fr/howto/encrypt.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/howto/encrypt.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 2021 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>
|