Tutoriel pour installer un certificat SSL gratuit Let’s Encrypt en 5min via Certbot
Let’s Encrypt fournit gratuitement des certificat SSL, valide 3 mois qui se renouvellent automatiquement.
Nous allons voir comment installer le certificat via le client certbot recommandé par l’EFF, puis ensuite obtenir le meilleur niveau de sécurité.
Installer le client certbot
Se rendre sur le site de cerbot et suivre les procédures suivant la version de l’OS et du serveur web
Exécuter le client certbot (en demandant une clé RSA en 4096 bits)
cerbot --rsa-key-size 4096
Suivre les indication de l’assistant. Si le vhost (HTTP) Apache ou Nginx est bien configuré, l’assistant va le trouver et s’occuper automatiquement de la configuration (il se base sur les servername/serveralias des vhosts).
Vous pouvez choisir entre laisser le site accessible en HTTP et en parallèle HTTPS, ou bien rediriger l’HTTP vers la version HTTPS
Par défaut, le niveau de chiffrement est correct ; SSLv2 et v3 désactivé, suite de ciphers robuste, Foward Secrecy activé, SSL compression off…
On obtient (à conditions d’avoir une installation Apache et Openssl à jour : 2.4.10 dans cet exemple) une note de A sur ssllabs.com
On peut néanmoins renforcer un peu plus la sécurité en effectuant quelques manipulations simples
Renforcer la sécurité et obtenir la note maximal (A+) sur ssllabs.com
Activer l’OCSP stappling
Ajouter à la fin du fichier de config du module ssl (/etc/apache2/mods-enabled/ssl.conf) les directives suivantes :SSLUseStapling on
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
Activer le Strict Transport Security (HSTS)
Ajouter dans le fichier de config de Let’s Encrypt (/etc/letsencrypt/options-ssl-apache.conf) les directives suivantes :Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set X-Frame-Options DENY
Header always set X-Content-Type-Options nosniff
Ne pas oublier de redémarrer Apache ou Nginx 🙂