Centos: Créer facilement un certificat Apache avec Let’s Encrypt

Let’s Encrypt est une autorité de certification fournissant des certificats gratuits de façon automatique.

Ce projet qui a pour but de généraliser l’usage des connexions sécurisées sur Internet est soutenu par des nombreux sponsors.

Ce tutoriel va présenter comment on peut simplement implémenter des certificats sur un serveur Centos avec Apache.

On commence par installer les composants nécessaires au fonctionnement des certificats (Apache est déjà en place)

sudo yum install mod_ssl python-certbot-apache

Puis on lance la requête pour créer le certificat

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

Ici pour le monbloginfo.com et www.monbloginfo.com, si on ne précise pas d’URL on pourra les saisir à la suite.

On saisit son e-mail puis on clique sur Secure pour obliger l’ensemble des connexions à passer en https.

Pour compléter le niveau de sécurité, on modifie la configuration du SSL

sudo vim /etc/httpd/conf.d/ssl.conf 

### a la suite du bloc </VirtualHost> on colle:
. . . 
 

# Begin copied text 
# from https://cipherli.st/ 
# and https://raymii.org/s/tutorials/Strong_SSL_Security_On_Apache2.html 
 

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH 
SSLProtocol All -SSLv2 -SSLv3 
SSLHonorCipherOrder On 
# Disable preloading HSTS for now.  You can use the commented out header line that includes 
# the "preload" directive if you understand the implications. 
#Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload" 
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains" 
Header always set X-Frame-Options DENY 
Header always set X-Content-Type-Options nosniff 
# Requires Apache >= 2.4 
SSLCompression off  
SSLUseStapling on  
SSLStaplingCache "shmcb:logs/stapling-cache(150000)"  
# Requires Apache >= 2.4.11 
# SSLSessionTickets Off

On redémarre Apache

sudo systemctl restart httpd

On a obtenu pendant l’installation une URL permettant de tester la qualité de son certificat

Le certificat à une validité de 90 jours, on peut le renouveler manuellement avec la commande suivante:

sudo certbot renew

On obtient alors un retour disant « Cert not yet due for renewal » car la date de fin de validité est trop éloignée, il convient néanmoins d’anticiper la fin du certificat grâce à un cron de renouvellement.

sudo crontab -e 

### Et on rajoute sur une ligne:

30 2 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log

On obtient alors un renouvellement des certificats chaque lundi à 02h30, les logs seront dans /var/log/le-renew.log.

Laisser un commentaire