VOUS ÊTES ICI: Accueil » Blog » Domotique » Jeedom » Sécuriser Jeedom en HTTPS avec un certificat SSL doté du nouveau challenge HTTP-01
Jeedom

Sécuriser Jeedom en HTTPS avec un certificat SSL doté du nouveau challenge HTTP-01

securiser-jeedom-ssl-https-nouvelle-methode-guide-domotique

Vous avez été nombreux à suivre mon guide de sécurisation SSL pour Jeedom. Malheureusement, il y a deux semaines, une faille Let’s Encrypt révélait quelques faiblesses sur le type de certificat que nous utilisions jusque là. De fait et pour éviter tout risque, les équipes de développement de l’autorité de certification Let’s Encrypt ont bloqué le mode TLS-SNI-01 le temps de proposer une nouvelle solution.

Lire aussi
La validation TLS-SNI-01 de Let's Encrypt mise à mal et suspendue en raison d'une vulnérabilité

La solution n’a pas tardé à être publiée, les équipes de Let’s Encrypt ont été très réactivées sur ce point et ont vite proposées le mode HTTP-01. Un nouveau mode, exempt de la faille présente chez son prédécesseur.

Cependant, la méthode de génération change quelque peu, et surtout, si vous aviez déjà déployé mon premier guide sur votre Jeedom, vous vous êtes peut-être confrontés à certains problèmes.

Depuis je travaille activement à vous proposer une nouvelle solution pour utiliser cette nouvelle méthode de certification SSL. Passant par plusieurs étapes et plusieurs problèmes… Certificats impossibles à générer, Jeedom injoignable défaut de configuration Apache… Bref, j’ai enfin réussi à solutionner mes problèmes et surtout, sécuriser mon Jeedom sur Raspberrypi avec un certificat SSL sécurisé par la nouvelle méthode HTTP-01.

Cependant, la procédure diffère un peu de mon premier guide. Il est alors de mise d’expliquer cette nouvelle procédure dans ce nouveau guide.

Lire aussi
Comment activer le ssl sur Jeedom pour disposer d'une adresse HTTPS sans service pack

Pour ce nouveau guide, je vous propose d’utiliser un nom de domaine externe. OVH propose des noms de domaine en .ovh pour 1,90€ à l’année, ce qui permet de disposer d’un nom de domaine personnalisé, sans le suffixe freeboxos.fr.

Je me demande d’ailleurs après avoir essayé plusieurs manipulations, si la Freebox ne serait pas responsable de mes différents soucis de certificats depuis le changement de chalenge TLS-SNI-01 pour HTTP-01

Un nouveau nom de domaine

Pour l’exemple je propose le fournisseur OVH, sachez que si vous disposez déjà d’un nom de domaine disponible et valide chez un autre provider, vous pouvez tout aussi bien utiliser celui-ci.
Commencez alors par vous rendre sur le site d’OVH et réservez votre nom de domaine perso. Laissez allez votre imagination, ce sera ce nom de domaine qui pointera vers votre domotique, choisissez-le bien!

Pour la bonne compréhension du guide, je vais prendre comme exemple le domaine www.domaine.ovh

 

Une fois votre nouveau domaine acquis, rendez-vous dans l’administration de votre domaine chez OVH. Il ne suffit pas de disposer d’un domaine pour pointer vers votre Jeedom, il faut déjà lui indiquer où est votre Jeedom pour l’afficher quand vous saisissez votre nouveau domaine dans un navigateur.

1 Pour cela, rendez-vous dans la section domaines de votre interface de gestion Ovh, puis dans l’onglet zone DNS

zone-dns-ovh-jeedom-ssl-domotique

2 Faites ajouter une entrée dans le menu à droite de la page

ajout-entree-dns-ovh-ssl-jeedom

3 Sélectionnez le champ de pointage A dans la liste

zone-dns-a-entree-ovh

4 Enfin, indiquez le sous domaine www et votre adresse IP publique dans le champ Cible. Pour connaître votre Adresse IP publique, utilisez un service comme What’s my IP par exemple.

ajout-zone-dns-domaine-ip-publique

Il faut à présent patienter le temps de la propagation DNS. Cela prend quelques heures en général.

Progression de la lecture

DebutFin

A suivre en page 2, Le révocation du certificat, le nettoyage, le nouveau certificat et bien plus…

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE

A propos de cet auteur

Aurélien Brunet

Aurélien Brunet

Informaticien spécialisé dans l'IT industrielle, le réseau et les bases de données, un peu geek à mes heures perdues, je me suis mis à la domotique en 2012 avec ma première box domotique l'eedomus associée à un raspberrypi et quelques développements personnels. Depuis, je test, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog pour améliorer votre quotidien dans la smart home!

  • Gono

    Merci bcp de nous servir sur un plateau cette solution.

    Petit soucis ( sur un serveur debian8 diy, y a ptetre des petites diff avec le rasp) la commande whereis certbot-auto ne me sort rien, pourtant aucun probleme rencontré ( congratulations blabla, j’ai testé avec l’adresse qu’il donne en dessous sur ssllabs) tout a l’air bon pour le certificat, je risque juste d’avoir un ptit probleme au moment de son expiration.
    Si quelqu’un a une petite idée je suis preneur :).
    Merci encore 🙂

    • Ce n’est rien, dans ce cas, tu n’auras qu’a passer les commandes suivantes si cela ne fonctionne pas directement:
      1 -> sudo wget https://dl.eff.org/certbot-auto
      2 -> sudo chmod a+x ./certbot-auto
      3 -> ./certbot-auto renew

      Et ce devrait rouler sans problème 😉

    • Sylvain Jn

      Merci pour ce super tuto ! Cela a fonctionné pour moi, avec mon pi3. J’ai le même souci que toi Gono, la commande whereis ne me retourne rien.
      Je note donc les commandes fournies par Aurélien pour gérer le renouvellement.

  • titi007

    Petite question .. si on n’a pas d’adresse ip fixe ( livebox orange ;-( ) , on fait comment ?

    • Il faut un DynDNS ou NoIP pour associer le nom de domaine à l’IP tournante

      • titi007

        peut être que je peux prendre le xxx.synology.me que me donne le Nas !
        je vais essayer ça ce week end 😉
        en tout cas merci pour le tuto, ça nous aide drôlement

      • lonsdalien

        Ne vous embêter pas avec ça, ovh propose un équivalent, c’est le dynhost, et c’est gratuit.
        De plus le plugin jeedom dyndns est compatible ovh ! C’est ce que j’utilise 🤘

  • Pierrick Vodoz

    Etonnant, le certbot semble continuer à ultiliser tls-sni-01 challenge….

    ./certbot-auto –apache -d XXXX
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Plugins selected: Authenticator apache, Installer apache
    Obtaining a new certificate
    Performing the following challenges:
    tls-sni-01 challenge for XXXX

    • Très étonnant car il est bloqué chez Let’s Encrypt depuis la découverte de la faille! tu n’aurais pas fait un renouvellement des fois? il est toujours actif pour renouvellement de certificat. Pour moi, j’ai bien reçu la confirmation à la generation que mon nouveau certificat utilisait le challenge HTTP-01

      • Shakto

        Pareil pour moi. On voit bien la ligne « Obtaining a new certificate »

  • Vincent Jeudy

    Merci pour l info et le tuto

  • Nottoday

    Bonjour,
    Merci pour ces tuto très bien construits.
    Cependant, j’aurai besoin d’un petit coup de main car je bloque sur la génération du certificat « ./certbot-auto –apache -d http://www.domaine.ovh« .

    Voici ce qu’il me renvoie :

    « Failed authorization procedure. http://www.domaine.ovh (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://www.domaine.ovh/.wel…  »

    404 Not Found

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: http://www.domaine.ovh
    Type: unauthorized
    Detail: Invalid response from
    http://www.domaine.ovh/.wel
     »

    404 Not Found

    Not Found

    To fix these errors, please make sure that your domain name was entered correctly and the DNS A/AAAA record(s) for that domain contain(s) the right IP address. »

    Évidement, j’ai remplacé http://www.domaine.ovh, par mon nom de domaine.
    Celui-ci est bien paramétré et lorsque je l’adresse en http depuis l’extérieur il me renvoie vers la page d’authentification de mon
    jeedom.
    une idée ?

    • Nottoday

      Bonjour,
      Finalement, il semblerait que ce soit un problème de redirection. J’avais redirigé le port 80 vers 501.
      En rétablissant, un port 80 vers un 80, la configuration est passée.
      ouf

  • braksg

    Merci beaucoup pour le tuto très clair ! Je peinais avec d’autres ou je bloquais sur des certificats , j’ai tout repris de A à Z avec le votre et aucun soucis !

    • Bonjour,

      Super !! 🙂

  • Charlyb9978

    Bonjour,

    Je profites de ce tutoriel pour voir si quelqu’un aurait une solution à mon problème:

    J’ai deux raspberry auquels je voudrais avoir accès depuis internet et un domaine chez gandi.

    J’ai fais une redirection du port 443 pour mon jeedom (le 1er rpi) avec un sous domaine jeedom.monsite.tv et un certificat lets’encrypt.

    Mais comment faire pour rediriger un nouveau sous-domaine (kodi.monsite.tv) vers mon autre rpi toujours en https…le port 443 étant déjà pris.

    Merci d’avance de votre aide

    A+

  • Chamo

    salut,
    j’ai créé un nom de domaine.ovh et indiqué l’ip publique de ma freebox.
    pour pointer en http vers jeedom, je tape donc http://www.mondomaine.ovh:80 et ca marche

    par contre le nom de domaine tout seul ne mène nulle part, mais je suppose que c normal?

    la demande de certificat depuis le rasp se passe bien jusqu’à l’etape:
    ./certbot-auto –apache -d http://www.mondomaine.ovh
    qui se finit systématiquement par un message Failed authorization procedure.

    the server could not connect to the client to verify the domain :: fetching http://www.mondomaine.ovh/.well-known/acme-challenge/une suite de caractères: Time out

    quel est le problème?

    d’ailleurs lors de la procédure de certification je n’ai pas eu le dialogue choix 1 ou 2 redirect, mais je suppose que c’est parce que la procédure plante avant?

    d’avance merci pour vos lumières

    • Vu ta description, il manque une redirection de port sur le 80 et le 443 vers ton jeedom sur la freebox

      • Chamo

        Merci pour ta réponse Aurel,

        en effet j’avais une redirection 443 et 8080 (et non pas 80 comme je le pensais) paramétrée dans la freebox.
        Du coup mon domaine OVH voyait en premier le port 443 et plantait faute de réponse (port 443 pas encore paramétré dans Jeedom).
        Bref j’ai corrigé le port en 80 et maintenant la procédure de certification fonctionne. 🙂

        Par contre j’ai un nouveau souci maintenant avec le renouvellement automatique via le fichier CRON
        j’arrive bien à ouvrir et à éditer le fichier comme tu l’indiques…mais je ne trouve pas comment quitter et enregistrer (ESC +???)

        D’avance merci pour ton aide

      • Ctrl + X si tu est sous windoS sinon sur mac c’est Control + X

      • Chamo

        Super merci beaucoup et bravo encore pour ton super tuto 😉

      • Avec plaisir 😉

      • Chamo

        resalut Aurel,

        dans ma grande nullité je me suis trompé de touche après l’edition du crontab
        ctrl D au lieu de X et je me retrouve avec un crontab tout vide 🙁 (j’ai glissé chef!)
        alors question, est-ce qu’il y a un moyen quelconque de récupérer l’ancien? je crois bien que non
        ou réinstaller/injecter un fichier crontab par défaut? même tout réentrer à la main s’il le faut…
        j’ai essayé à tout hasard un crontab-1 >> etc/crontab mais j’ai un message permission denied

        est-ce que cette suppression aura un effet sur mes programmations jeedom et sur le fonctionnememt du rasp?

        bref help :-/

        plan de la loose Check

    • pplumecocq

      au point 3 : « Lancez la génération du nouveau certificat avec la commande »
      il faut saisir :
      ./certbot-auto –apache -d domaine.ovh
      et non pas :
      ./certbot-auto –apache -d http://www.domaine.ovh

      Vous obtenez alors la question posée, répondez 2, puis validez.

      Je suppose que cela est dû aux déclarations du domaine en www dans les fichiers de config modifiés.

  • MV

    Bonjour,
    Mon Raspberry Pi 3 avec Jeedom est derrière un routeur qui est derrière une livebox.
    Je pense que je dois aussi ouvrir un port sur le routeur (redirection de la livebox vers le routeur puis du routeur vers le raspberry pi 3).
    Cela fonctionne en HTTP et le port 80 mais pas en HTTPS et port 443.
    Le routeur ne me permet pas de rediriger le port 443 en HTTPS, il ne me permet que le HTTP.

    Une idée ?

    Je crains être obligé de désinstaller le certificat, mais je ne trouve pas la commande. J’ai essayé les commandes de la page 2 mais j’obtiens : sudo: /opt/letsencrypt/letsencrypt-auto: command not found

    • Bonjour,

      Dans ce cas, pourquoi ne pas placer le raspberry directement derrière la livebox?

      • MV

        Merci de votre réponse.
        Le but d’avoir le raspberry derrière le routeur plutôt que derrière la box du FAI me permet d’être indépendant du FAI (si je veux en changer, etc.). Cela permet aussi à Jeedom de voir tous les équipements du réseau (celui du routeur comme celui de la box) au lieu de ne voir que ceux de la box.

        Finalement, j’ai réussi (je crois) à mettre en HTTPS malgré le fait que le routeur n’indique pas HTTPS, il doit le gérer automatiquement, tout en gardant Let’s Encrypt.
        Merci beaucoup pour ce tuto, car c’est la première fois que je réussis malgré plusieurs tentative.

      • Heureux que cela fonctionne en l’état!

  • freeman32

    Bonjour j’ai eu un petit soucis pendant la mise en place du certificat du coup je l’ai supprimé comme expliqué plus haut dans le tuto mais maintenant quand je veux remettre en place le certificat ce message s’affiche :

    Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80.

    Les ports 80 et 443 sont bien ouverts
    merci d’avance pour vos réponses et bonne soirée !

    • Bonjour,

      Il faut regarder du coté de la configuration Apache, il doit manquer le virtual host.

      • freeman32

        Ok merci de ta réponse tu à à u idée de comment il faut faire ? Je connais pas du tout apache vu que Jeedom installe tout tout seul

      • C’est un peu technique mais si tu regardes sur google tu devrais trouver des tutos qui l’explique bien

  • Manu

    Bonjour, j’ai aussi un soucis.
    J’ai crée mon nom de domaine .ovh ( qui pointait bien vers mon jeedom)
    Mais après la génération du certificat ( qui c’est bien passé) je ne peut plus accéder à mon jeedom depuis l’extérieur.
    Ni avec mon non de domaine, ni avec mon ip public. ( ce que je pouvait faire avant)
    Sur mon compte du domaine, il me dit que les serveurs dns sont en mise a jour « propagation de 48h » et ça fait déjà plusieurs jours.

    Avez vous une idée?
    Merci

    • Manu

      Oupsssss !!!!!

      J’ai trouvé, ça fait plus d’une heure que je suis dessus . J’avais mis dans les ouvertures de port de la freebox 433 et pas 443.
      Dsl

      Du coup j’en profite pour dire que votre blog est une merveille. Merci pour tout vos tutos et autres infos.

      • Heureux que cela fonctionne!! Un chiffre peut tout changer qur une ouverture de port 😀

  • Camera Home

    Bonjour
    j’ai suivi le tuto à la lettre et tout a fonctionné du premier coup mais ce matin quand je veux accéder en https j’y arrive uniquement avec fifefox et pas avec chrome qui m’envoie directement sur la page d’accueil OVH. Avez vous une idée de la provenance de cette anomalie…
    Merci de vos réponse.
    Cdt

    • Bonjour,
      Si c’est ok sous firefox c’est peut etre tout simplement une hisoire de cache Chrome. Il faut vider le cache quitter chrome et essayé de nouveau 😉

      • Camera Home

        Bonjour,

        aujourd’hui je n’y accède plus du tout mais vraiment plus du tout en https. J’ai directement le message suivant: « votre connexion n’est pas privée » Impossible de vérifier sur le serveur qu’il s’agit bien du domaine http://www.xxxxx.ovh, car son certificat de sécurité provient du domaine mailconfig.ovh.net. Cela peut être dû à une mauvaise configuration ou bien à l’interception de votre connexion par un pirate informatique.

        Je ne sais plus quoi faire

      • dans ce cas, c’est un probleme avec le certificat. J’opterai pour une revoquation et une nouvelle generation.

      • Camera Home

        Merci de la réponse, finalement j’ai fait une petite modification au niveau du certificat sans le révoquer. ça marche sur IE et le Fox mais toujours pas sur Chrome (à mon domicile)

  • Morange

    Vraiment génial, merci beaucoup !!!

    • De rien! C’est un plaisir !!

  • Jean Barthe

    Hello,
    Tu dis avoir eu des soucis avec Freebox ? Quels sont-ils ?
    J’ai essayé ce tuto avec un nom de domaine freeboxos.fr, mais impossible. J’ai l’erreur suivante :

    Failed authorization procedure. XXXXXX.freeboxos.fr (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://XXXXXX.freeboxos.fr/.well-known/acme-challenge/t_jW2IG8BagOi8Tr2H-1TNl2Di19_H78iHCIiCorIgk: Timeout

    IMPORTANT NOTES:
    – The following errors were reported by the server:

    Domain: XXXXXX.freeboxos.fr
    Type: connection
    Detail: Fetching
    http://XXXXXX.freeboxos.fr/.well-known/acme-challenge/t_jW2IG8BagOi8Tr2H-1TNl2Di19_H78iHCIiCorIgk:
    Timeout

    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A/AAAA record(s) for that domain
    contain(s) the right IP address. Additionally, please check that
    your computer has a publicly routable IP address and that no
    firewalls are preventing the server from communicating with the
    client. If you’re using the webroot plugin, you should also verify
    that you are serving files from the webroot path you provided.
    – Your account credentials have been saved in your Certbot
    configuration directory at /etc/letsencrypt. You should make a
    secure backup of this folder now. This configuration directory will
    also contain certificates and private keys obtained by Certbot so
    making regular backups of this folder is ideal.

  • kris1208

    Bonjour, j’ai des redirections pour les ports 80 et 443 utilisé deja par un equipement qui lui ne peux pas modifier ses ports. avec des redirections la procedure fonctionne aussi ? surtout la partie qui parle des zone txt chez ovh.
    Merci

Abonnez vous
NE MANQUEZ
PLUS RIEN
Recevez les prochains
articles par mail
JE M' ABONNE
close-link
NOEL 2 DOMO-BLOG

Venez Jouer
avec nous !

Cette année Noel sera connecté
JOUER
#Noel2DOmoBlog
close-link