Aller au contenu

[TUTO]Création d'un Certificat "wilcard" Let'sEncrypt avec la méthode "acme.sh"


oracle7

Messages recommandés

@Mic13710

Bonjour,

Désolé pour le retard à te répondre mais surtout Merci pour ton retour.

Le 28/02/2021 à 10:26, Mic13710 a dit :

Il y a bien entendu cette histoire de certificat par défaut qui s’applique au dernier certificat renouvelé sans tenir compte du réglage initial, mais ce n'est pas vraiment un problème en soit

Vis à vis d'une automatisation complète voulue par l'usage du script Python, cela reste un problème qu'il résout. Plus la peine d'aller vérifier l'affectation après un renouvellement.

Le 28/02/2021 à 10:26, Mic13710 a dit :

mais il a un usage très limité car il ne concerne que ceux qui ont plusieurs certificats.

Là désolé, je ne suis pas d'accord, cela concerne aussi ceux qui n'ont qu'un seul certificat comme moi par exemple.

Le 28/02/2021 à 10:26, Mic13710 a dit :

Il semble que les serveurs LE soient souvent saturés.

Là tout à fait d'accord avec toi, cette non disponibilité impacte indirectement aussi parfois les serveurs d'OVH qui ne voient plus d'activité sur la connexion et qui la tue. Du coup, acme échoue.

Pour ton info, j'avais rétabli temporairement dans le gestionnaire de tâches de DSM la commande simple de renouvellement du tuto github. Là, sans rien changer par ailleurs par rapport à ce qui fonctionnait sans problèmes précédemment avec le script Python, j'ai récupéré un échec de renouvellement sur un problème d'identifiant/mdp sur plusieurs jours consécutifs et du coup j'ai atteint la limite de LE. Donc je suis bloqué provisoirement.

J'ai tout contrôlé à ce niveau Id/MdP dans les fichiers qui vont bien, ainsi que le DID de la 2FA au passage. Aucun changement malgré une mise à jour de Firefox qui avait réinitialisée la date d'expiration du cookie DID. Du coup, je ne comprends pas trop où serait le problème.

J'ai donc rétabli dans le gestionnaire de tâches de DSM la commande avec le script python et j'attends de voir ce qui va se passer dans une semaine après déblocage.

Je ferais un retour.

Cordialement

oracle7😉

@jo.p

Bonjour,

Le 28/02/2021 à 20:36, jo.p a dit :

(ou la flemme de vous pencher dessus)

Ce n'est pas un problème de "flemme" mais saches qu'ici ce sont des bénévoles qui répondent en fonction de leur humeur, de leur envie de répondre, de leur connaissances mais surtout aussi selon leur disponibilité.

Pour ton erreur "invalid domain", il te faut vérifier ce que tu as effectivement saisi pour ton nom de domaine dans les différentes commandes que tu passes en ligne de commande. Il faut éviter tant que faire que ce peux, les C/C car souvent on introduit un caractère invisible (fin de ligne, blanc, etc ...) qui en fait vient modifier la chaine et les parser des programmes n'aiment pas et ils rejettent la chose. Un nom de domaine n'est pas si long à taper à moins que la "flemme" passe par là ...🤪

Le 28/02/2021 à 20:36, jo.p a dit :

Suppression des API OVH avant chaque nouvel essai

Qu'est-ce que tu entends pas là ? Tu ne supprimerais pas par hasard tes clés OVH à chaque erreurs ? J'espère que non car normalement une fois crées, elles restent valables jusqu'à leur expiration et comme normalement en les créant tu as dû mettre validity = Unlimited, elles n'expirent donc jamais.

Cordialement

oracle7😉

 

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, oracle7 a dit :

Là désolé, je ne suis pas d'accord, cela concerne aussi ceux qui n'ont qu'un seul certificat comme moi par exemple.

Non Oracle. S'il n'y a qu'un seul certificat à renouveler, il sera toujours celui par défaut. Il n'y a donc pas besoin de script pour ça.

Il y a 1 heure, oracle7 a dit :

j'ai récupéré un échec de renouvellement sur un problème d'identifiant/mdp sur plusieurs jours consécutifs

OK, mais là ça n'a rien à voir avec le script python puisqu'il s'agit de la première partie qui est commune à tous à savoir l'obtention du certificat auprès de LE. J'ai eu aussi un certificat récalcitrant il y a une dizaine de jours par la méthode github. Rien à faire au bout de 3 tentatives. Et puis j'ai rajouté un --debug en fin de commande dans le gestionnaire de tâche histoire d'avoir plus de détails sur le problème, et là, miracle, le certificat s'est renouvelé sans problème. Comme quoi ça tient à pas grand chose.

Je pense que tu devrais éviter l'utilisation du DID. C'est plus une source d'ennui qu'autre chose.

 

Lien vers le commentaire
Partager sur d’autres sites

@Mic13710

Bonjour,

il y a 48 minutes, Mic13710 a dit :

Et puis j'ai rajouté un --debug en fin de commande dans le gestionnaire de tâche histoire d'avoir plus de détails sur le problème, et là, miracle, le certificat s'est renouvelé sans problème. Comme quoi ça tient à pas grand chose.

Merci pour l'info, effectivement on a cela dans la commande intégrée au script python. Tu as raison c'est peut-être tout bêtement la solution car avec le script cela passait sans problème. Si c'est cela alors cela ne tiens vraiment à pas grand chose mais c'est quand même étonnant qu'acme bute là dessus pour se connecter, non ?

On verra donc dans une semaine si cela se confirme ou non.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

@cadkey

Bonjour,

Ta solution de certificat LE pour un domaine gratuit avec synology est bonne mais je crains qu'elle ne réponde pas au problème de @jo.p qui lui, si j'ai bien compris, veux créer un certificat LE pour son domaine personnalisé propre soit "MonDomaine.tld" et pas quelque chose en "ddns.synology.me" dont il ne sera jamais le propriétaire et donc qu'il ne maitrisera pas.

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Le 02/03/2021 à 18:31, oracle7 a dit :

 

Bonjour,

Ce n'est pas un problème de "flemme" mais saches qu'ici ce sont des bénévoles qui répondent en fonction de leur humeur, de leur envie de répondre, de leur connaissances mais surtout aussi selon leur disponibilité.

Pour ton erreur "invalid domain", il te faut vérifier ce que tu as effectivement saisi pour ton nom de domaine dans les différentes commandes que tu passes en ligne de commande. Il faut éviter tant que faire que ce peux, les C/C car souvent on introduit un caractère invisible (fin de ligne, blanc, etc ...) qui en fait vient modifier la chaine et les parser des programmes n'aiment pas et ils rejettent la chose. Un nom de domaine n'est pas si long à taper à moins que la "flemme" passe par là ...🤪

Qu'est-ce que tu entends pas là ? Tu ne supprimerais pas par hasard tes clés OVH à chaque erreurs ? J'espère que non car normalement une fois crées, elles restent valables jusqu'à leur expiration et comme normalement en les créant tu as dû mettre validity = Unlimited, elles n'expirent donc jamais.

Cordialement

oracle7😉

Merci pour vos retours 🙂

@oracle7

Concernant la flemme, c'était une boutade pour vous dire que je comprendrais si je n'ai pas de réponse dans l'immédiat 🙂 

Je saisis mon nom de domaine systématiquement manuellement, donc de ce côté là pas de problème.

Pour la suppression API, je me suis basé sur le conseil de @_Megalegomane_ en fin de page 3 :

Citation

 

Je refais un résumé pour ceux qui auraient le même soucis :

si à la commande (début partie 4 du tuto) : ./acme.sh --issue --keylength 4096 -d "$CERT_DOMAIN" -d "$CERT_WDOMAIN" --dns "$CERT_DNS"
vous avez l'erreur suivante : 

[Wed Jun  3 07:14:52 CEST 2020] Consumer key is ok.
[Wed Jun  3 07:14:53 CEST 2020] invalid domain
[Wed Jun  3 07:14:53 CEST 2020] Error add txt for domain:_acme-challenge.mondomaine.ovh

vous avez certainement (comme moi) créé la clé API OVH avec une coquille dans le nom de domaine.

il vous faudra lister les clés en allant sur cette URL https://api.ovh.com/console/#/me/api/application%23GET
puis supprimer l'ancienne clé en allant via cette URL https://api.ovh.com/console/#/me/api/application/{applicationId}#DELETE
choisir le bon id dans la liste (ou le taper à la main si la liste n'apparait pas) et cliquer Execute

A partir de là, refaire à partir de la partie 3.1 "Création des clés" du tuto.

 

 

Citation

@cadkey

Bonjour,

Ta solution de certificat LE pour un domaine gratuit avec synology est bonne mais je crains qu'elle ne réponde pas au problème de @jo.p qui lui, si j'ai bien compris, veux créer un certificat LE pour son domaine personnalisé propre soit "MonDomaine.tld" et pas quelque chose en "ddns.synology.me" dont il ne sera jamais le propriétaire et donc qu'il ne maitrisera pas.

Effectivement, le certificat concerne mon domaine personnalisé OVH 🙂

 

 

Lien vers le commentaire
Partager sur d’autres sites

@Philippe D

Bonjour,

il y a 6 minutes, Philippe D a dit :

malgré mon chois de DNS  xxxxxxx.synology.me, le certificat semble Ok et valide 

Mais pourtant  j'ai toujours :

https://nas:5001/       NON Sécurisé

Si tu as un certificat créé sur le domaine "xxxxxxx.synology.me", en espérant que tu as créé un wilcard sur ce domaine (i.e. "*.xxxxxxx.synology.me" alors il te faut taper "https://nas.xxxxxxx.synology.me:5001" pour que ton NAS soit vu comme "Sécurisé".

C'est normal que "https://nas:5001" soit non sécurisé car tu as créé ton certificat pour le domaine "xxxxxxx.synology.me" et pas pour "nas" ! Tu me suis ?

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

bravo pour le travail que vous avez réalisé, vu de mon petit niveau, c'est impressionnant.

J'aurais une question à poser avant de me lancer. J'ai bien un nom de domaine chez OVH, que j'appellerais mondomaine.fr. Je souhaite accéder à mes différents équipements en utilisant des sous-domaines :

- NAS1.mondomaine.fr

- NAS2.mondomaine.fr

- RASP.mondomaine.fr

J'avoue que mes connaissances en certificats sont assez limitées. Donc ma question est : est-ce qu'un certificat wildcard sur mondomaine.fr est adapté à mes besoins ou bien faudra t'il, de toute façon, un certificat par matériel ?

Merci

 

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir @Diplo95

Un certificat wildcard sur  mondomaine.fr et  *.mondomaine.fr  est parfaitement adapté. 

Son intérêt est qu'il n'est pas nécessaire de refaire son certificat ou d'en ajouter un à chaque fois que l'on ajoute un domaine tartanpion.mondomaine.fr  😉

 

Lien vers le commentaire
Partager sur d’autres sites

Continuant à réfléchir dessus je me dis cependant que l'intérêt est peut-être limité lorsqu'on a plusieurs machines. N'est-il pas plus facile d'avoir un certificat par machine afin d'automatiser les renouvellements ?

En effet, si j'ai bien compris la logique, si je prends un seul certificat wildcard, je peux automatiser son renouvellement sur un NAS grace à ce tuto, mais il faudra de toute façon que je le déploie manuellement sur le second et sur mon raspberry.

Lien vers le commentaire
Partager sur d’autres sites

il y a 11 minutes, Diplo95 a dit :

mais il faudra de toute façon que je le déploie manuellement sur le second et sur mon raspberry.

Je ne connais pas en détail la méthode d' @oracle7 mais je pense que le déploiement sur plusieurs équipements doit pouvoir être intégré au renouvellement automatique.

C'est le cas du renouvellement des certificats de mes nas avec une méthode un peu différente mais aussi basée sur acme.

Lien vers le commentaire
Partager sur d’autres sites

Il y a 11 heures, Jeff777 a dit :

Un certificat wildcard sur  mondomaine.fr et  *.mondomaine.fr  est parfaitement adapté. 

Oui.... et non.

Un wildcard ne fonctionne que sur un niveau de domaine. Ce sera OK pour nas1.mondomaine.fr, ça ne le sera pas pour toto.nas1.mondomaine.fr

Il faut aussi créer des wildcard dans la zone DNS pour *.nas1.mondomaine.fr et *.nas2.mondomaine.fr pour que les domaines de chaque NAS soient couverts par le certificat.

On peut très bien créer un certificat par NAS qui couvre tous les domaines avec comme domaine mondomaine.fr et autres noms : *.mondomaine.fr, *.nas1.mondomaine.fr, *.nas2.mondomaine.fr

On peut aussi personnaliser chaque certificat pour chaque NAS en ne précisant que le wildcard du NAS.

Pour le Raspberry, soit on importe le certificat commun, soit on passe par le reverse proxy avec un transfert d'une adresse du type https://rasp.mondomaine.fr:443 vers http://IP du Rasp:80

Lien vers le commentaire
Partager sur d’autres sites

il y a 2 minutes, Mic13710 a dit :

Ce sera OK pour nas1.mondomaine.fr, ça ne le sera pas pour toto.nas1.mondomaine.fr

Ah merci de cette info ! Je n'ai jamais essayé le deuxième niveau. Je n'en ai pas l'usage.

Lien vers le commentaire
Partager sur d’autres sites

Je ne savais pas non plus que la validité du wildcard était limitée à 2 niveaux.

Il y a quand même quelque chose que je n'arrive pas à saisir avec les certificats. Je pensais qu'il fallait qu'ils soient "physiquement" dans les machines qui font tourner l'application qui a un accès extérieur : sur mon Pi pour mon appli de domotique, dans mon NAS1 qui fait tourner mon cloud, dans mon NAS2 quand je me connecte au DSM pour sa gestion...

Or, si je comprends bien cette phrase :

il y a 31 minutes, Mic13710 a dit :

Pour le Raspberry, soit on importe le certificat commun, soit on passe par le reverse proxy avec un transfert d'une adresse du type https://rasp.mondomaine.fr:443 vers http://IP du Rasp:80

Ça veut dire que si j'utilise un reverse proxy pour tous mes accès externes, il suffit que le certificat soit "dans" le NAS qui fait tourner le reverse proxy, c'est ça ?

Lien vers le commentaire
Partager sur d’autres sites

Le certificat ne s'applique QUE sur l'adresse de la demande. Si vous paramétrez comme ci-dessus, en tapant l'adresse https://rasp.mondomaine.fr dans votre navigateur, le certificat va s'appliquer pour cette adresse. Ce que vous en faite ensuite dans le reverse proxy n’intéresse plus le certificat. Ainsi, vous pouvez avoir un lien sécurisé sur le WAN entre votre PC et le NAS qui vous met en relation via le reverse proxy avec votre Rasp au travers d'un lien non sécurisé avec le NAS. Dans cette configuration, pas besoin d'un certificat sur le Rasp.

Lien vers le commentaire
Partager sur d’autres sites

ça veut dire que le certificat peut être mis que sur le nas qui a le reverse proxy celui sur lequel sont redirigées les requêtes https. C'est ça @Mic13710

Chez moi c'est un peu particulier j'ai des reverses proxies sur chaque nas et les requêtes peuvent être redirigées vers l'un ou l'autre des nas, donc j'ai également déployé le certificat sur chacun. 

Lien vers le commentaire
Partager sur d’autres sites

Oui @Jeff777, mais rien n'empêche d'avoir un certificat par NAS, ni d'avoir deux reverse proxy actifs.

Par exemple, j'ai activé les serveurs DNS sur chaque NAS avec chacun sa zone privée. Chaque NAS a son propre reverse proxy (pas de master/slave). Les NAS sont respectivement serveurs DNS primaire et secondaire au niveau du DHCP de sorte que mes requêtes locales sont traitées prioritairement par le NAS primaire, par le NAS secondaire si le primaire est indisponible. Il me faut bien dans ce cas un certificat par NAS.

Bien entendu, ce type d'arrangement n'est possible qu'en local. Pour trouver la même redondance sur le WAN, il faut appliquer ton principe.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bonjour,

Je dispose de 2 noms de domaine chez OVH et je souhaitais générer un certificat pour ces 2 domaines (domaine.fr et domaine.info).

J'ai suivi pas à pas le tuto et ça marche nickel jusqu'au moment d'utiliser le script de renew des certificats. Lorsque je lance le script python de renew j'obtiens un message d'erreur :

-- Le nom de domaine (ndd.tld) est errone ou mal configure avec acme.sh.
-- Arret du script de renouvellement du certificat

Je pense que cela vient du fait que le certificat a été généré avec les 4 références :

./acme.sh --issue -d domaine.fr -d *.domaine.fr -d domaine.info -d *.domaine.info --dns dns_ovh

en effet dans le fichier de conf du certificat dans la variable LE_Alt contient :

LE_Alt='*.domaine.fr,domaine.info,*.domaine.info'

Il y a-t-il un moyen de résoudre ce problème?

D'avance merci

Lien vers le commentaire
Partager sur d’autres sites

@nasp

  1. Même si tu t'es inscrit hier en 2013, comme sur tout forum, il est d'usage que les nouveaux membres passent par la rubrique [PRESENTATION] pour faire la leur. Certains ici, y sont sensibles et de plus cela facilite les réponses en fonction du niveau de compétences du membre et de ses équipements. Cela dit rassures-toi il n'est pas trop tard pour bien faire ...
  2. Il y a 14 heures, nasp a dit :

    Je dispose de 2 noms de domaine chez OVH et je souhaitais générer un certificat pour ces 2 domaines (domaine.fr et domaine.info)

    Non ce n'est pas possible. Un certificat LE est définit pour un domaine unique "ndd.tld" et les domaines du premier niveau "inférieur" (xxx.ndd.tld).
    Donc dans ton cas pour résoudre le problème, tu n'as pas le choix que de créer deux certificats : un pour chaque domaine (ndd.fr et ndd.info) et leur wilcard associé. Ensuite il te suffira d'affecter (configurer) chaque certificats pour les services qui les utiliseront respectivement.

Cordialement

oracle7😉

 

Modifié par oracle7
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Merci pour la réponse et désolé de ne pas m'être présenté, je vais le faire de ce pas.

Citation

Donc dans ton cas pour résoudre le problème, tu n'as pas le choix que de créer deux certificats : un pour chaque domaine (ndd.fr et ndd.info) et leur wilcard associé. Ensuite il te suffira d'affecter (configurer) chaque certificats pour les services qui les utiliseront respectivement.

C'est ce que j'ai fini par faire. J'ai aussi créé un certificat spécifique pour le FQDN que j'utilise via DYNDNS.

Cordialement

Nasp

Lien vers le commentaire
Partager sur d’autres sites

@nasp

Bonjour,

Astuce : Pour avertir un membre de ta réponse, tu tapes dans ton message "@" + les premiers caractères de son pseudo. Dans le popup qui apparaît tu cliques alors sur le pseudo recherché et il s'affiche sur fond bleu dans ton texte. Ainsi ton interlocuteur est informé/notifié de ta réponse sinon il ne voit rien sauf à rebalayer en arrière tous les messages (ce que peu de monde fait).

Cordialement

oracle7😉

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.