Tuto : Gestion du renouvellement d'un certificat Let's Encrypt via scenario Jeedom

euh … certbot dns challenge at DuckDuckGo

Bonjour

Je rebondi sur ce post car je suis entrain de regarder cela car comme @ngrataloup je laisse ouvert le port 80 (d’ailleurs je ne sais pas si @ngrataloup tu as avancé depuis)

J’ai trouvé ce post qui date un peu : letsencrypt dns-01 OVH – créer un certificat sans devoir ouvrir Jeedom sur internet – DomoHab

Est ce que c’est tjs d’actualité comme tuto ou il y a eu des changements depuis ?

Quand on a mis déjà en place un certificat sur son jeedom via certbot, je présume qu’il faut supprimer celui ci avant toute chose ?

J’ai avancé, et j’ai effectivement mis en place le virtualhost de redirection du port 80 vers le port 443, mais ca m’a généré des pbs, notamment de plugins qui attaquent le port 80 le local donc nécessité d’exclure les adresses locales de cette règle (de mémoire zigbee2mqtt qui ne demarrait plus et un autre mais je ne sais plus lequel).
Bref, je suis revenu en arrière pour le renouvellement automatique … Je suis notifié de la nécessité de renouveler via mon bloc code et j’ai donc 20 jours pour me connecter à ma box, ouvrir le NAT sur le port 80, lancer le renouvellement et refermer le port 80 (~1min de travail tous les 90j :wink:)

Pour le dns challenge : Accès distance et renouvellement certificat ssl - #20 par Jeandhom

Vu les débats et comme c’est un sujet qu ej ene maitrise pas, je reste sur ma minute perdue tous les 90 jours :yum:

Norbert

Ok oui je viens de lire les échanges
Je pense que je vais rester avec le port 80 ouvert et puis c’est tout
Normalement mon jeedom n’est accessible qu’en HTTPS depuis l’extérieur pour moi donc pas de risque que mes identifiants passent en clair sur internet
Par contre oui le port 80 est ouvert mais comme l’est le 443 , même risque si un attaque quelconque se fait sur ceux ci car effectivement le port 443 ne sécurise que le contenu qui transite.

Bonjour, j’ai oublié de demandé cette redirection a t-elle fonctionnée (80 vers 443 en apache, tu devais tester fin aout) ?

J’ai rapidement testé avec le vhost suivant.
mais comme indiqué, je suis revenu en arrière, je trouvais ceci « trop compliqué » par rapport à ma connaissance du sujet et à la simplicité d’ouvrir le flux coté box

<VirtualHost *:80>
  ServerName XXX.YYY.ZZ
  ServerAlias XXX.YYY.ZZ
  Redirect permanent / https://XXX.YYY.ZZ/

  RewriteEngine On
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)
  RewriteCond expr "! -R '192.168.9.0/24'"
  RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

Oui c’est clair que d’ouvrir le flux coté box c 'est simple mais je cherche une solution éventuellement ou je n’ai rien à faire, en cas de pb, madame doit pouvoir gérer

Je fais comme toi, j’ouvre et ferme le 80 à la mano
j’ai mis le renouvellement dans mon calendrier outlook qui m’alerte.
Comme toi ouverture du port ,commande certbot en putty et terminer. Il faut rien que ne pas avoir la flemme de le faire … :slight_smile:
A mes moments perdus je m’essaierai à ton script. J’aime pas laisser le 80 ouvert, on s’est jamais, une boulette de config de ma part , un essai que je n’annule pas par mégarde et c’est le drame :slight_smile: .Il y en a tellement à l’affut de la moindre boulette…

2 « J'aime »

Bonjour,

Si tu fais une boulette, elle sera aussi exploitable via le port 443. Un certificat évite juste que le contenu de la communication puisse être vue mais ne protège pas contre les attaques.

Et à part si tu utilises des réseaux non sûr (wifi publique, réseau d’entreprise avec des petits camarades joueurs :wink: ), il n’est pas simple de se mettre en écoute d’une communication.

2 « J'aime »

Oui je sais bien, mais autant compliquer un peu la tache

1 « J'aime »

ben si elle est exploitable via le port 80, elle le sera aussi facilement par le port 443.

1 « J'aime »

y a boulette et boulette :slight_smile:

1 « J'aime »

Non. Laisser le port 80 en plus du 443 ne permettra rien de plus. C’est une fausse impression de sécurité.

La seule chose c’est si vous utilisez, si vous vous connectez via le port 80 alors votre connexion ne sera pas en encryptée et pourra éventuellement être vue par un tiers.

La redirection du port 80 vers 443 ne fonctionne pas à coup sûr. Par le passé, j’ai dû parfois préciser :443 ou https:// Avec le port 80 fermé, si la redirection ne fonctionne pas, plus de risque.

1 « J'aime »

Ca fonctionne a tous les coups. Impossible qu’il en soit autrement ou alors c’est une erreur de config
Ou alors vous avez trouvé un bug sur apache ou nginx selon ce que vous utilisez.

C’était peut-être une erreur de config. Mais depuis, je n’ai plus confiance, alors pas de port 80 pour moi.

J’essaierai de nouveau lorsque je renouvellerai le certificat Let’s Encrypt.

Complément au tutoriel : la mise en place du challenge DNS pour ne plus avoir à ouvrir le port 80
Ce complément fonctionne pour OVH, mais j’imagine que c’ets le cas pour les autres fournisseurs de nom de domaine :

1 - installation de l’add-on via snap

sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-dns-ovh

2 - creation des API keys sur Ovh : Control panel - OVHcloud

Doits à donner :

GET /domain/zone/*
PUT /domain/zone/*
POST /domain/zone/*
DELETE /domain/zone/*

3 - une fois validé, vous obtenez les tokens qui vont bien
il faut les placer sur votre Jeedom (pour ma part, sur le user jeedom)

mkdir -p ~/.secrets/certbot
sudo nano ~/.secrets/certbot/ovh.ini

renseignez les clés du point 2 dans le fichier suivant

# OVH API credentials used by Certbot
dns_ovh_endpoint = ovh-eu
dns_ovh_application_key = MDAwMDAwMDAwMDAw
dns_ovh_application_secret = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
dns_ovh_consumer_key = MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw

et mettez les bons droits sur ce fichier

sudo chown -R jeedom.jeedom ~/.secrets
sudo chmod 660 ~/.secrets/certbot/ovh.ini

4 - paramétrage de certbot

sudo certbot certonly --dns-ovh --dns-ovh-credentials /home/jeedom/.secrets/certbot/ovh.ini -d votre.nomdedomaine.fr

5- lancer un renouvellement de certificat

sudo certbot renew

6 - et renseigner votre crontab pour remettre à jour tous les mois

0 2 1 * * sudo certbot renew

et voilà, plus besoin de port 80 ouvert et natté sur la box

Norbert

3 « J'aime »

Bonsoir Norbert,
encore un tuto signé de ta part !!! trop fort !! (enfin, pour lequel je suis tombé dessus)
Je viens d’avoir le même souci que toi sur le renouvellement du certificat : je m’étais aperçus que le port 80 de ma LiveBox était ouvert (et je ne savais plus, à ce moment) la raison. Je l’avais donc fermer… je me rends compte maintenant le pourquoi du comment…
accessoirement, j’ai Chrome qui ne reconnait plus mon jeedom (il est considéré comme site dangereux) malgré mon renouvellement après expiration…
Enfin, je suis donc tombé sur ton tuto… :
Sur le post 37, tu le fais sur OVH… serais tu faire (par le plus grand des hasard :smiley: ) sur no ip ?
mais j’ai surtout un souci dans le scénario :
image
sais tu d’ou cela pourrais venir ?
si tu as besoin d’autres info, je peux te les donner…
merci

Bonsoir @remilito

Non désolé, aucune idée, voir peut etre sur internet si il y a des tuto.

Oui …
image
Tes commandes de notif ne sont pas des commandes, mais « OK ».il faut des commandes de notification qui existent
Si tu n’en as pas, tu crées des commandes virtuelles de type info/message
Voilà ce que j’ai chez moi :

Norbert

Bonjour Norbert,
Merci pour ta réponse. Alors effectivement le Ok correspond en fait à la dernière réponse ASK de Telegram (en l’occurrence, il s’agissait de valider la fermeture des VR).
Etant pas très doué :wink: (comme tu le sais), je n’ai pas réussi à créer un virtuel avec les cdes… C’est vrai que JC mais je n’ai pas paramétré les notifications…
et j’aimerai aussi continuer sur telegram…
Merci,
Bon Lundi

1 « J'aime »