kb:crypto:letsencrypt
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
kb:crypto:letsencrypt [2018/03/06 18:59] – beu | kb:crypto:letsencrypt [2020/08/30 12:44] – beu | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
======Let' | ======Let' | ||
- | ====Introduction==== | + | ====Comprendre Let's Encrypt==== |
+ | |||
+ | Let's Encrypt est un Autorité de Certification qui est **GRATUITE** et qui permet de signer un certificat de façon automatique et quasi instantané. | ||
+ | |||
+ | Deux méthodes existent pour valider un certificat :\\ | ||
+ | - Par requête HTTP : Lors de la demande de certificat, l'API va effectuer une requête HTTP sur la dites URL dans le répertoire /// | ||
+ | - Par requêtes DNS : Lors de la requête, l'API fera une requête TXT particulière sur le DNS. Celle-ci n'est soit pas automatique ou elle oblige que le serveur WEB puissent mettre à jour sa zone DNS. Bien que plus contraignante, | ||
+ | |||
+ | ====Pourquoi cette méthode==== | ||
L' | L' | ||
- | Cette méthode n'est pas la plus simple, mais elle permet de mettre en place [[kb: | + | Cette méthode n'est pas la plus simple, mais elle permet de mettre en place [[kb: |
Pour cela, il faut juste le packet certbot/ | Pour cela, il faut juste le packet certbot/ | ||
Ligne 10: | Ligne 18: | ||
Cette méthode n'est pas éligible au renouvellement automatique de certbot, donc il faudra ajouter manuellement l' | Cette méthode n'est pas éligible au renouvellement automatique de certbot, donc il faudra ajouter manuellement l' | ||
- | ===Génération du certificat=== | ||
- | ---- | + | ====Génération du certificat==== |
- | ====Installation de Let's Encrypt==== | + | |
- | Il faudra installer certbot qui est dans les dépôts backports | + | Pour chaque domaines, nous allons créer |
- | < | + | < |
- | # apt install letsencrypt | + | # mkdir -p / |
</ | </ | ||
- | ====Création d'un certificat SSL==== | + | puis on génère la clé privé: |
- | il faudra stopper NginX, Apache ou toutes les applications utilisant le port 80 ou 443 | + | < |
- | < | + | # openssl ecparam -name prime256v1 -genkey -out / |
- | # service apache2 stop | + | |
</ | </ | ||
- | Création du certificat | + | |
- | < | + | Puis le certificat |
- | # letsencrypt certonly | + | |
+ | < | ||
+ | # openssl req -new -subj "/ | ||
</ | </ | ||
- | puis suivre les indications. | ||
- | | ||
- | ====Renouvellement des certificats==== | + | Ces certificats |
- | il faudra stopper NginX, Apache ou toutes les applications utilisant le port 80 ou 443 | + | ====Signature du certificat==== |
- | < | + | |
- | # service apache2 stop | + | Pour signer votre certificat, |
- | </ | + | |
- | Puis il suffira de lancer | + | < |
- | < | + | # certbot certonly --webroot -w /var/www/letsencrypt/ -d wiki.virtit.fr |
- | # letsencrypt | + | |
</ | </ | ||
- | ====Problèmes rencontrés==== | ||
- | En cas de Reverse Proxy, Il faudra | + | ====Renouvellement du certificat==== |
+ | |||
+ | Pour renouveler le certificat, j'ai créé | ||
+ | Je vous conseil d' | ||
+ | |||
+ | <code bash> | ||
+ | 0 2 * * * root / | ||
+ | </ | ||
+ | |||
+ | et créer | ||
+ | |||
+ | <code bash / | ||
+ | # | ||
+ | |||
+ | PATH="/ | ||
+ | cd / | ||
+ | TEMP=`mktemp -d` | ||
+ | NOW_SECONDS=`date ' | ||
+ | NEEDTORELOAD=0 | ||
+ | |||
+ | for i in * ; do | ||
+ | END_DATE=`openssl x509 -dates -noout -in ${i}/ | ||
+ | END_DATE_SECONDS=`date ' | ||
+ | REMAINING_DAYS=`echo "($END_DATE_SECONDS-$NOW_SECONDS)/ | ||
+ | if [ " | ||
+ | NEEDTORELOAD=1 | ||
+ | echo " | ||
+ | mkdir ${TEMP}/ | ||
+ | / | ||
+ | EXITCODE=$? | ||
+ | if [ " | ||
+ | if [ ! -d "/ | ||
+ | mkdir / | ||
+ | fi | ||
+ | mv ${i}/ | ||
+ | mv ${i}/ | ||
+ | mv ${i}/ | ||
+ | mv ${TEMP}/ | ||
+ | fi | ||
+ | else | ||
+ | if [ -t 1 ] ; then | ||
+ | echo " | ||
+ | fi | ||
+ | fi | ||
+ | |||
+ | done | ||
+ | |||
+ | if [ " | ||
+ | echo " | ||
+ | systemctl reload nginx | ||
+ | fi | ||
+ | rm -r $TEMP | ||
+ | </ | ||
- | Il faudra | + | Il faudra |
kb/crypto/letsencrypt.txt · Dernière modification : 2022/10/14 09:30 de beu