Comment installer Let’s Encrypt sur CentOS7 et Apache ?
Dans ce tutoriel, vous apprendrez à installer un certificat TLS / SSL sur le serveur Web Apache. Une fois que vous aurez terminé, le trafic entre le serveur et le client sera chiffré et donc sécurisé. Il s’agit d’une pratique courante de sécurisation des sites Web de e-commerce et d’autres services financiers en ligne. Let’s Encrypt est le pionnier du SSL gratuit. Il sera utilisé comme fournisseur de certificats dans notre cas.
Sommaire
Ce dont vous aurez besoin
Avant d’installer Let’s Encrypt, assurez-vous d’avoir les éléments suivants:
- Accès root au SSH du VPS sous CentOS 7
- Un serveur Web Apache avec un domaine et un vhost correctement configurés
Étape 1 – Installation des modules dépendants
Pour installer certbot vous devez installer le dépôt EPEL car il n’y est pas par défaut. mod_ssl est également requis pour que le cryptage soit reconnu par Apache.
Pour installer ces deux dépendances, exécutez cette commande:
yum install epel-release mod_ssl
Maintenant, vous devriez être prêt à continuer et installer le certbot.
Étape 2 – Téléchargement du client Let’s Encrypt
Ensuite, vous installerez le client certbot du dépôt EPEL:
yum install python-certbot-apache
Le certbot devrait maintenant être installé et utilisable.
Étape 3 – Configuration du certificat SSL
Certbot gérera les certificats SSL assez facilement. Il va générer un nouveau certificat pour le domaine que vous allez spécifier.
Dans notre cas, exemple.com sera utilisé:
certbot --apache -d exemple.com
Si vous souhaitez générer un certificat SSL pour plusieurs domaines ou sous-domaines, exécutez cette commande:
certbot --apache -d exemple.com -d www.exemple.com
IMPORTANT! Le premier domaine doit être votre domaine de base. Dans cet exemple c’est exemple.com
Lors de l’installation du certificat, vous obtiendrez un guide pas-à-pas qui vous permettra de personnaliser les détails du certificat. Vous pourrez choisir entre forcer HTTPS ou laisser HTTP comme protocole par défaut. Fournir une adresse e-mail sera également nécessaire pour des raisons de sécurité.
Une fois l’installation terminée, vous devriez recevoir un message comme ceci:
IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails sent to user@example.com. - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2016-04-21. To obtain a new version of the certificate in the future, simply run Let's Encrypt again. - Your account credentials have been saved in your Let's Encrypt configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal. - If you like Let's Encrypt, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Étape 4 – Configuration du renouvellement automatique du certificat
Les certificats Let’s Encrypt sont valides pour 90 jours. Mais pour un professionnel nous vous recommandons de le renouveler tous les 60 jours afin d’éviter tout problème. Pour ce faire, le certbot nous aidera avec la commande renew. Il vérifiera si l’expiration du certificat est inférieure à 30 jours.
Veuillez exécuter cette commande:
certbot renew
Si le certificat installé est récent, le certbot vérifiera uniquement sa date d’expiration:
Processing /etc/letsencrypt/renewal/example.com.conf The following certs are not due for renewal yet: /etc/letsencrypt/live/example.com/fullchain.pem (skipped) No renewals were attempted.
Pour automatiser le processus de renouvellement, vous pouvez configurer un cronjob. Tout d’abord, ouvrez le crontab:
crontab -e
Ensuite, vous pouvez le programmer pour qu’il se mette en route tous les lundis à minuit:
0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log
Vous pouvez vérifier l’exécution du script dans le fichier /var/log/sslrenew.log.
Conclusion
Vous venez de sécuriser votre serveur web Apache en intégrant un certificat SSL gratuitement ! A partir de maintenant, tout le trafic entre le serveur et le client sera chiffré. Vous pouvez être sûrs que personne ne pourra intercepter des données cruciales (telles que des numéros de carte bancaire).
J’espère vous avoir été utile et je vous dis à bientôt pour un prochain tutoriel ! 😉