Introduction
L'installation d'un certificat SSL devrait être par défaut sur un nouveau site web. Si vous n'avez pas le budget pour l'achat d'un certificat SSL, il est maintenant possible d'installer un certificat gratuit avec Let's Encrypt. L'utilisation d'un tel certificat n'est pas moins sécuritaire qu'un certificat payant et même dans certains cas pourrait être vu comme étant mieux puisque la clé privée change fréquemment. (Valide pour une période de seulement 3 mois).
Voici les instructions pour l'installation avec un script CertBot pour Nginx sur Ubuntu 18.04.
Ajouter Certbot PPA
Authentifiez-vous en SSH sur le serveur. Notez que vous devez avoir le privilège sudo/root.
Vous devrez ajouter le Certbot PPA à votre liste de référentiels. Pour ce faire, exécutez les commandes suivantes sur la ligne de commande de la machine:
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
Installation du script Certbot
Exécutez cette commande sur la ligne de commande de la machine pour installer Certbot.
sudo apt-get install certbot python-certbot-nginx
Choisissez comment vous souhaitez exécuter Certbot Soit obtenez et installez vos certificats ... Exécutez cette commande pour obtenir un certificat et demander à Certbot de modifier automatiquement votre configuration Nginx pour la servir, en activant l'accès HTTPS en une seule étape.
sudo certbot --nginx
Ou, obtenez simplement un certificat Si vous vous sentez plus conservateur et que vous souhaitez apporter manuellement les modifications à votre configuration Nginx, exécutez cette commande.
sudo certbot certonly --nginx
Tester le renouvellement automatique
Les packages Certbot sur votre système sont livrés avec une tâche cron ou une minuterie systemd qui renouvellera automatiquement vos certificats avant leur expiration. Vous n'aurez pas besoin d'exécuter à nouveau Certbot, sauf si vous modifiez votre configuration. Vous pouvez tester le renouvellement automatique de vos certificats en exécutant cette commande:
sudo certbot renouvelle --dry-run
La commande de renouvellement de certbot est installée dans l'un des emplacements suivants:
/etc/crontab /
/etc/cron.*/*
systemctl list-timers
Confirmer que Certbot a fonctionné
Pour confirmer que votre site est correctement configuré, visitez https://yourwebsite.com/ dans votre navigateur et recherchez l'icône de verrouillage dans la barre d'URL. Si vous souhaitez vérifier que vous disposez de l'installation haut de gamme, vous pouvez vous rendre sur https://www.ssllabs.com/ssltest/.
Configuration Nginx
Vérifier que la configuration Nginx de votre site contient les informations du certificat SSL.
server {
# Activer HTTP/2 (optionel).
listen 443 ssl http2;
# Let's Encrypt SSL
ssl_certificate /etc/letsencrypt/live/[yourwebsite.com]/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/[yourwebsite.com]/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}