mirror of
https://github.com/apache/httpd.git
synced 2025-04-26 12:28:56 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1864714 13f79535-47bb-0310-9956-ffa450edef68
211 lines
11 KiB
Plaintext
211 lines
11 KiB
Plaintext
<?xml version='1.0' encoding='UTF-8' ?>
|
|
<!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
|
|
<?xml-stylesheet type="text/xsl" href="../style/manual.fr.xsl"?>
|
|
<!-- English Revision : 1860977 -->
|
|
<!-- French translation : Lucien GENTIS -->
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
|
contributor license agreements. See the NOTICE file distributed with
|
|
this work for additional information regarding copyright ownership.
|
|
The ASF licenses this file to You under the Apache License, Version 2.0
|
|
(the "License"); you may not use this file except in compliance with
|
|
the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
-->
|
|
|
|
<manualpage metafile="encrypt.xml.meta">
|
|
<parentdocument href="./">Recettes / Tutoriels</parentdocument>
|
|
|
|
<title>Comment chiffrer votre trafic</title>
|
|
|
|
<summary>
|
|
<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>
|
|
</summary>
|
|
<seealso><a href="../ssl/ssl_howto.html">Tutoriel SSL</a></seealso>
|
|
<seealso><a href="../mod/mod_ssl.html">mod_ssl</a></seealso>
|
|
<seealso><a href="../mod/mod_md.html">mod_md</a></seealso>
|
|
|
|
<section id="protocol">
|
|
<title>Une brève introduction sur les certificats, ou passeports Internet</title>
|
|
<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>
|
|
</section>
|
|
|
|
<section id="buycert">
|
|
<title>Acheter un certificat</title>
|
|
<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>
|
|
</section>
|
|
|
|
<section id="freecert">
|
|
<title>Obtenir gratuitement un certificat</title>
|
|
<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>
|
|
</section>
|
|
|
|
</manualpage>
|