Comment sécuriser Apache avec Let's Encrypt sur Ubuntu 14.04

De Get Docs
Aller à :navigation, rechercher
      1. Introduction

Ce tutoriel vous montrera comment configurer un certificat TLS/SSL à partir de Let's Encrypt sur un serveur Ubuntu 14.04 exécutant Apache en tant que serveur Web.

Les certificats SSL sont utilisés dans les serveurs Web pour crypter le trafic entre le serveur et le client, offrant une sécurité supplémentaire aux utilisateurs accédant à votre application. Let's Encrypt fournit un moyen simple d'obtenir et d'installer gratuitement des certificats de confiance.

    1. Conditions préalables

Pour compléter ce guide, vous aurez besoin de :

Lorsque vous êtes prêt à passer à autre chose, connectez-vous à votre serveur à l'aide de votre compte sudo.

    1. Étape 1 — Téléchargez le client Let's Encrypt

La première étape pour utiliser Let's Encrypt pour obtenir un certificat SSL est d'installer le logiciel certbot sur votre serveur. Les développeurs de Certbot maintiennent leur propre référentiel de logiciels Ubuntu avec des versions à jour du logiciel. Étant donné que Certbot est en développement si actif, il vaut la peine d'utiliser ce référentiel pour installer un Certbot plus récent que celui fourni par Ubuntu.

Tout d'abord, ajoutez le dépôt :

sudo add-apt-repository ppa:certbot/certbot

Vous devrez appuyer sur ENTER pour accepter. Ensuite, mettez à jour la liste des packages pour récupérer les informations sur les packages du nouveau référentiel :

sudo apt-get update

Et enfin, installez Certbot à partir du nouveau référentiel avec apt-get :

sudo apt-get install python-certbot-apache

Le client certbot Let's Encrypt est maintenant prêt à être utilisé.

    1. Étape 2 - Configurer le certificat SSL

La génération du certificat SSL pour Apache à l'aide du client certbot Let's Encrypt est assez simple. Le client obtiendra et installera automatiquement un nouveau certificat SSL valide pour les domaines fournis en paramètres.

Pour exécuter l'installation interactive et obtenir un certificat qui ne couvre qu'un seul domaine, exécutez la commande certbot avec :

sudo certbot --apache -d example.com

Si vous souhaitez installer un seul certificat valide pour plusieurs domaines ou sous-domaines, vous pouvez les transmettre en tant que paramètres supplémentaires à la commande. Le premier nom de domaine dans la liste des paramètres sera le domaine base utilisé par Let's Encrypt pour créer le certificat, et pour cette raison, nous vous recommandons de passer le nom de domaine de premier niveau nu comme premier dans la liste , suivi de tout sous-domaine ou alias supplémentaire :

sudo certbot --apache -d example.com -d www.example.com

Pour cet exemple, le domaine base sera example.com.

Vous serez invité à fournir une adresse e-mail pour la récupération de clé perdue et les avis, et vous devrez accepter les conditions d'utilisation de Let's Encrypt. Il vous sera ensuite demandé de choisir entre activer à la fois l'accès http et https ou forcer toutes les demandes à rediriger vers https.

Une fois l'installation terminée, vous devriez pouvoir trouver les fichiers de certificat générés sur /etc/letsencrypt/live. Vous pouvez vérifier l'état de votre certificat SSL avec le lien suivant (n'oubliez pas de remplacer example.com par votre domaine base) :

https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest

Vous devriez maintenant pouvoir accéder à votre site Web en utilisant un préfixe https.

Étape 3 - Vérification du renouvellement automatique de Certbot

Les certificats Let's Encrypt ne durent que 90 jours. Cependant, le package certbot que nous avons installé s'en charge pour nous en exécutant certbot renew deux fois par jour via une minuterie systemd. Sur les distributions non-systemd, cette fonctionnalité est fournie par un script cron placé dans /etc/cron.d. La tâche s'exécute deux fois par jour et renouvellera tout certificat dans les trente jours suivant son expiration.

Pour tester le processus de renouvellement, vous pouvez faire un essai avec certbot :

sudo certbot renew --dry-run

Si vous ne voyez aucune erreur, vous êtes prêt. Si nécessaire, Certbot renouvellera vos certificats et rechargera Apache pour prendre en compte les modifications. Si le processus de renouvellement automatisé échoue, Let's Encrypt enverra un message à l'e-mail que vous avez spécifié, vous avertissant lorsque votre certificat est sur le point d'expirer.

    1. Conclusion

Dans ce guide, nous avons vu comment installer un certificat SSL gratuit de Let's Encrypt afin de sécuriser un site web hébergé avec Apache. Nous vous recommandons de consulter le blog Let's Encrypt officiel pour des mises à jour importantes de temps à autre, et de lire la documentation Certbot pour plus de détails sur le client Certbot.