From 16c3a5ece7c2587cb4582fef3be613426c98ab75 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 29 Jul 2017 16:44:44 +0200 Subject: [PATCH] Updating certificate_fr.md with LE instructions --- certificate_fr.md | 121 ++++++++-------------------------------------- 1 file changed, 20 insertions(+), 101 deletions(-) diff --git a/certificate_fr.md b/certificate_fr.md index 23b9a5ab..5c24aa29 100644 --- a/certificate_fr.md +++ b/certificate_fr.md @@ -10,113 +10,32 @@ En effet, les utilisateurs devront passer par un écran de ce type : Cet écran revient à demander **« Avez-vous confiance au serveur qui héberge ce site ? »**. Cela peut effrayer vos utilisateurs (à juste titre). -Pour éviter cette confusion, il est possible d’obtenir un certificat signé par une autorité « connue » : **Gandi**, **RapidSSL**, **StartSSL**, **Cacert**. -Dans ce cas, il s’agira de remplacer le certificat auto-signé par celui qui a été reconnu par une autorité de certification, et vos utilisateurs n’auront plus à passer par cet écran d’avertissement. +Pour éviter cette confusion, il est possible d’obtenir un certificat signé par +une autorité « connue » qui est **Let's Encrypt** et qui propose des certificats +gratuits. YunoHost permet désormais d'installer directement un tel certificat +depuis l'interface d'administration ou la ligne de commande. -### Ajout d’un certificat signé par une autorité +### Ajout d’un certificat Let's Encrypt via l'interface d'administration -Après création du certificat auprès de votre autorité d’enregistrement, vous devez être en possession d’une clé privée, le fichier key et d’un certificat public, le fichier crt. -> Attention, le fichier key est très sensible, il est strictement personnel et doit être très bien sécurisé. +Rendez-vous dans la partie 'Domaine' de l'interface d'administration, puis dans +la section dédiée à votre domaine. Vous trouverez un bouton 'Certificat SSL'. -Ces deux fichiers doivent être copiés sur le serveur, s’ils ne s’y trouvent pas déjà. +![](./images/domain-certificate-button-fr.png) -```bash -scp CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt -scp CLE.key admin@DOMAIN.TLD:ssl.key -``` +Dans la section 'Certificat SSL', vous pourrez voir l'état actuel du certificat. +Si vous venez d'ajouter le domaine, il dispose d'un certificat auto-signé. -Depuis Windows, scp est exploitable avec putty, en téléchargeant l’outil [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe) +![](./images/certificate-before-LE-fr.png) -```bash -pscp -P 22 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt -pscp -P 22 CLE.key admin@DOMAIN.TLD:ssl.key``` +Si votre domaine est correctement configuré (c'est-à-dire que les DNS pointent +bien sur votre IP et que les ports sont correctement redirigés vers votre +serveur), il vous est alors possible de passer à un certificat Let's Encrypt via +le bouton vert. -Dès lors que les fichiers sont sur le serveur, le reste du travail se fera sur celui-ci. En [ssh](https://yunohost.org/#/ssh_fr) ou en local. +![](./images/certificate-after-LE-fr.png) -Tout d’abord, créez un dossier pour stocker les certificats obtenus. +Une fois l'installation effectuée, vous pouvez vous rendre sur votre domaine via +votre navigateur, en HTTPS, pour vérifier que votre certificat est bien signé +par Let's Encrypt. -```bash -sudo mkdir /etc/yunohost/certs/DOMAIN.TLD/ae_certs -sudo mv ssl.key ssl.crt /etc/yunohost/certs/DOMAIN.TLD/ae_certs/``` - -Puis allez dans le dossier parent pour poursuivre. - -```bash -cd /etc/yunohost/certs/DOMAIN.TLD/``` - -Faites une sauvegarde des certificats d’origine de yunohost, par précaution. - -```bash -sudo mkdir yunohost_self_signed -sudo mv *.pem *.cnf yunohost_self_signed/``` - -En fonction de l’autorité d’enregistrement, des certificats intermédiaires et racines doivent être obtenus. - -> **StartSSL** -> ```bash -> sudo wget http://www.startssl.com/certs/ca.pem -O ae_certs/ca.pem -> sudo wget http://www.startssl.com/certs/sub.class1.server.ca.pem -O ae_certs/intermediate_ca.pem``` - -> **Gandi** -> ```bash -> sudo wget https://www.gandi.net/static/CAs/GandiStandardSSLCA.pem -O ae_certs/intermediate_ca.pem``` -> Attention si votre certificat expire après le 01/01/2017, choisissez le certificat intermédiaire SHA2 suivant (à la place du certificat SHA1 précédent) -> ```bash -> sudo wget https://www.gandi.net/static/CAs/GandiStandardSSLCA2.pem -O ae_certs/intermediate_ca.pem``` - -> **RapidSSL** -> ```bash -> sudo wget https://knowledge.rapidssl.com/library/VERISIGN/INTERNATIONAL_AFFILIATES/RapidSSL/AR1548/RapidSSLCABundle.txt -O ae_certs/intermediate_ca.pem``` - -> **Cacert** -> ```bash -> sudo wget http://www.cacert.org/certs/root.crt -O ae_certs/ca.pem -> sudo wget http://www.cacert.org/certs/class3.crt -O ae_certs/intermediate_ca.pem``` - -Les certificats intermédiaires et root doivent être réunis avec le certificat obtenu pour créer une chaîne de certificats unifiés. - -```bash -cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem ae_certs/ca.pem | sudo tee crt.pem``` - -La clé privée doit être, elle, convertie au format pem. - -```bash -sudo openssl rsa -in ae_certs/ssl.key -out key.pem -outform PEM``` - -Afin de s’assurer de la syntaxe des certificats, vérifiez le contenu des fichiers. - -```bash -cat crt.pem key.pem``` - -Les certificats et la clé privée doivent ressembler à cela : - -`-----BEGIN CERTIFICATE-----` -`MIICVDCCAb0CAQEwDQYJKoZIhvcNAQEEBQAwdDELMAkGA1UEBhMCRlIxFTATBgNV` -`BAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UEChMDTExC` -`MREwDwYDVQQLEwhCVFMgSU5GTzEbMBkGA1UEAxMSc2VydmV1ci5idHNpbmZvLmZy` -`MB4XDTA0MDIwODE2MjQyNloXDTA0MDMwOTE2MjQyNlowcTELMAkGA1UEBhMCRlIx` -`FTATBgNVBAgTDENvcnNlIGR1IFN1ZDEQMA4GA1UEBxMHQWphY2NpbzEMMAoGA1UE` -`ChMDTExCMREwDwYDVQQLEwhCVFMgSU5GTzEYMBYGA1UEAxMPcHJvZi5idHNpbmZv` -`LmZyMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDSUagxPSv3LtgDV5sygt12` -`kSbN/NWP0QUiPlksOkF2NkPfwW/mf55dD1hSndlOM/5kLbSBo5ieE3TgikF0Iktj` -`BWm5xSqewM5QDYzXFt031DrPX63Fvo+tCKTQoVItdEuJPMahVsXnDyYHeUURRWLW` -`wc0BzEgFZGGw7wiMF6wt5QIDAQABMA0GCSqGSIb3DQEBBAUAA4GBALD640iwKPMf` -`pqdYtfvmLnA7CiEuao60i/pzVJE2LIXXXbwYjNAM+7Lov+dFT+b5FcOUGqLymSG3` -`kSK6OOauBHItgiGI7C87u4EJaHDvGIUxHxQQGsUM0SCIIVGK7Lwm+8e9I2X0G2GP` -`9t/rrbdGzXXOCl3up99naL5XAzCIp6r5` -`-----END CERTIFICATE-----` - -Enfin, sécurisez les fichiers de votre certificat. - -```bash -sudo chown root:metronome crt.pem key.pem -sudo chmod 640 crt.pem key.pem -sudo chown root:root -R ae_certs -sudo chmod 600 -R ae_certs``` - -Rechargez la configuration de nginx pour prendre en compte le nouveau certificat. -```bash -sudo service nginx reload``` - - -Votre certificat est prêt à servir. Vous pouvez toutefois vous assurez de sa mise en place en testant le certificat à l’aide du service de geocerts. +![](./images/certificate-signed-by-LE.png)