Débattre > Informatique, programmation, geek attitude...

Tuto LetsEncrypt: Installer un certificat de sécurité SSL sous Windows ou Linux avec Crypt::LE (le.pl / le.exe)

<< < (2/29) > >>

alex:
Oui, je crois, j'ai pas regardé.
La punition devait durer 1 an, mais ils ont décidé de créer une nouvelle autorité de certification qui n'est toujours pas reconnue.

A leur place, j'aurais pris la punition et j'aurais attendu 1 an. :iz:

alex:
Pour revenir sur Startcom et Woosign, ça revient tout doucement. :)
Cette semaine, j'ai testé un certificat délivré par leur nouvelle autorité de certification qui ne l'est pas encore tout à fait.

Le certificat passe chez Microsoft et son Internet Explorer, ça devrait donc être pareil pour Edge.
Il passe aussi chez Apple et son Safari (Merci Poulet pour le test).

C'est pas la panacée, mais c'est un début.
Il reste Mozilla et son Firefox mais aussi le navigateur Opera qui fonctionne avec Webkit, le moteur de Mozilla. Je ne peux pas dire si Firefox et Opera ont une politique différente dans la gestion des certificats.
Il reste aussi Google et son Chrome.

Autant dire que c'est pas encore gagné. Il reste 3 navigateurs majoritaires à convaincre que Startcom et Woosign peuvent être des autorités de certification dignes de confiance.

Pour les nuls, je tiens à vous rassurer. Si un certificat est fabriqué maison, et donc pas accepté d'office par les navigateurs, ou délivré par une autorité de certification, ça ne change absolument rien. Les connexions seront sécurisées de la même façon avec un certificat "maison" qu'avec un certificat "honnête".
La seule différence est que le certificat "honnête" garanti que vous êtes sur le bon site, des vérifications ont été faites avant que le certificat ne soit délivré.
Sinon, ça ne remet pas en cause la sécurisation de votre connexion. Même un certificat périmé peut servir pour sécuriser une connexion !
Ce n'est pas très élégant, puisque tous les navigateurs vont s'affoler en vous disant que c'est certain, "un dangereux pirate essaye de vous avoir", mais bon...

alex:
Mise à jour : le 30 septembre 2017
Ajout de liens pour naviguer dans le tuto sans avoir à tout "dérouler".

alex:
Mise à jour
Exemple de script Bash de renouvellement automatique du certificat de sécurité Let's Encrypt.

Renouveler le certificat manuellement tous les 3 mois est une tâche qui devient vite pénible.
Voilà donc pourquoi je vous propose un petit script pour Linux qui se chargera de renouveler le certificat automatiquement. Il vous suffit de créer une tâche cron pour que ce script se lance tous les jours.
Ce script lancera le renouvellement de votre certificat Let's Encrypt si sa date de fin de validité est inférieure à 30 jours.
Je suis désolé pour les utilisateurs Windows, il vous faudra adapter ce script pour en faire un Batch que vous lancerez depuis le planificateur de tâches. (il existe des domaines où Windows n'est plus à la hauteur du tout. Un serveur Apache SSL fait partie de ces domaines)

Dans votre dossier ./ssl, créez un sous dossier ssl-renew/.
Dans ce sous dossier, placez votre clé privée de compte Let's Encrypt, votre clée privée SSL, votre certificat de requête CSR et aussi le certificat SSL (je vous expliquerai plus loin pourquoi tout ce bazard).

Voilà donc ce script : (vous modifierez les chemins et adresse mail selon votre configuration)


--- Code: ---#!/bin/bash

if ! openssl x509 -checkend 2592000 -in /var/ssl/ssl-renew/example.com.crt
then
echo "Renouvellement du certificat SSL." &>TMP_SSL1
/usr/local/bin/le.pl --key "/var/ssl/ssl-renew/account-key.key" --csr "/var/ssl/ssl-renew/example.com.csr" --crt "/var/ssl/ssl-renew/example.com.crt" --generate-missing --unlink --path "/var/www/html/.well-known/acme-challenge" --live --renew 30 &>TMP_SSL2
cp -f /var/ssl/ssl-renew/example.com.crt /var/ssl/example.com.crt
cp -f /var/ssl/ssl-renew/example.com.csr /var/ssl/example.com.csr
cp -f /var/ssl/ssl-renew/example.com.key /var/ssl/example.com.key
chown -R apache:apache /var/ssl/
systemctl reload httpd &>TMP_SSL3
cat TMP_SSL1 TMP_SSL2 TMP_SSL3 | mail -s "Renouvellement du certificat SSL LetsEncrypt" webmaster@example.com
rm -f TMP_SSL*

else
echo "Renouvellement du certificat SSL non nécessaire." # | mail -s "Certificat SSL LetsEncrypt valide" webmaster@example.com
fi

--- Fin du code ---

La première ligne utilise openssl pour tester la fin de validité du cetificat, en secondes, afin de ne pas lancer le.pl et des requêtes inutiles vers Let's Encrypt, tous les jours.
Un peu de respect ne peut pas faire de mal. Inutile d'interroger les serveurs Let's Encrypt si ce n'est pas nécessaire.

La suite du script se charge de renouveler le certificat si cela est nécessaire et de recharger la nouvelle configuration si le certificat a été renouvelé. Dans la foulée, vous recevrez un mail vous donnant tous les détails du renouvellement afin de savoir si tout c'est bien passé.


Pourquoi renouveler le certificat dans un autre dossier pour le copier ensuite dans son dossier de "travail" ?

C'est la seule méthode que j'ai trouvée pour pouvoir changer de clé. Si vous avez une meilleure idée, je suis preneur !
Si vous décidez de changer de clé pour votre certificat, ce sera très simple. Il vous suffira de créer la nouvelle clé, de générer le nouveau certificat CSR et de copier le tout dans ssl-renew/. Au prochain renouvellement du certificat, c'est cette nouvelle clé qui sera utilisée puis la clé et le nouveau certificat seront copiés dans le dossier SSL de Apache.

JCFM:
Bon, voilà qu'Alex  s'exprime en hébreu !
Je n'y comprends rien ! :if:
Heureusement que j'avais du Doliprane sous la main !

alex:
Ben quoi ?
Il s'agit juste de certificat de sécurité pour pouvoir chiffrer les échanges entres chez oim et les ordis des visiteurs/membres. :iq:

Quand on sait comment ça fonctionne, c'est pas si compliqué que ça en a l'air. ;)
Tu crois quand même pas que je vais mettre le réveil pour renouveler le certificat de sécurité. Ca se fait tout seul. :kl:

Navigation

[0] Index des messages

[#] Page suivante

[*] Page précédente

Utiliser la version classique