La sécurisation de votre serveur Web est toujours l'un des facteurs clés que vous devez prendre en compte avant de mettre en ligne votre site Web. Un certificat de sécurité est essentiel pour sécuriser le trafic envoyé des navigateurs Web aux serveurs Web et, ce faisant, il incitera les utilisateurs à échanger des données avec votre site Web en sachant parfaitement que le trafic envoyé est sécurisé.
Dans la plupart des cas, les certificats de sécurité sont payés et renouvelés annuellement. Chiffrons certificat est une autorité de certification gratuite, ouverte et automatisée que vous pouvez utiliser pour chiffrer votre site. Le certificat expire après chaque 90 jours et se renouvelle automatiquement sans frais.
Lecture recommandée :Comment sécuriser Nginx avec Let's Encrypt sur CentOS 8
Dans cet article, nous allons vous montrer comment installer le Certificat Let's Encrypt avec Certbot pour Apache serveur Web et versions ultérieures, configurez le certificat pour qu'il se renouvelle automatiquement sur CentOS 8 .
Prérequis
Avant de commencer, assurez-vous que les éléments suivants sont en place :
1. Une instance du serveur CentOS 8 avec le serveur Web HTTP Apache installé et en cours d'exécution. Vous pouvez confirmer que votre serveur Web apache est opérationnel.
$ sudo dnf install httpd $ sudo systemctl status httpd
2. Un nom de domaine complet (FQDN ) pointant vers l'adresse IP publique de votre serveur Web sur votre fournisseur d'hébergement Web DNS. Pour ce guide, nous utiliserons linuxtechwhiz.info
pointant vers l'IP du serveur 34.67.63.136
.
Étape 1. Installez Certbot dans CentOS 8
Certbot est un client qui automatise l'installation du certificat de sécurité. Il récupère le certificat de Cryptons l'autorité et le déploie sur votre serveur Web sans trop de tracas.
Certbot est entièrement gratuit et vous permettra d'installer le certificat de manière interactive en générant des instructions basées sur la configuration de votre serveur Web.
Avant de télécharger le certbot , commencez par installer les packages nécessaires à la configuration d'une connexion chiffrée.
Nous allons commencer par installer le EPEL référentiel qui fournit des packages supplémentaires de haute qualité pour les systèmes basés sur RHEL :
$ sudo dnf install epel-release
Ensuite, installez le mod_ssl et openssl colis.
$ sudo dnf install mod_ssl openssl
Une fois toutes les dépendances installées, installez Certbot et Apache module pour Certbot.
$ sudo dnf install certbot python3-certbot-apache
La commande installe Certbot , le module Apache pour Certbot , et d'autres dépendances.
Étape 2 :Créer un hôte virtuel Apache
La prochaine étape consistera à créer un fichier d'hôte virtuel pour notre domaine - linuxtechwhiz.info
. Commencez par créer d'abord la racine du document où vous placerez vos fichiers HTML.
$ sudo mkdir /var/www/linuxtechwhiz.info.conf
Créer un test index.html
fichier comme indiqué.
$ sudo echo “<h1>Welcome to Apache HTTP server</h1>” > /var/www/linuxtechwhiz.info/index.html
Ensuite, créez un fichier d'hôte virtuel comme indiqué.
$ sudo vim /etc/httpd/conf.d/linuxtechwhiz.info
Ajoutez la configuration ci-dessous.
<VirtualHost *:443> ServerName linuxtechwhiz.info ServerAlias www.linuxtechwhiz.info DocumentRoot /var/www/linuxtechwhiz.info/ <Directory /var/www/linuxtechwhiz.info/> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined </VirtualHost>
Enregistrez et quittez.
Attribuez les autorisations à la racine du document comme indiqué.
$ sudo chown -R apache:apache /var/www/linuxtechwhiz.info
Pour que les modifications prennent effet, redémarrez le service Apache.
$ sudo systemctl restart httpd
Étape 3 :Installez le certificat SSL Let's Encrypt sur CentOS 8
Exécutez maintenant certbot comme indiqué pour commencer l'installation du certificat Let's Encrypt .
$ sudo certbot --apache -d domain.com
Dans notre cas, ce sera :
$ sudo certbot --apache -d linuxtechwhiz.info
La commande vous guidera à travers une série d'invites pour vous permettre de configurer Lets Encrypt pour votre domaine. Assurez-vous de fournir votre adresse e-mail, acceptez les conditions d'utilisation et spécifiez les noms de domaine que vous souhaitez utiliser le protocole HTTPS qui est la version cryptée de HTTP.
Si tout s'est bien passé, vous devriez recevoir un message de félicitations à la fin vous informant que votre site a été sécurisé à l'aide du certificat Let's Encrypt . La validité de votre certificat sera également affichée - qui est généralement après 90 jours après le déploiement.
Revenez maintenant à votre fichier d'hôte virtuel et ajoutez les lignes de configuration suivantes.
SSLEngine On SSLCertificateFile /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem
Enregistrez et quittez.
La configuration finale de l'hôte virtuel Apache ressemblera à ceci :
<VirtualHost *:443> ServerName linuxtechwhiz.info ServerAlias www.linuxtechwhiz.info DocumentRoot /var/www/linuxtechwhiz.info/ <Directory /var/www/linuxtechwhiz.info/> Options -Indexes +FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/www.linuxtechwhiz.info-error.log CustomLog /var/log/httpd/www.linuxtechwhiz.info-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/linuxtechwhiz.info/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/linuxtechwhiz.info/privkey.pem </VirtualHost>
Encore une fois, redémarrez Apache.
$ sudo systemctl restart httpd
Étape 4 :Vérification du certificat SSL Let's Encrypt
Pour vérifier que tout fonctionne, lancez votre navigateur et visitez l'adresse IP de votre serveur. Vous devriez maintenant voir un symbole de cadenas au début de l'URL.
Pour obtenir plus de détails, cliquez sur le cadenas symbole &cliquez sur le 'certificat ' dans le menu déroulant qui s'affiche.
Les détails du certificat seront affichés dans la prochaine fenêtre contextuelle.
Vous pouvez également tester votre serveur sur https://www.ssllabs.com/ssltest/
et votre site devrait recevoir un ‘A’
note comme indiqué.
Étape 5 : Renouvellement automatique du certificat SSL Let's Encrypt
Chiffrons n'est valable que pour 90 jours seulement. Habituellement, le processus de renouvellement est effectué par le certbot package qui ajoute un script de renouvellement à /etc/cron.d annuaire. Le script s'exécute deux fois par jour et renouvellera automatiquement tout certificat dans les 30 jours d'expiration.
Pour tester le processus de renouvellement automatique, effectuez un test de fonctionnement à blanc avec certbot .
$ sudo /usr/local/bin/certbot-auto renew --dry-run
Si aucune erreur n'a été rencontrée, cela signifie que vous êtes prêt à partir.
Ceci nous amène à la fin de ce guide. Dans ce guide, nous avons montré comment vous pouvez utiliser certbot pour installer et configurer le certificat Let's Encrypt sur un serveur Web Apache exécuté sur un CentOS 8 système.