admin:services: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édente | ||
admin:services:letsencrypt [2017/10/06 22:25] – Shaka | admin:services:letsencrypt [2020/06/17 18:23] (Version actuelle) – zertrin | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
Cette page décrit la mise en place des certificats signés par [[https:// | Cette page décrit la mise en place des certificats signés par [[https:// | ||
+ | |||
+ | <WRAP center round important> | ||
+ | Quand vous créez un nouveau certificat ou si vous ajoutez des sous-domaines dans un certificat existant, pensez bien à mettre à jour le script de monitoring des certificats SSL : cf [[admin: | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important> | ||
+ | Pour les tests il faut apposer temporairement '' | ||
+ | </ | ||
===== Mise en place de Let's Encrypt sur les serveurs FedeRez ===== | ===== Mise en place de Let's Encrypt sur les serveurs FedeRez ===== | ||
Ligne 27: | Ligne 35: | ||
Il existe deux méthodes pour réaliser le challenge en HTTP : | Il existe deux méthodes pour réaliser le challenge en HTTP : | ||
| | ||
- | | + | |
- | Nous choisirons ici le deuxième méthode | + | Nous choisirons ici la deuxième méthode. |
Pour un nginx la configuration à placer dans le vhost est la suivante : | Pour un nginx la configuration à placer dans le vhost est la suivante : | ||
- | '' | + | |
- | Il faut que le dossier | + | Il faut que le dossier |
Enfin, il faut mettre en place le cron de renouvellement des certificats s'il n'a pas été ajouté lors de l' | Enfin, il faut mettre en place le cron de renouvellement des certificats s'il n'a pas été ajouté lors de l' | ||
- | '' | + | |
- | On notera le renew hook qui permet de relancer les services si un nouveau certificat doit être pris en compte. | + | On notera le renew hook qui permet de relancer les services si un nouveau certificat doit être pris en compte. On pourra faire un script pour le hook s'il n'est pas une commande courte et simple. |
Tout est prêt pour générer le certificat :) | Tout est prêt pour générer le certificat :) | ||
Ligne 47: | Ligne 55: | ||
Il suffit de placer une commande du type : | Il suffit de placer une commande du type : | ||
- | '' | + | |
- | '' | + | |
- | La première fois on vous demandera de dire oui aux TOSS. Pour les test il faut apposer --dry-run. Il est obligatoire de faire des tests jusqu' | ||
- | Si on veut étendre un certificat existant on peut placer un --extend et il faut mettre le même nom. | + | La première fois on vous demandera de dire oui aux TOSS. |
- | Pour avoir une idée de quels certificats sont existants un '' | + | <WRAP center round important> |
+ | Rappel: | ||
+ | </ | ||
+ | Si on veut étendre un certificat existant on peut placer un '' | ||
+ | |||
+ | Pour avoir une idée de quels certificats sont existants un '' | ||
==== Vue d' | ==== Vue d' | ||
Ligne 70: | Ligne 82: | ||
* Un **script de monitoring des certificats SSL** est en place pour vérifier la durée de validité restante et alerter si le certificat s' | * Un **script de monitoring des certificats SSL** est en place pour vérifier la durée de validité restante et alerter si le certificat s' | ||
- | <WRAP center round alert> | + | <WRAP center round info > |
- | Pour le moment, **il faut absolument éviter de retirer un sous-domaine de la liste des domaines** après que le certificat ait été déjà émis. Lors du renouvellement une nouvelle " | + | Précédemment, il fallait |
- | Ceci est du au bug https:// | + | Ceci était |
- | Il est cependant possible d' | + | Il était |
- | Pour retirer un sous domaine, contactez Zertrin auparavant pour coordonner | + | Désormais, il suffit que l'option '' |
- | </ | + | |
- | + | ||
- | + | ||
- | <WRAP center round important> | + | |
- | Quand vous ajoutez des sous-domaines dans le certificat, pensez bien à mettre à jour le script de monitoring des certificats SSL : cf [[admin: | + | |
</ | </ | ||
Ligne 94: | Ligne 101: | ||
< | < | ||
- | apt-get install | + | apt-get install certbot |
</ | </ | ||
Ligne 101: | Ligne 108: | ||
< | < | ||
sudo dpkg-divert --add --rename --divert / | sudo dpkg-divert --add --rename --divert / | ||
+ | </ | ||
+ | |||
+ | On désactive aussi le service et le timer systemd qui viennent en doublon du fichier de cron : | ||
+ | < | ||
+ | systemctl stop certbot.service certbot.timer | ||
+ | systemctl disable certbot.service certbot.timer | ||
+ | systemctl mask certbot.service certbot.timer | ||
</ | </ | ||
Ligne 145: | Ligne 159: | ||
mkdir -p / | mkdir -p / | ||
</ | </ | ||
- | |||
Pour éviter de définir pour chaque site un bloc de configuration pour HTTP afin de rediriger les navigateurs vers la version HTTPS de chaque site, on peut créer un fichier '''/ | Pour éviter de définir pour chaque site un bloc de configuration pour HTTP afin de rediriger les navigateurs vers la version HTTPS de chaque site, on peut créer un fichier '''/ | ||
+ | |||
<file apache / | <file apache / | ||
< | < | ||
Ligne 186: | Ligne 200: | ||
On s' | On s' | ||
+ | |||
a2enmod rewrite | a2enmod rewrite | ||
+ | |||
Ensuite, il faut activer la configuration du site qui gère HTTP avec : | Ensuite, il faut activer la configuration du site qui gère HTTP avec : | ||
+ | |||
a2ensite 000-no-tls | a2ensite 000-no-tls | ||
- | Enfin, on peut supprimer tous les VHOST HTTP pour ne laisser que les blocs qui concernent HTTPS dans les fichiers de configuration d' | + | Enfin, on peut supprimer tous les VHOST HTTP pour ne laisser que les blocs qui concernent HTTPS dans les fichiers de configuration d' |
+ | |||
+ | Notamment, s'il n'est pas utilisé pour autre chose, il faut désactiver la config '' | ||
+ | |||
+ | Puis on recharge la configuration d' | ||
service apache2 reload | service apache2 reload | ||
Ligne 197: | Ligne 219: | ||
- Créer un fichier de test : '' | - Créer un fichier de test : '' | ||
- Depuis une autre machine, utiliser le oneliner suivant pour tester l' | - Depuis une autre machine, utiliser le oneliner suivant pour tester l' | ||
+ | - s' | ||
< | < | ||
Ligne 216: | Ligne 239: | ||
# ---------------------------------- | # ---------------------------------- | ||
- | # EXAMPLE POUR QUIGON.FEDEREZ.NET | + | # EXAMPLE POUR EXMAPLE.FEDEREZ.NET |
# À ADAPTER EN FONCTION DU SERVEUR | # À ADAPTER EN FONCTION DU SERVEUR | ||
# ---------------------------------- | # ---------------------------------- | ||
Ligne 225: | Ligne 248: | ||
PATH=/ | PATH=/ | ||
- | FULLCHAINPATH="/ | + | # remplacer avec le bon chemin, cf le --cert-name ci-dessous |
+ | FULLCHAINPATH="/ | ||
if [[ -e " | if [[ -e " | ||
Ligne 236: | Ligne 260: | ||
echo " | echo " | ||
- | # Pour le moment, il faut absolument éviter de retirer | + | # Bien s' |
- | # après | + | # De préférence mettre le meme nom que le premier domaine demandé, qui est de préférence |
- | # certificats sera créée ne se trouvant pas dans le dossier de destination attendu par les services. | + | |
- | # | + | |
- | # Ceci est du au bug https:// | + | |
- | # | + | |
- | # Il est cependant possible d' | + | |
/ | / | ||
- | -d quigon.federez.net \ | + | |
+ | | ||
-d ldap-ro.federez.net \ | -d ldap-ro.federez.net \ | ||
-d wiki-backup.federez.net \ | -d wiki-backup.federez.net \ | ||
Ligne 275: | Ligne 295: | ||
echo " | echo " | ||
/ | / | ||
- | / | + | |
# / | # / | ||
# / | # / | ||
Ligne 283: | Ligne 303: | ||
=== Tester la génération du certificat === | === Tester la génération du certificat === | ||
+ | |||
+ | <WRAP center round important> | ||
+ | Rappel: Pour les tests penser à apposer temporairement '' | ||
+ | </ | ||
< | < |
admin/services/letsencrypt.1507321502.txt.gz · Dernière modification : 2017/10/06 22:25 de Shaka