« LINUX:LetsEncrypt » : différence entre les versions
(Page créée avec « =But= Si votre serveur est accessible depuis Internet et que vous proposez un service WEB par exemple, il vous faut acquérir un certificat publique auprès d'une Autorit… ») |
Aucun résumé des modifications |
||
Ligne 6 : | Ligne 6 : | ||
Sous Linux (Fedora), on installe le logiciel avec la commande suivante: | Sous Linux (Fedora), on installe le logiciel avec la commande suivante: | ||
dnf install certbot python3-certbot-apache | dnf install certbot python3-certbot-apache | ||
Ici on va utiliser Apache (service HTTPD). | Ici on va utiliser Apache comme serveur WEB (service HTTPD). | ||
Ligne 23 : | Ligne 23 : | ||
certbot --apache | certbot --apache | ||
La première fois, on vous demande une adresse mail. Ce ne peut être une adresse mail interne. Let's Encrypt doit pouvoir vous envoyer un message par exemple en cas de dépassement | La première fois, on vous demande une adresse mail. Ce ne peut être une adresse mail interne. Let's Encrypt doit pouvoir vous envoyer un message par exemple en cas de dépassement du délais de validité. | ||
Il présente une liste de vos "VirtualHost". Il suffit d'introduire le n° d'ordre de celui désiré. | Il présente une liste de vos "VirtualHost". Il suffit d'introduire le n° d'ordre de celui désiré. | ||
Ligne 44 : | Ligne 44 : | ||
Heureusement, il existe une commande qui s'en charge: | Heureusement, il existe une commande qui s'en charge: | ||
certbot renew --apache | certbot renew --apache | ||
Les certificats seront | Les certificats seront renouvelés seulement s'il reste moins de 30 jours de validité. | ||
On peut créer un script. On le place par exemple dans un répertoire "/manager/letsencrypt" et on le nomme par exemple "ssl.renew.bat". Par la même occasion, on relance Apache au cas où les certificats auraient été | On peut créer un script. On le place par exemple dans un répertoire "/manager/letsencrypt" et on le nomme par exemple "ssl.renew.bat". Par la même occasion, on relance Apache au cas où les certificats auraient été renouvelés. | ||
Voici ce script: | Voici ce script: | ||
Ligne 55 : | Ligne 55 : | ||
---- | ---- | ||
On fait appel à ce script dans le Cron de Linux. On ajoute | On fait appel à ce script dans le Cron de Linux. On ajoute les lignes suivantes dans le fichier "/etc/crontab": | ||
---- | ---- | ||
# letsencrypt | # letsencrypt renew | ||
40 23 * * * root /manager/letsencrypt/ssl.renew.bat > /manager/letsencrypt/ssl.renew.log | 40 23 * * * root /manager/letsencrypt/ssl.renew.bat > /manager/letsencrypt/ssl.renew.log | ||
---- | ---- |
Version du 10 octobre 2020 à 12:51
But
Si votre serveur est accessible depuis Internet et que vous proposez un service WEB par exemple, il vous faut acquérir un certificat publique auprès d'une Autorité de Certification (CA) officielle. Let's Encrypt en propose des gratuits.
Installation
Sous Linux (Fedora), on installe le logiciel avec la commande suivante:
dnf install certbot python3-certbot-apache
Ici on va utiliser Apache comme serveur WEB (service HTTPD).
Prérequis
Un certain nombre de prérequis sont nécessaires:
- un nom de domaine officiel
- votre serveur doit être accessible depuis Internet
- Apache doit être installé et doit s'exécuter
- Apache doit présenter au moins un "VirtualHost" lié au nom de domaine officiel, celui-ci doit être configuré au niveau du DNS mondial. Voyez l'article suivant: Serveur visible sur Internet
Il est fortement conseillé de sauver votre configuration d'Apache se trouvant dans le répertoire "/etc/httpd" car elle sera adaptée automatiquement. Par défaut, votre configuration se trouve dans les répertoires "/etc/httpd/conf" et "/etc/httpd/conf.d".
Acquérir un certificat
On exécute la commande suivante:
certbot --apache
La première fois, on vous demande une adresse mail. Ce ne peut être une adresse mail interne. Let's Encrypt doit pouvoir vous envoyer un message par exemple en cas de dépassement du délais de validité.
Il présente une liste de vos "VirtualHost". Il suffit d'introduire le n° d'ordre de celui désiré.
Les certificats vont se stocker dans le répertoire "/etc/letsencrypt".
Par la même occasion, il va adapter votre configuration. Elle fait référence à un fichier de configuration que la commande a généré "/etc/letsencrypt/options-ssl-apache.conf". Il n'est pas nécessaire de le modifier ou de l'outrepasser. Par contre, vérifiez votre propre configuration et adaptez-la si nécessaire. C'est pour cette raison qu'on vous conseille de la sauver auparavant.
Détruire un certificat
Il se peut que vous n'ayez plus besoin d'un certificat. Pour l'éliminer, lancez la commande suivante:
certbot delete
Il vous est demandé d'introduire le n° d'ordre du certificat concerné selon la liste présentée.
Renouvellement des certificats
La durée de validité est courte. Elle est de trois mois. Il faut donc veiller à les renouveler.
Heureusement, il existe une commande qui s'en charge:
certbot renew --apache
Les certificats seront renouvelés seulement s'il reste moins de 30 jours de validité.
On peut créer un script. On le place par exemple dans un répertoire "/manager/letsencrypt" et on le nomme par exemple "ssl.renew.bat". Par la même occasion, on relance Apache au cas où les certificats auraient été renouvelés.
Voici ce script:
#!/bin/bash /usr/bin/certbot renew --apache /usr/bin/systemctl restart httpd
On fait appel à ce script dans le Cron de Linux. On ajoute les lignes suivantes dans le fichier "/etc/crontab":
# letsencrypt renew 40 23 * * * root /manager/letsencrypt/ssl.renew.bat > /manager/letsencrypt/ssl.renew.log
Ici on l'appelle tous les jours pendant la nuit. Mais on pourrait ne l'appeler qu'une fois par semaine.
Remarque
Ces certificats sont utilisables dans d'autres contextes comme par un serveur de messagerie (postfix, dovecot).