Installation, demande et configuration de certificat Let’s Encrypt avec Apache (CentOS 7.2)
Let’s Encrypt est une autorité de certification indépendante fourni par l’Internet Security Research Group (ISRG). Elle a pour but de généraliser l’usage de connexions sécurisées (https) en fournissant des certificats SSL gratuit.
Récupération des sources du client Let’s Encrypt
Aucun package n’étant disponible pour le moment dans les dépots CentOS, nous devons récupérer les sources du client depuis les dépôts Github. Pour cela nous devons installer le client Git, donc nous allons taper la commande suivante :
|
|
Le client Git étant installé, nous allons récupérer les sources via les commandes suivantes :
|
|
Nous avons récupérer les sources, avant de pouvoir faire une demande de certificat, nous devons installer les dépendances nécessaires. Pour cela nous allons taper la commande suivante :
|
|
Génération des certificats
Afin de pouvoir faire une demande de certificat, nous devons préalablement arrêter notre serveur web, ici Apache. Pour cela nous tapons les commandes suivantes :
|
|
Nous allons maintenant pour lancer la génération de notre certificat via la commande suivante :
|
|
- certonly : Pour obtenir le certificat sans l’installer automatiquement
- email : On indique l’adresse mail de contact (Doit être valide)
- domain : On indique le(s) domaine(s) pour le(s)quel(s) on demande un certificat
- agree-tos : On accepte les conditions d’utilisations
- rsa-key-size : On défini la taille de la clé à 4096 bits (Par défaut : 2048 bits)
- standalone : Utilise son propre serveur pour valider l’appartenance du domaine
La commande génère 4 fichiers dans le dossier /etc/letsencrypt/live/monsiteweb.fr/
- cert.perm : Contient le certificat principal
- chain.pem : Contient la chaine de certificats supplémentaires
- fullchain.pem : Contient le certificat principal ainsi que la chaine de certificats supplémentaires
- privkey.pem : Contient la clé privé du certification
Configuration des certificats dans Apache
Pour activer le SSL dans Apache, nous allons éditer le fichier de configuration du vhost via la commande suivante :
|
|
On modifie le fichier du vhost comme ci-dessous :
|
|
On vérifie que l’on n’a pas fait d’erreur de syntaxe via la commande suivante :
|
|
Maintenant que le certificat est généré et configuré, nous pouvons relancer Apache pour activer la nouvelle configuration. Pour cela nous allons taper la commande suivante :
|
|
Script de renouvellement du certification
Actuellement les certificats générés ont une durée de validité de 90 jours. Afin d’automatiser le renouvellement du certificat, nous allons créer un script qui s’en chargera. Avant cela nous devons créer un fichier « monsiteweb.fr.ini » contenant tous les paramètres de renouvellement via les commandes suivantes :
|
|
On y ajoute les lignes suivantes :
|
|
Maintenant nous pouvons créer le script de renouvellement du certificat via la commande suivante :
|
|
On y ajoute les lignes suivantes :
|
|
Le script sera exécuté tous les jours. Il vérifiera si le certificat dans moins de 7 jours. Si c’est le cas, une demande de renouvellement de certificat sera effectué. Une fois ce dernier renouvelé, le script recharge le daemon Apache pour prendre en compte le nouveau certificat.