Updating certificate_fr.md with LE instructions

This commit is contained in:
Alexandre Aubin 2017-07-29 16:44:44 +02:00
parent 4e26428315
commit 16c3a5ece7

View file

@ -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? »**. Cet écran revient à demander **« Avez-vous confiance au serveur qui héberge ce site? »**.
Cela peut effrayer vos utilisateurs (à juste titre). Cela peut effrayer vos utilisateurs (à juste titre).
Pour éviter cette confusion, il est possible dobtenir un certificat signé par une autorité « connue » : **Gandi**, **RapidSSL**, **StartSSL**, **Cacert**. Pour éviter cette confusion, il est possible dobtenir un certificat signé par
Dans ce cas, il sagira de remplacer le certificat auto-signé par celui qui a été reconnu par une autorité de certification, et vos utilisateurs nauront plus à passer par cet écran davertissement. 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 dun certificat signé par une autorité ### Ajout dun certificat Let's Encrypt via l'interface d'administration
Après création du certificat auprès de votre autorité denregistrement, vous devez être en possession dune clé privée, le fichier key et dun certificat public, le fichier crt. Rendez-vous dans la partie 'Domaine' de l'interface d'administration, puis dans
> Attention, le fichier key est très sensible, il est strictement personnel et doit être très bien sécurisé. la section dédiée à votre domaine. Vous trouverez un bouton 'Certificat SSL'.
Ces deux fichiers doivent être copiés sur le serveur, sils ne sy trouvent pas déjà. ![](./images/domain-certificate-button-fr.png)
```bash Dans la section 'Certificat SSL', vous pourrez voir l'état actuel du certificat.
scp CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt Si vous venez d'ajouter le domaine, il dispose d'un certificat auto-signé.
scp CLE.key admin@DOMAIN.TLD:ssl.key
```
Depuis Windows, scp est exploitable avec putty, en téléchargeant loutil [pscp](http://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe) ![](./images/certificate-before-LE-fr.png)
```bash Si votre domaine est correctement configuré (c'est-à-dire que les DNS pointent
pscp -P 22 CERTIFICAT.crt admin@DOMAIN.TLD:ssl.crt bien sur votre IP et que les ports sont correctement redirigés vers votre
pscp -P 22 CLE.key admin@DOMAIN.TLD:ssl.key``` 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 dabord, 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 ![](./images/certificate-signed-by-LE.png)
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 dorigine de yunohost, par précaution.
```bash
sudo mkdir yunohost_self_signed
sudo mv *.pem *.cnf yunohost_self_signed/```
En fonction de lautorité denregistrement, 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 sassurer 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 à laide du service de <a href="https://www.geocerts.com/ssl_checker" target="_blank">geocerts</a>.