J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.
5138 links
Note : toutes les commandes sont lancées avec les droits administrateur. Donc soit avec sudo
devant, soit en se logant comme root (avec sudo su
).
La première commande est certbot renew --dry-run --apache
pour vérifier que tout se passe correctement. L'option --apache
lance le plugin du même nom, qui permet de tester le renouvellement sans que certbot fasse tourner lui-même un serveur web sur le port 80.
Si tout est ok, on lance la commande certbot renew --apache
qui renouvelle vraiment les certificats.
Les certificats ainsi créés sont valides 90 jours.
Pour vérifier les dates de renouvellement, on lance la commande certbot certificates
.
L'ensemble des certificats est affichée avec la date de fin :
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
Certificate Name: *************
Serial Number: **********************************
Key Type: RSA
Domains: *********************
Expiry Date: 2023-01-12 04:49:48+00:00 (VALID: 68 days)
Certificate Path: /etc/letsencrypt/live/*************/fullchain.pem
Private Key Path: /etc/letsencrypt/live/*************/privkey.pem
Certificate Name: *****************
Serial Number: ******************
Key Type: RSA
Domains: *****************
Expiry Date: 2023-02-02 07:54:01+00:00 (VALID: 89 days)
Certificate Path: /etc/letsencrypt/live/*************/fullchain.pem
Private Key Path: /etc/letsencrypt/live/************/privkey.pem
Outils d'aide à la configuration ssl de Mozilla
Un autre outils de test
Outils de test de la configuration ssl
Je veux renouveler mon certificat pour mon site à l’aide de Let's-encrypt. Ici, prenons le cas où je n’ai pas accès à la machine qui héberge le site et que je n’ai qu’un accès FTP et au cPanel (proposé sur beaucoup d’hébergements mutualisés).
Une autre méthode que celle proposée par Timo.
Le site web accessible depuis l’adresse « http://localhost » correspond à la boucle local : si votre ordinateur est accessible sur le port 80 dans votre navigateur, alors le site qui s’affiche correspond à votre ordinateur.
Ceci est vrai pour chaque internaute : par conséquent, obtenir un certificat SSL/TLS pour localhost est impossible (vu que le certificat sert justement à identifier un site unique).
Généralement, on utilise localhost pour avoir un serveur sur son propre ordinateur, pour pouvoir coder en local, par exemple. Aussi, il est parfois nécessaire d’avoir du https en local (surtout maintenant que les navigateurs considèrent tous les sites sans https comme dangereux).
Pour ça : mkcert
.
Ce petit programme très simple va créer un certificat, non pas auto-signé (ce que les navigateurs n’aiment pas), mais signé par votre certificat personnel ! Par conséquent, les navigateurs le verront toujours comme valide !
Pour activer tout ça sous Apache, sous Linux Mint, on va :
mkcert
mkcert
Ça se passe ici. Perso je prends le fichier binaire directement (ici) : je prends le mkcert-v1.2.0-linux-amd64 et je l’enregistre sous le nom « mkcert » dans le dossier « ~/.mkcert ».
En ligne de commande ça donne (on crée le dossier, on récupère le fichier, on le marque comme exécutable) :
mkdir ~/.mkcert && cd ./.mkcert
wget -O mkcert h ttps://github.com/FiloSottile/mkcert/releases/download/v1.2.0/mkcert-v1.2.0-linux-amd64
chmod +x mkcert
Mkcert a aussi besoin de certutils
, un outil tiers, qui (sous Linux Mint) se trouve dans les dépôts :
sudo apt install libnss3-tools
Là, c’est tout con, on va produire un certificat avec mkcert
. Juste deux commandes.
On créer un certificat local, puis on l’applique à un certificat pour localhost :
./mkcert -install
./mkcert localhost
Si vous rencontrez l'erreur `Enter Password or Pin for "NSS Certificate DB"`, c'est que votre navigateur possède un mot de passe principal (typiquement, Firefox qui demande un mot de passe principal pour sécuriser la base de données dans lesquels sont enregistrés tous les autres mots de passe qu'il enregistre).
Pour supprimer le message, il suffit donc de rentrer le mot de passe principal du navigateur.
Cela va créer deux fichiers, localhost.pem
et localhost-key.pem
.
Ensuite, on active le site HTTPS (sur le port 443) dans Apache.
On active SSL :
sudo a2enmod ssl
On configure le site dans le fichier de conf (remplacez xed
par gedit
sur Ubuntu) :
sudo xed /etc/apache2/sites-available/default-ssl.conf
Trouvez la ligne suivante :
DocumentRoot /var/www/html
Et mettez-y la racine de votre site (perso c’est /var/www
).
Allez ensuite sur la ligne où l’on désigne les certificats, puis remplacez les chemins vers les chemins des deux fichiers créés par mkcert
(attention, mettez bien le chemin complet, sans le « ~/ », donc avec /home/$user ») :
SSLCertificateFile /etc/ssl/certs/ssl-cert/snakeoil.pem
SSLCertificateKeyFile /etc/ssl/certs/ssl-cert/snakeoil.key
SSLCertificateFile /home/timo/.mkcert/localhost.pem
SSLCertificateKeyFile /home/timo/.mkcert/localhost-key.pem
Enregistrez le fichier et fermez Xed (ou gedit).
Il reste à activer le site dans Apache.
cd /etc/apache2/sites-available/
sudo a2ensite default-ssl.conf
Puis on relance le service Apache. Selon que vous utilisiez systemd
ou pas, c’est l’un ou l’autre de ces deux commandes (prenez la première qui fonctionne) :
sudo systemctl restart apache2
sudo service apache2 restart
Si tout s’est bien passé, votre site est désormais actif sur le port 443, en HTTPS, et avec un certificat détecté comme valide (en vert et sans erreurs) : localhost:443 :
Voilà voilà !
Sources de l’info
Intéressant.
En plus, il y a des exemples de configuration.
Config pour "corriger" la dernière faille TLS connue...
voir aussi : http://www.mypersonnaldata.eu/shaarli/?KV5DlQ