Dans ce tutoriel, vous apprendrez la procédure de TLS/SSL installation du certificat sur Apache serveur Web. Une fois que vous avez terminé, tout le trafic entre le serveur et le client sera crypté. Il s'agit d'une pratique courante de sécurisation des sites Web de commerce électronique et d'autres services financiers en ligne. Chiffrons est le pionnier de l'implémentation SSL gratuite et sera utilisé comme fournisseur de certificats dans ce cas.
Important ! CentOS Linux 8 a atteint sa fin de vie (EOL) le 2021-12-31. Bien que CentOS Linux 7 soit toujours pris en charge, il atteindra la fin de vie le 2024-06-30. Nous vous recommandons de garder cela à l'esprit lors du choix de ce système d'exploitation. Vous pouvez en savoir plus à ce sujet sur leur site officiel.
Ce dont vous aurez besoin
Avant de commencer ce guide, vous aurez besoin des éléments suivants :
- Accès root SSH au VPS CentOS 7
- Le serveur Web Apache avec un domaine et un vhost correctement configurés
Étape 1 — Installation des modules dépendants
Pour installer certbot vous devrez installer EPEL référentiel car il n'est pas disponible par défaut, mod_ssl est également nécessaire pour que le chiffrement soit reconnu par Apache.
Pour installer ces deux dépendances, veuillez exécuter cette commande :
yum install epel-release mod_ssl
Vous devriez maintenant être prêt à aller plus loin et à installer le certbot lui-même.
Étape 2 - Téléchargement du client Let's Encrypt
Ensuite, vous installerez le client certbot à partir du référentiel EPEL :
yum install python-certbot-apache
Le certbot devrait maintenant être installé et disponible pour une utilisation réelle.
Étape 3 – Configuration du certificat SSL
Certbot gérera assez facilement la gestion des certificats SSL, il générera un nouveau certificat pour le domaine fourni en tant que paramètre.
Dans ce cas, example.com sera utilisé comme domaine pour lequel le certificat sera émis :
certbot --apache -d example.com
Si vous souhaitez générer SSL pour plusieurs domaines ou sous-domaines, veuillez exécuter cette commande :
certbot --apache -d example.com -d www.example.com
Important ! Le premier domaine doit être votre domaine de base, dans cet exemple, il s'agit de example.com
Lors de l'installation du certificat, un guide étape par étape vous sera présenté 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 requise pour des raisons de sécurité.
Une fois l'installation terminée, un message similaire devrait s'afficher :
IMPORTANT NOTES: - If you lose your account credentials, you can recover through e-mails sent to [email protected]. - 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 valables 90 jours, mais chaque professionnel du web vous recommandera de le renouveler dans les 60 jours afin d'éviter tout problème. Pour ce faire, le certbot nous aidera avec son renew
commande. Il vérifiera si le certificat est à moins de 30 jours de son expiration.
Veuillez exécuter cette commande pour continuer :
certbot renew
Si le certificat installé est récent, le certbot ne vérifiera que 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 ce processus de renouvellement, vous pouvez configurer une tâche cron. Tout d'abord, ouvrez la crontab :
crontab -e
Cette tâche peut être planifiée en toute sécurité pour s'exécuter tous les lundis à minuit :
0 0 * * 1 /usr/bin/certbot renew >> /var/log/sslrenew.log
La sortie du script sera redirigée vers /var/log/sslrenew.log
fichier.
Conclusion
Vous venez de sécuriser votre serveur Web Apache en implémentant la fonctionnalité de sécurité la plus attendue :le certificat SSL gratuit ! Désormais, tout le trafic entre le serveur et le client est crypté, vous pouvez être assuré que personne ne pourra intercepter la communication et altérer ou voler des informations cruciales.