La Fibre.info, tout sur la fibre optique : FTTH Gpon, P2P, FTTLA, FTTdp,…
- La Fibre »
- Sans rapport avec la fibre optique »
- Bistro »
- Cryptographie »
- Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
Auteur Sujet: Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples (Lu 1426 fois)
0 Membres et 1 Invité sur ce sujet
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« le: 17 juillet 2014 à 13:58:42 »
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
Ou comment mettre un certificat SSL gratuit pour proposer un site en https
Le seul fournisseur de certificat reconnu par tous les navigateurs modernes est StartSSL de StartCom : https://startssl.com/?lang=fr
Pourquoi il fait des certificats gratuits ? StartCom est l’éditeur d’une distribution linux (StartCom Linux, basé sur RedHat) et souhaite rendre plus accessible les certificats SSL.
Étape 1/14 : Création d’un compte StartSSL
Il faut se rendre sur la page https://www.startssl.com/?app=11&action=true et cliquer sur Sign-up :
On se crée un compte sur StartSSL, il faut donc rentrer son nom / prénom / adresse :
Un courriel avec un code est envoyé sur l’adresse courriel, il faut recopier ce code sur l’interface pour valider le compte :
La validation se fait automatiquement ou manuellement en quelques heures, en fonction du risque de fraude :
Un courriel vous souhaite la bienvenue une fois la validation de votre compte effectuée :
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #1 le: 17 juillet 2014 à 13:59:16 »
Étape 2/14 : création d’un certificat client pour le navigateur web, afin de sécuriser les transferts avec StartSSL
Ce certificat est appelé certificat personnel par Firefox.
On va sur l’adresse reçue dans le courriel et on rentre le code indiqué dans ce même courriel :
On va générer une clef pour Firefox de « Haut Niveau ». Elle est complètement indépendante de la clef qui sera utilisée pour le site Internet.
On valide l’installation sur Firefox :
Firefox nous informe qu’un certificat personnel a été installé :
L’inscription à StartSSL est terminée !
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #2 le: 17 juillet 2014 à 13:59:30 »
Étape 3/14 : Sauvegarde du certificat client du navigateur web xxxxx.P12 installé dans Firefox
Bien entendu, il est possible d’utiliser un autre navigateur, par contre la méthode pour faire la sauvegarde diffère un peu.
Cette sauvegarde est nécessaire pour pouvoir renouveler le certificat dans 11 mois et demi.
Dans le menu à droite de Firefox, cliquez sur préférence, puis dans l’onglet Avancé, tout à droite et enfin dans le sous onglet certificat, cliquez sur Afficher les certificats :
Il est possible que vous ayez d’autres certificats => Sélectionnez le certificat StartCom et cliquez sur Sauvegarder :
Firefox vous demande un mot de passe qui va protéger votre certificat. Il sera demandé lors de la restauration du certificat.
Choisissez le nom que vous souhaitez pour le certificat.
Firefox vous confirme la sauvegarde :
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #3 le: 17 juillet 2014 à 13:59:44 »
Étape 4/14 : vérification que vous êtes le propriétaire du nom de domaine qui va avoir le certificat SSL
Maintenant que l’inscription à StartSSL est terminée, on va de nouveau sur le site https://startssl.com/?lang=fr mais on clique sur Authenticate :
Si le certificat personnel est bien installé dans Firefox, on arrive dans le Control Panel qui liste les prochaines étapes :
On clique sur Validations Wizard puis on sélectionne Domain Name Validaiton dans la liste déroulante :
On rentre le nom de domaine qui va avoir un certificat :
StartSSL interroge le Whois pour récupérer des adresses courriel associées à ce nom de domaine et des adresses courriel génériques tel quepostmaster.
Sélectionnez l’adresse courriel à laquelle vous avez accès qui sera l’adresse courriel de validation du domaine.
Un nouveau courriel vous est envoyé avec un code de validation qu’il faut recopier :
Le nom de domaine est validé pour 30 jours, ce qui signifie que vous avez 30 jours pour faire les étapes suivantes, mais votre certificat sera bien valable 1 an.
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #4 le: 17 juillet 2014 à 14:00:00 »
Étape 5/14 : Création du fichier xxxxx.KEY sur le serveur
Connectez vous au serveur web via SSH. Pas besoin des droits root pour les 11 premières étapes.
Je conseille de créer un dossier où tous les fichiers vont être regroupés temporairement.
mkdir ssl
cd ssl
On va rester dans ce dossier jusqu’à la 12ème étape.
Il faut générer le fichier .key avec OpenSSL :
openssl genrsa -des3 -out testdebit_avec_passphrase.key 4096
Remplacez testdebit par votre nom de domaine.
Le mot de passe (passphrase) demandé doit contenir uniquement des chiffres et des lettres. Sa taille minimum est de 10 caractères et sa taille maximum est de 32 caractères sans quoi StartSSL va le refuser.
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #5 le: 17 juillet 2014 à 14:00:13 »
Étape 6/14 : Création du fichier xxxxx.CSR (Certificate Request) sur le serveur web
Toujours en SSH, voici la ligne de commande à utiliser :
openssl req -new -key testdebit_avec_passphrase.key -out testdebit.csr
Remplacez testdebit par votre nom de domaine.
Répondez aux questions proposées :
- Country Name : FR
- State or Province Name : France
- Locality Name : Châlons-en-Champagne
- Organization Name : TestDebit.info
- Organizational Unit Name : TestDebit.info
- Common Name : testdebit.info
- Email Address :
Ne pas remplir les éléments suivants (challenge password / company name) qui sont optionnels.
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #6 le: 17 juillet 2014 à 14:00:37 »
Étape 7/14 : Générer et faire signer le fameux certificat SSL xxxxx.CRT
On est reparti sur le site web de StartSSL, dans l’onglet Certificates Wizard cette fois-ci.
Sélectionner Web Server SSL/TLS Certificate dans la liste déroulante :
Important : il faut cliquez sur Skip car le fichier .CSR a été créée sur le serveur Web :
Start SSL nous demande de copier / coller l’intégralité du fichier .CSR généré à l’étape précédente sur le serveur.
Pour éditer le fichier sur le serveur en SSH, vous pouvez utiliser l’éditeur nano : nano testdebit.csr
Remplacez testdebit par votre nom de domaine.
On colle le contenu dans l’interface StartSSL en incluant la première et la dernière ligne comme dans l’exemple ci-dessous (j’ai réduit, le .CSR fait plus que 6 lignes)
Si vous avez ce message, c’est que votre CSR est accepté :
On confirme le domaine qu’il faut valider :
Il est recommandé de valider www en plus de la racine du certificat :
Ce message vous prévient qu’une validation de la cohérence des informations rentrées est nécessaire.
Généralement le certificat sera créé en moins de 2h.
Vous recevez un courriel pour vous prévenir de la création :
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #7 le: 17 juillet 2014 à 14:00:56 »
Étape 8/14 : Récupérer le certificat SSL xxxxx.CRT
On va sur le site StartSSL, dans l’onglet Tool Box et on clique sur Retrieve Certificate à gauche :
Le certificat apparaît sur le site StartSSL :
Sélectionnez l’ensemble du certificat et faire un bouton droit Copier.
Sur le serveur web à laquelle vous êtes toujours connecté en SSH, on va créer testdebit.crt :
nano testdebit.crt
Remplacez testdebit par votre nom de domaine.
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #8 le: 17 juillet 2014 à 14:01:14 »
Étape 9/14 : Suppression de la passphrase du fichier xxxxx.KEY
Pour que Apache 2.4 puisse démarrer automatiquement après un reboot du serveur, il est nécessaire que le fichier .KEY ne contienne pas de passphrase.
On va donc l’enlever avec la commande OpenSSL suivante :
openssl rsa -in testdebit_avec_passphrase.key -out testdebit.key
Remplacez testdebit par votre nom de domaine.
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #9 le: 17 juillet 2014 à 14:01:30 »
Étape 10/14 : Récupérer les certificats xxxxx.PEM de StartCom
Les 2 fichiers qu’il faut récupérer sont :
– StartCom Root CA (PEM encoded) => ca.pem
– Class 1 Intermediate Server CA => sub.class1.server.ca.pem
Ces fichiers sont les mêmes pour tous les domaines de ce type signés par StartCom.
On va sur le site StartSSL, dans l’onglet Tool Box et on clique sur StartCom CA Certificates :
On récupère le StartCom Root CA (PEM encoded) => ca.pem
On récupère le Class 1 Intermediate Server CA => sub.class1.server.ca.pem
Il faut ensuite transférer ces deux fichiers sur le serveur, dans notre dossier temporaire.
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #10 le: 17 juillet 2014 à 14:01:47 »
Étape 11/14 : Récapitulatif des 7 fichiers du dossier temporaire
Si vous avez suivi toutes les étapes, vous devez avoir 7 fichiers dans votre dossier temporaire.
Ce sont ces 7 fichiers que je vous conseille de bien sauvegarder.
Le certificat personnel de Firefox ne sera pas utilisé avant 11 mois, donc vous pouvez le supprimer pour empêcher à un visiteur d’avoir accès à votre compte StartSSL (aucun mot de passe n’est demandé, le certificat est suffisant).
Dans le menu à droite de Firefox, cliquez sur préférence, puis dans l’onglet Avancé, tout à droite et enfin dans le sous onglet certificat, cliquez sur Afficher les certificats :
Sélectionner le certificat et cliquez sur Supprimer :
Signaler au modérateur IP archivée
- Administrateur
- Messages: 16 722
-
Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
« Réponse #11 le: 17 juillet 2014 à 14:02:07 »
Étape 12/14 : Configuration de Apache 2.4
sudo a2enmod ssl : Active le module SSL pour Apache 2.4
sudo service apache2 restart : redémarre apache2 pour activer le mode SSL
sudo cp testdebit.crt /etc/ssl/private/testdebit.crt : Copie le CSR (Certificate Request)
sudo cp testdebit.key /etc/ssl/private/testdebit.key : Copie le certificat (clef privé)
sudo cp sub.class1.server.ca.pem /etc/ssl/private/sub.class1.server.ca.pem : Copie le Class 1 Intermediate Server CA
sudo cp ca.pem /etc/ssl/private/ca.pem : Copie le Copie le StartCom Root CA
Remplacez testdebit par votre nom de domaine.
On édite le fichier de configuration Apache 2.4 (je suppose que ce fichier existe déjà pour le site sans SSL).
nano /etc/apache2/sites-available/testdebit.conf
Voici à quoi il devrait ressembler pour une configuration basique si les fichiers du serveur sont dans le dossier /home/testdebit :
Configuration avant le passage au https :
Code: [Sélectionner]
# Redirection des requêtes http avec www vers le site sans www.
<VirtualHost *:80>
ServerName « www.testdebit.info »
Redirect permanent / http://testdebit.info/
</VirtualHost>
# Hébergement du site en http
<VirtualHost *:80>
ServerName « testdebit.info »
ServerAdmin mail@domaine
DocumentRoot « /home/testdebit »
<Directory « /home/testdebit »>
Options None
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>A noter qu’il faut éviter pour d’avoir un site web en double avec le www et sans le www, j’ai donc redirigé le site avec www vers le site sans www.
Voici maintenant la même configuration avec https activé par défault :
Code: [Sélectionner]
# Redirection des requêtes http en https.
<VirtualHost *:80>
ServerName « testdebit.info »
ServerAlias « www.testdebit.info »
Redirect permanent / [url]https://testdebit.info/[/url]
</VirtualHost>
# Redirection des requêtes https avec www vers le site sans www.
<VirtualHost *:443>
ServerName « www.testdebit.info »
SSLEngine on
SSLProtocol +TLSv1.2 +TLSv1.1 +TLSv1
SSLCompression off
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
#SSLCipherSuite ALL:!aNULL:!eNULL:!LOW:!EXP:!RC4:!3DES:+HIGH:+MEDIUM
SSLCertificateFile /etc/ssl/private/testdebit.crt
SSLCertificateKeyFile /etc/ssl/private/testdebit.key
SSLCertificateChainFile /etc/ssl/private/sub.class1.server.ca.pem
SSLCACertificateFile /etc/ssl/private/ca.pem
SetEnvIf User-Agent « .*MSIE.* » nokeepalive ssl-unclean-shutdown
Redirect permanent / [url]https://testdebit.info/[/url]
</VirtualHost>
# Hébergement du site en https
<VirtualHost *:443>
ServerName « testdebit.info »
ServerAdmin mail@domaine
# Vérifier conf: [url]https://www.ssllabs.com/ssltest/analyze.html?d=testdebit.info[/url]
SSLEngine on
SSLProtocol ALL -SSLv2
SSLHonorCipherOrder On
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
SSLCertificateFile /etc/ssl/private/testdebit.crt
SSLCertificateKeyFile /etc/ssl/private/testdebit.key
SSLCertificateChainFile /etc/ssl/private/sub.class1.server.ca.pem
SSLCACertificateFile /etc/ssl/private/ca.pem
SetEnvIf User-Agent « .*MSIE.* » nokeepalive ssl-unclean-shutdown
DocumentRoot « /home/testdebit »
<Directory « /home/testdebit »>
Options None
AllowOverride None
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Il y a 3 redirections :
– Je redirige le site en http avec et sans www vers le site https sans le www
– Je redirige le site en https avec le www vers le site sans www
Une fois la configuration terminée, on tape la commande sudo service apache2 reload pour recharger les fichier de configuration de Apache 2.4
En cas d’erreur, lisez attentivement le message afin de trouver la faute.
si tout se passe bien vous avez ceci :
Code: [Sélectionner]
$ sudo service apache2 reload
* Reloading web server apache2 *
$
Signaler au modérateur IP archivée
- La Fibre »
- Sans rapport avec la fibre optique »
- Bistro »
- Cryptographie »
- Tutoriel pour chiffrer un site web gratuitement en 14 étapes simples
Aller à:
Suivez-nous sur Twitter, Google+, Facebook, Flux RSS | Liens utiles | Version mobile (adaptée pour smartphone)
- Site majoritairement sous licence Creative Commons BY-SA 4.0 (partage dans les mêmes conditions)
télécharger gratuitement travaux pratique de la fibre optique