Accueil » Domotique » Jeedom » Guides Jeedom » Comment activer le ssl sur Jeedom pour disposer d’une adresse HTTPS sans service pack
Guides Jeedom

Comment activer le ssl sur Jeedom pour disposer d’une adresse HTTPS sans service pack

Le ssl vous connaissez certainement, il s’agit du protocole de sécurisation utilisé dans les échanges sur internet. Il vous permet par exemple de réaliser des achats en ligne en toute sécurité. Il s’agit en fait d’un certificat qui se charge d’encrypter les données qui transitent via ce protocole, afin que celle-ci reste indéchiffrable de bout en bout de la connexion. Votre Jeedom pilote votre maison, il contient donc pas mal d’informations. Afin de pouvoir le piloter depuis l’extérieur, vous avez certainement ouvert un port sur votre box pour y accéder de n’importe où.

Bien sûr, j’ose espérer que vous avez également remplacé le mot de passe admin par défaut! Vous aurez également pris soin de faire en sorte que ce mot de passe ne soit pas trop simple cela va de soi. Pourtant encore trop de personnes utilisent un mot de passe générique. Je le vois tous les jours dans les forets Active Directory que j’administre au travail, parfois certains mots de passe sont si simple qu’il serait plus difficile de le trouver si c’était 1234 🙂 Je ne vous parle même pas des personnes qui, par peur de l’oublier, le notent sur un post-it sur le bord de l’écran… Bref, je m’égare! Tout ça pour dire que le mot de passe est important, surtout quand vous êtes en frontale sur internet, alors ne le négligez pas!

Vous disposez donc à présent d’un bon mot de passe, dans le “jargon IT”, on appelle ça un mot de passe fort. C’est bien, mais la sécurité n’étant pas une affaire à prendre à la légère sur internet, passons notre Jeedom DIY en HTTPS pour encore plus de sécurité.

À qui s’adresse cette procédure de sécurisation HTTPS pour Jeedom ?

À tous, mais en particulier à ceux qui comme moi ont monté un Jeedom maison sur un Raspberry pi ou autre et donc qui ne possède pas de service pack. En effet, si vous possédez un service pack Jeedom, la procédure est plus simple, elle ne consiste qu’à cocher une case dans l’administration. Pour les autres, n’ayez crainte, il ne s’agit pas d’une procédure très lourde. Et puis je vous ai mâché le travail, vous n’avez qu’a suivre les étapes ci-dessous et tout ira bien.

Edit du 01/02/2018
Un nouveau guide permettant de sécuriser Jeedom via une nouvelle méthode exempte de la faille de sécurité Let’s Encrypt est disponible.

jeedom-domotique-certificat-certbot-letsencrypt-ssl-secure-raspberrypi

Comment sécuriser l’accès à Jeedom en HTTPS avec un certificat SSL gratuit

Voilà déjà la troisième version de notre célèbre guide pour sécuriser l’accès à Jeedom installé plus communément sur un Raspberry Pi, mais cette procédure fonctionne également parfaitement sur une VM, un PC ou tout autre support qui héberge Jeedom. Toujours…


Les prérequis nécessaires

Afin de génère un certificat Let’s encrypt gratuit, il faut disposer d’un nom de domaine. Pour ma part j’ai généré mon nom de domaine depuis ma freebox révolution. Il est effectivement possible de disposer d’un nome de domaine privé gratuit avec free. Pour cela, rendez-vous dans freebox OS / Paramètres de la freebox / Nom de domaine /Ajouter un nom de domaine.

domaine-freebox-os-domoblog

À l’issue de cette étape, vous disposez d’un nom de domaine du type mondomaine.freeboxos.fr. Notez le, il sera utile pour plus tard.

Par ou commencer coté Jeedom?

1. Pour commencer, il faut se connecter en ssh à Jeedom. Pour cela utiliser Putty et connectez-vous sur l’adresse IP locale de votre Jeedom

Les identifiants pour la connexion dépendent de la source d’installation.

  • Si vous disposez d’une ancienne installation de Jeedom, il y a de grande chances que les identifiants soient: root/ Mjeedom96
  • Si vous avez réalisez l’installation il y a peu sur un Raspberry Pi depuis les dépôts de Raspbian, les identifiants sont: pi / raspberry
  • Si vous avez installé votre Jeedom sur une distribution Debian, alors les identifiants sont les suivants: debian / debian
jeedom-connexion-ssh-putty

2. A présent, passez les commandes suivantes

apt-get install -y git
cd /opt
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
sudo ./letsencrypt-auto --help

Si tout se passe bien, à l’issue de la dernière commande vous obtenez l’écran suivant

lets-encrypt-jeedom-ssl

3. Maintenant que tout est installé, il faut encore déclarer un nouveau certificat. Pour cela, passez la commande suivante dans putty en veillant bien à remplacer le mail et le nome de domaine pas les vôtres.

/opt/letsencrypt/letsencrypt-auto --apache --email monmail@domo-blog.fr -d mondomaine.freeboxos.fr

Acceptez les modalités par A

let's-encrypte-jeedom-agree

4. A présent, vous devez choisir un type d’accès, choisissez la méthode sécurisée en saisissant 2

jeedom-https-secure

5. Votre certificat est à présent enregistré. Vous pouvez vérifier son état à l’adresse suivante (pensez à modifier mondomaine.freeboxos.fr par votre nom de domaine.

https://mondomaine.freeboxos.fr/
quality-ssl-labs-https-jeedom

Dernière configuration côté portail Jedom

Encore une petite config du côté de l’interface graphique de Jeedom cette fois ci (portail)

access-externe-jeedom-ssl

Notez également qu’il vous faudra appliquer une redirection de port du coté de votre routeur sur le port 443

Renouvellement du certificat

Enfin, pour plus tard, sachez que les certificats ssl ne sont pas éternels et nécessitent un renouvellement, le moment venu, vous n’aurez qu’a vous connecter à votre Jeedom via Putty et passer la commande suivante. Prenez soin de remplacer mondomaine.fr par le votre bien sur.

/opt/letsencrypt/letsencrypt-auto --apache --renew-by-default  -d mondomaine.fr

Conclusion

Pour conclure, votre Jeedom est maintenant correctement sécurisé. Outre la sécurité, cette étape est également un prérequis pour utiliser Jeedom avec Télegram par exemple. Nous verrons tout cela dans un autre article, alors restez connectés !

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Aurélien Brunet

Chef de projet informatique, anciennement 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 pour sécuriser mon domicile.
Depuis, je teste, j’installe, je code, j’améliore mon installation et surtout, je partage avec vous mon expertise via ce blog et mon podcast Domotique Chronique pour améliorer votre quotidien dans la maison connectée !

94 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Salut et merci pour cet article.

    Ca fait un moment que j’ai envi de passer jeedom en https mais j’ai un peu peur de mettre les mains dans le cambouis ton article me permet d’y voir un peu plus clair.

    J’ai cepandant une question, j’ai deja un certificat let’s encrypt sur mon nas wwww.mydomain.com est-ce incompatible avec un nouveau certificat sur le meme non de domaine pour jeedom sachant que j’accede a mon jeedom comme ceci http://www.mydomain.com:xxxx ( j’ai un port dédié pour accéder a mon jeedom)

    Merci

  • Hello !

    Merci pour ton article, j’étais justement en phase de réflexion pour sécuriser mon jeedom.
    A la création d’un nom de domaine depuis ma freebox, elle m’a proposé une sécurisation SSL par certificat Let’s encrypt. Je peux donc passer directement à config côté Jeedom ?

    Autre question, au niveau des ports ouverts, j’ai lu qu’il était déconseillé d’utiliser le port 80. Qu’en pense-tu ?

    • De rien! Dans la mesure ou tu as déjà un nom de domaine, tu peux passer à l’étape de configuration Jeedom, ca devrait passer. fait le test tu verra, sinon applique la procédure complète.

      Pour ce qui est du port 80 le protocole https n’utilisant pas ce port mais le 443, pas de pb. (pour info, le 80 est le port HTTP)

  • Tu ne précise pas dans ton article qu’il faut ouvrir le port 443 vers l’IP de Jeedom, cela est interessant de le souligner

      • Zut tu l’as pas ajouté… 🙂 enfin c’est pas grave je lis les commentaire 😀
        Cela veut dire qu’on peut pas le faire de cette facon si on veut utiliser un autre port? obligés à 443?

      • En effet, je vais m’en occuper 😉
        En fait oui, car par convention, le protocole https utilise le port 443, tu dois donc utiliser ce dernier!

  • Bonjour,

    Ca fait des lustres que je me disais de sécuriser en https ma connexion mais sans trouver réellement comment faire.

    J’ai ENFIN trouvé LE bon tuto !

    Ca marche nickel !!!

    Merci beaucoup

      • Bonjour,

        Petite question supplémentaire, pour le renouvellement automatique sans prompt (un moment ça demande 1 ou 2), y’a t il possibilité d’avoir une commande completement automatique ? (je planifierai cela dans jeedom tous les 2 mois par exemple)

        Merci

      • Malheureusement je crain que ce ne soit pas possible sans passer par la console 🙁 Ca reste tout de même une piste à explorer, l’idée est bonne !

      • Je me suis mal exprimé, je veux/peux bien envoyer une commande dans la console (via le plugin script de jeedom) le tout est de trouver la bonne sans qu’il demande des infos à rentrer manuellement.

        Merci

      • Non, non, j’avais bien compris 🙂 Mais je ne vois pas comment gérer tout en une seule et même commande. La commande impose fatalement une validation. Maintenant, il existe peut être un type de commande avec argument qui permettrai de forcer la réponse… Mais là, je ne sais pas du tout !

  • Bonjour,
    Merci pour ce tuto 🙂
    Par contre j’ai un message d’erreur après le:
    /opt/letsencrypt/letsencrypt-auto –apache –email monmail@domo-blog.fr -d mondomaine.freeboxos.fr
    (j’ai bien sur modifié les infos par les miennes)

    Le message d’erreur que j’ai c’est:
    Saving debug log to /var/log/letsencrypt/letsencrypt.log
    Failed to find apache2ctl in PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    The apache plugin is not working; there may be problems with your existing configuration.
    The error was: NoInstallationError(‘Cannot find Apache control command apache2ctl’,)

    Aurais-tu une idée?
    Encore merci

    • Salut,

      c’est sans doute car ton Jeedom ne tourne pas sur Apache mais sur Nginx

      Essaye avec la commande suivante: (en remplaçant les infos par les tiennes)
      ./letsencrypt-auto certonly –email monmail@domo-blog.fr -d mondomaine.freeboxos.fr -a webroot –webroot-path /usr/share/nginx/www/

      si elle fonctionne, il faudra éditer le fichier default qui se trouve ici:
      sudo nano /etc/nginx/sites-enabled/default

      recherche la ligne: server {

      et ajoute les ligne suivantes juste après
      listen 80;
      listen 443 ssl;
      ssl_certificate /etc/nginx/ssl/ mondomaine.freeboxos.fr.crt;
      ssl_certificate_key /etc/nginx/ssl/ mondomaine.freeboxos.fr.key;
      ssl_session_timeout 5m;

      pour finir, un restart de nginx pour prendre en compte:
      service nginx restart

      Je n’ai pas testé sur ce type de serveur alors je ne garantie pas le résultat, tiens moi informé 😉

  • Salut,

    Merci pour ces infos.
    Il est important de préciser également que si l’on a acheté un box jeedom ou un petit pack, on a droit au service de DNS jeedom qui gère le https.
    Une simple activation sur son compte (sur le site du market en ligne ) et une case à cochée dans la conf de jeedom et ca marche tout seul.

    * Par contre j’ai du mal à saisir comment l’url https://xxxxxxx.dns3.jeedom.com fait pour traverser automatiquement mon routeur sans que j’ai la moindre règle à renseigner

    * Je suppose que l’installation du certificat se fait automatiquement par jeedom

    ++

    • Non pas de certificat dans cette configurfation
      Seul la communication avec le serveur dns se fait en https ,celle entre le serveur et le jeedom se fait par un tunnel vpn donc pas besoin de routage puisque c’est initié a la base par une communication sortante

  • La sécurisation d’une box domotique par une simple activation du protocole https me parait vraiment léger. On parle la du coeur du système de votre domicile!

    De mon coté j’ai mis en place ce qui me parait être le minimum : Un VPN (OpenVPN) avec authentification par certificat + password.

    C’est simple à mettre en place et il existe un client pour PC, mac, Android, Iphone, Linux, etc… et un serveur OpenVPN s’installe sur un simple raspberry. Vous aurez de plus accès par ce biais à n’importe qu’elle machine sur votre réseau, pas seulement Jeedom ou autres…

    Avec simplement du https, une simple faille dans jeedom et hop vous êtes vulnérables à des millions d’attaquants. Pas top…

    • C’est sur pas top, mais comment fais tu dans mon cas ?

      J’envoie très regulièrement des commandes tasker en automatique de mon tel android vers mon jeedom (si je suis en voiture, travail etc …).

      Bien naturellement je pourrais le faire par vpn mais ça voudrait direr VPN en permanence et mais du coup tout ton flux par par ta box (je suis donc limité à 1m qui est l’upload de ma box).

      J’ouvre donc le 443 pour autoriser mes requetes tasker et bien sur pour prendre jeedom a distance.
      De plus ça m’arrive de me connecter du boulot, et je peux faire faire de pont vpn entre le boulot et chez moi 🙁

      • Ce n’est pas parce que tu monte un VPN que tu dois rediriger tout ton traffic dessus. C’est une option d’openvpn (redirect-gateway) que tu n’est pas obligé d’activer. De façon standard les flux vers ton jeedom sont redirigé vers ton VPN et les autres passes (Internet) passent par ta connexion 4G directement (routage).

        Depuis ton boulot si tu ne peux pas installer le client OpenVPN sur ton poste alors oui tu est bloqué mais si tu l’as déjà sur ton téléphone, il n’y a pas de problème.

      • Perso je suis sous android et j’essaye de passer par les parametres intégrés vpn de mon galaxy s7.

        J’ai bien trouvé l’endroit où je route que mes flux en 192.x.x.x.

        Par contre j’ai un soucis lorsque je souhaite maintenir cette connexion en permanence il veut pas se connecter .. bref c’est un probleme de mon tel, quelle est la meilleure appli sur android pour faire ce fameux vpn ?

        Du coup sur la freebox je suppose que je ne passerai plus sur du VPN PPTP ou IPsec mais openvpn c’est ça ?

  • Merci pour ce tuto. Fonctionne très bien. A noté qu’il faut avant de faire la conf sous SSH de bien ouvrir le port 443 sur le routeur sinon erreur. Pour finir, possible d’automatiser le renouvellement de la clé? Merci encore

  • salut a tous , je suis bien embêté : plantage durant l’installation -> ./letsencrypt-auto –help
    # Selecting previously unselected package libmpdec2:armhf.
    # dpkg: unrecoverable fatal error, aborting:
    # files list file for package ‘cifs-utils’ is missing final newline
    # E: Sub-process /usr/bin/dpkg returned an error code (2)
    zut de zut …
    une Idée ????
    HELP

  • Bonjour !

    Super article, merci beaucoup. J’avais cherché il y a quelques mois comment passer en HTTPS mais cette perle n’était pas encore publiée… voilà qui fait mon affaire 🙂

    Je reviens avec un problème similaire à celui de “ouquoi” (plus bas), à savoir que j’ai un NAS accessible en HTTPS sur le même réseau (port 443). J’aimerais donc pouvoir accéder à mon NAS via https://mon-domaine.blabla.com (comme c’est le cas aujourd’hui) et à Jeedom via mon-domaine.blabla.com:4545 .

    J’ai correctement installé Let’s encrypt, puis j’ai tenté la création du certificat pour “mon-domaine.blabla.com”. Erreur :
    “- The following errors were reported by the server:
    Domain: mon-domaine.blabla.com
    Type: unauthorized
    Detail: Incorrect validation certificate for TLS-SNI-01 challenge.
    (…) certificate had names “synology.com”
    To fix these errors, please make sure that your domain name was
    entered correctly and the DNS A record(s) for that domain
    contain(s) the right IP address.”

    Après avoir lu le message de “ouquoi”, j’ai tenté à tout hasard la même commande en spécifiant le port “4545” :
    /opt/letsencrypt# /opt/letsencrypt/letsencrypt-auto –apache –email moi@blabla.com -d mon-domaine.blabla.com:4545
    …mais ça ne passe pas ^^ (Invalid character in DNS name)

    Saurais-tu comment je dois procéder pour créer le certificat sur le Raspi ?
    J’ai pensé éventuellement créer un CNAME “jeedom.blabla.com” qui renvoie sur “mon-domaine.blabla.com”, mais comme ça pointe au final sur la même adresse IP externe.. je doute que ça soit utile.

    Merci d’avance pour ton aide 🙂
    KiR.

  • Bonjour a tous, je suis en pleine migration de mon Jeedom vers un nuc
    (debian en natif), et j’ai un soucis lors de l’installation de
    l’https…
    je pense avoir un soucis d’incompatibilite entre python et le module pyparsing (pyparsing==2.2.0)

    ./letsencrypt-auto –help

    Creating virtual environment…
    Traceback (most recent call last):
    File “/usr/bin/virtualenv”, line 5, in
    from pkg_resources import load_entry_point
    File “/usr/local/lib/python3.4/dist-packages/pkg_resources/__init__.py”, line 72, in
    import packaging.requirements
    File “/usr/local/lib/python3.4/dist-packages/packaging/requirements.py”, line 9, in
    from pyparsing import stringStart, stringEnd, originalTextFor, ParseException
    ImportError: No module named ‘pyparsing’

    Merci d’avance de votre aide !

    Cordialement
    Cedric

  • Bonjour,
    Un grand merci pour ce très bon tuto.
    Cependant j’ai un soucis dès la première commande :

    root@jeedom:~# apt-get install -y git
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    git is already the newest version.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    W: Unable to read /etc/apt/apt.conf.d/ – DirectoryExists (2: No such file or directory)
    W: Unable to read /etc/apt/sources.list.d/ – DirectoryExists (2: No such file or directory)
    W: Unable to read /etc/apt/sources.list – RealFileExists (2: No such file or directory)
    W: Unable to read /etc/apt/preferences.d/ – DirectoryExists (2: No such file or directory)
    root@jeedom:~#

    Auriez-vous une idée ?

      • Bonjour,
        Merci de votre réponse.
        Les paquets sont déjà présent car j’avais déjà lancer les commandes (je pense).
        Ce qui me semblait bizarre c’était les erreur de répertoire ?
        J’ai continué les étapes mais lors de la commande : “./letsencrypt-auto –help” j’ai les erreur suivantes :

        root@jeedom:/opt/letsencrypt# ./letsencrypt-auto –help
        Bootstrapping dependencies for Debian-based OSes… (you can skip this with –no-bootstrap)
        Reading package lists… Done
        W: Unable to read /etc/apt/apt.conf.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list – RealFileExists (2: No such file or directory)
        W: Unable to read /etc/apt/apt.conf.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list – RealFileExists (2: No such file or directory)
        W: You may want to run apt-get update to correct these problems
        E: No packages found
        No LSB modules are available.
        No LSB modules are available.
        No libaugeas0 version is available that’s new enough to run the
        Certbot apache plugin…
        Reading package lists… Done
        Building dependency tree
        Reading state information… Done
        Package python-virtualenv is not available, but is referred to by another package.
        This may mean that the package is missing, has been obsoleted, or
        is only available from another source
        W: Unable to read /etc/apt/apt.conf.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list – RealFileExists (2: No such file or directory)
        W: Unable to read /etc/apt/preferences.d/ – DirectoryExists (2: No such file or directory)
        E: Package ‘python-virtualenv’ has no installation candidate
        E: Unable to locate package libaugeas0
        E: Unable to locate package augeas-lenses
        E: Unable to locate package libffi-dev
        root@jeedom:/opt/letsencrypt#

      • Je l’avais fais mais même résultat.
        (Je n’ai pas de répertoire apt )

        root@jeedom:/opt/letsencrypt# sudo apt-get update
        Reading package lists… Done
        W: Unable to read /etc/apt/apt.conf.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list.d/ – DirectoryExists (2: No such file or directory)
        W: Unable to read /etc/apt/sources.list – RealFileExists (2: No such file or directory)

  • Bonjour,
    Merci énormément pour ces explications claires, étant débutant je suis méthodiquement en essayant de comprendre mais à l’exécution de l’étape 3 j’ai l’erreur suivante:
    ImportError: No module named ‘pyparsing’

    Savez vous d’où vient ce problème?

    Merci d’avance

    • bonjour,
      J’ai l’erreur ImportError: No module named ‘pyparsing’
      J’ai tapé la commande Pyhton3.4 -m pip….
      mais j’ai commande introuvable!!!

      Une idée ?

      Par avance merci de vos conseils eclairés 🙂

      Bonne soirée

      • RE

        auto réponse.
        la méthode marche impeccablement bien. juste le bonhomme qui ne sait pas lire correctement les commandes.

        merci

      • Bonjour,
        je dois être un couillon car j’ai le meme problème à savoir commande introuvable lorsque je tape la commande Python3.4 -m pip install pyparsing … sauf que moi je ne trouve pas la solution …
        Merci pour votre aide !

      • Bin, on est 2 … pourtant je l’ai fait à l’époque du tuto ;-(
        mais comme j’ai une petite tête, et que maintenant, je veux recréer un nouveau certificat pour un sous domaine, j’ai l’erreur ImportError: No module named ‘pyparsing’
        j’ai beau taper : “pip install pyparsing” , ça ne corrige pas …
        si quelqu’un qui a réussi pouvait détailler, ça serait vraiment sympa et aurait ma reconnaissance éternelle 😉

      • Bon, effectivement, je suis neuneu .. c’est les majuscules … grr
        donc voilà, ce qu’il taper :
        cd letsencrypt
        python3.4 -m pip install pyparsing
        python3.4 -m pip install appdirs
        ./letsencrypt-auto –help

        encore merci Aurel pour ton tuto

      • de rien, j’ai cramé mon Jeedom suite à la mAJ, je vais refaire une install complète, je vais en profiter pour tester de nouveau le tuto avec la v3 et peut être le mettre à jour au passage 😉

      • moi jeedom installé sur un nuc avec un ssd ..
        ça fonctionne nickel (bluetooth, telegram) mais j’ai tout de même mon eedomus+ et les 2 ensembles, c’est parfait

  • Bonjour, Merci pour ce tuto. Cependant, lorsque je le suis à la lettre, la création du certificat échout et j’obtiens l’erreur :
    Failed authorization procedure. XXXXXX.freeboxos.fr (tls-sni-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Incorrect validation certificate for tls-sni-01 challenge. Requested dc7ce59ce0956c2d8904bf60464e782c.2d63b2d483833b52faf979e2e7787eeb.acme.invalid from [2a01:e34:ed02:3860::1]:443. Received 2 certificate(s), first certificate had names “XXXXXXX.freeboxos.fr”

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

    Domain: XXXXXX.freeboxos.fr
    Type: unauthorized
    Detail: Incorrect validation certificate for tls-sni-01 challenge.
    Requested
    dc7ce59ce0956c2d8904bf60464e782c.2d63b2d483833b52faf979e2e7787eeb.acme.invalid
    from [2a01:e34:ed02:3860::1]:443. Received 2 certificate(s), first
    certificate had names “XXXXXXXX.freeboxos.fr”

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

    Une idée sur la façon de résoudre le problème ?
    Merci d’avance !

  • Bonjour, Merci beaucoup pour le tuto,

    En revanche petit soucis, je suis à la lettre le tuto arriver a la fin quand j’ai enregistrer le certificat le message avec Congratulation s’affiche bien, par contre quand je veux allez sur la console de jeedom cela ne fonctionne plus voir sur les captures d’écrans ci jointes –
    Dans l’attente merci pour votre aide 😉
    https://uploads.disquscdn.com/images/d8e577cb53b6a90bd240ae6d47e3fca9663319f74f9bfe969377527efb5a224f.png https://uploads.disquscdn.com/images/6fa93d2943870978699347cb8f9d94a9e87fab2719481216837d19c94bf59f53.png

    • Bonjour,
      c’est étrange! Dans les logs que tu postes, le système dit ne pas trouver apache, je pense que le problème vient de là!
      Soit, tu a une version de Jeedom qui ne tourne pas avec Apache, soit apache est corrompue sur ta distrib, essaye de le réinstaller, cela corrigera peut être le problème.

      • Bonjour Aurel et merci pour ta réponse, peut tu m’indiquer vers quelle image de jeedom je peut me diriger ? Merci

      • Jeedom ne s’installe plus avec une image mais en lançant 3 lignes de commande sur une install Debian (et là oui pour Debian, en fonction de ton matériel, tu peux utiliser une image 😉 )

      • Ok merci Vincent, j’en était encor à l’installer avec netinstal. Du coup que me conseille tu sur un raspberry pi 3 ? Et pour les lignes de commandes pour install de jeedom après ?

  • Bonjour déjà merci pour le site et toutes les infos, je débute en domotique, raspberry et jeedom..
    J’ai bien avancé mais je bute sur la connexion à jeedom par ssh. En effet si je tape root puis Mjeedom96, j’ai le droit à un beau “accès denied”…une idée? merci d’avance

      • Bonsoir, en fait j’ai installé raspbian t j’ai fait la manip en ssh pour installer Jérôme donc je suppose que j’ai la dernière version. Je ne sais pas comment voir le numéro de version…

    • Bonjour et merci à toi de suivre le site😉👍🏻 Quelle est ta version de Jeedom? Est-ce une install recente via les depots? Ou une ancienne install via l’image?

  • Bonjour, merci pour ce tuto, il semble simple à réaliser, mais la commande ci-dessous est en Timeout
    /opt/letsencrypt/letsencrypt-auto –apache –email jdenouel@free.fr -d jdenouel.freeboxos.fr

    Waiting for verification…
    Cleaning up challenges
    Failed authorization procedure. jdenouel.freeboxos.fr (tls-sni-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Timeout

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

    Domain: jdenouel.freeboxos.fr
    Type: connection
    Detail: 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.

    Une idée ou un conseil ?

      • Bonjour.
        Merci pour votre réponse. J’ai trouvé l’origine. La redirection de ports 443 était absente.

        Merci.

      • Bonjour,

        Même problème, même solution …

        Sauf que pour ma part, la redirection du port 443 était existante mais pas vers jeedom.

        Il faut donc que la redirection existe du port 443 vers le port 443 avec l’ip de direction de votre jeedom.

  • Bonjour,
    Besoin d’un coup de main moi aussi….
    J’ai crée deux redirection de port TCP freebox le 80 vers 80 de jeedom et 443 vers 443 jeedom. J’ai crée un super nom de domaine… Suivi le tuto et une fois l’étape du A passé, impossible de faire quoi que ce soit….
    J’ai cru a un moment que c’est a cause du SSL que free m’a proposé mais j’ai retenté sans et même réponse plus ou moins…

    Voici le message d’erreur :
    Failed authorization procedure. superadresse.freeboxos.fr (tls-sni-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Incorrect validation certificate for tls-sni-01 challenge. Requested 80ca39dd0eff63001f803428ee348a99.fd78b5466b15b1b7840e773049b24d64.acme.invalid from 88.XXX.XXX.XX:XXX. Received 1 certificate(s), first certificate had names “*”

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

    Domain: superadresse.freeboxos.fr
    Type: unauthorized
    Detail: Incorrect validation certificate for tls-sni-01 challenge.
    Requested
    80ca39dd0eff63001f803428ee348a99.fd78b5466b15b1b7840e773049b24d64.acme.invalid
    from 88.XXX.XXX.XXX:443. Received 1 certificate(s), first
    certificate had names “*”

    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.

    Merci d’avance de votre aide !!
    Merci

    • Bonjour,
      Je cherche a m’aider en attendant que quelqu’un puisse intervenir… Quand j’essaie d’atteindre le site voila la réponse :

      Impossible de vérifier ce certificat car l’émetteur est inconnu.
      Emis pour
      Nom commun (CN) *
      Organisation (O) Zwave
      Unité d’organisation (CU) td
      ….

      • Salut, on dirait que tu dispose déjà d’un certificat mais que ce dernier soit mal enregistrer. Il faudrait voir pour le révoquer et dérouler de nouveau la procédure.

      • Salut Aurel,
        Merci beaucoup pour ta réponse et tout le travail que tu offres 🙂
        Je suis d’accord sur l’analyse et j’ai encore plus l’impression qu’il appartient a ma carte zwave car en consultant sur chrome le dit certificat “Organisation (O) Zwave”, je sais quand je l’ai installé que j’ai crée un lien open zwave…
        Alors j’ai deux questions:
        -> Comment révoquer un certificat ? Tu aurais pas un tutorial? Vu comme ca sur google j’ai que des certificats lié a des frs de certificat donc avec une simple interface a cocher “revoquer”
        -> Dans les différentes config RPI3 et JEEDOM que tu as utilisé tu as jamais eu besoin de l’open zwave?
        Merci d’avance,

  • Bonjour,

    moi j’ai eu de la peine à utiliser ce tuto pour une config rpi3+nginx. Voilà juste quelques commentaires si ca peut aider.

    Premièrement un lien pour compléter le tuto qui explique comment installer un webserver + nginx + letsencrypt sur rpi :
    https://www.pestmeester.nl/

    les steps à effectuer en gros :

    votre routeur : accepter et envoyer les calls 443 sur jeedom (un forwarding)

    votre firewall sur le rpi : accepter les requêtes sur 443
    Ex. avec iptables
    # Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
    -A INPUT -p tcp –dport 80 -j ACCEPT
    -A INPUT -p tcp –dport 443 -j ACCEPT

    letsencrypt : l’installer comme décrit (git etc mais sans letsencrypt-auto) et ensuite :
    /opt/letsencrypt/certbot-auto certonly –agree-tos –webroot -w /usr/share/nginx/www/ -d votre-nom-de-serveur

    crontab : ajouter pour le renew du certificat :
    0 6 * * * /opt/letsencrypt/certbot-auto renew –text >> /opt/letsencrypt/certbot/certbot-cron.log && sudo service nginx reload

    nginx : ajouter la gestion du 443 et faire la config ssl (voir ci-dessous)
    ex. de choses à avoir dans son fichier de config sous /etc/nginx/sites-enabled/default (ou autre..)

    dans le bloc html
    {
    listen 80 default_server;
    listen [::]:80 default_server;
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    root /usr/share/nginx/www;
    server_name votre-nom-de-serveur;
    server_tokens off;

    ##
    # SSL Settings
    ##
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;
    ssl_certificate /etc/letsencrypt/live/votre-nom-de-serveur/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/votre-nom-de-serveur/privkey.pem;

    }

    et on reload nginx
    systemctl reload nginx

    Personnellement je ne comprends pas pourquoi il faut modifier le paramètre https et 443 dans jeedom, ça paraît inutile pour faire marcher https.

  • Bonjour Aurélien,
    Je souhaite me racheté un nouveau RPI3 est réinstaller Jeedom en version 3.xx. J’ai déjà mon certificat grâce à votre blog, donc je voudrais savoir la procédure, afin de récupérer mon certificat sur la nouvelle installation?. faut-il juste installer Lestencript sans faire la demande de certificat? Merci beaucoup de m’orienter sur la marche à suivre.
    En attendant je vous souhaites de bonnes fêtes de fin d’année.

    Bien cordialement,
    Michel.

    • Bonjour Michel,

      si il s’agit d’une nouvelle installation, il faut simplement dérouler la procedure de A à Z et le certificat devrait être remplacé. J’avais procédé ainsi quand j’ai migré mon Jeedom vers le Pidrive 😉

      • Aurélien,

        Merci beaucoup du retour, impeccable je testerai cela la semaine prochaine.
        A bientôt sur votre blog.

        Le 27 déc. 2017 17:00, “Disqus” a écrit :

  • Bonjour à tous ! Et merci pour tous les tutos !
    Je viens d’installer sur mon raps 3 jeedom sans soucis et là je bloque comme un boulet dès la première commande et je pige pas pourquoi..
    Je suis bien connecté via putty et je veux donc mettre la commande apt-get install -y git et là c’est le drame -__-.
    Il met met : Coul not open lock file /var/lib/dpkg/lock – open (13: permission denied) Unable ti lock the administration directory are you root ?

    Une idée pour me décoincer ? merci par avance !

  • Bonjour,

    J’ai dû reformater ma carte SD et j’ai pas pensé du tout à faire un backup du répertoire letsencrypt.

    Si je suis ton tuto avec mon système réinstallé, j’ai ce message :
    “Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.”

    Comment faire pour retrouver mon certificat ?

    Merci

  • Bonjour, Letsencrypt semble avoir sorti une nouvelle version avec HTTP-01. Du coup, est-ce que nous pouvons tenter autre chose ?

    • Bonjour, normalement un renouvellement de certificat, appellera la nouvelle méthode HTTP-01 via la même commande, a confirmer car j’arrive bien à générer le nouveau certificat mais je plante toujours sur la validation. Cependant, je suis passer par une revoquation, mon problème vient peut être de là. Peux tu essayer et nous dire quel est le message de sortie?

      • Bonjour, je confirme que j’ai bien un plantage au niveau de la validation :
        Saving debug log to /var/log/letsencrypt/letsencrypt.log
        Plugins selected: Authenticator apache, Installer apache
        Obtaining a new certificate
        Performing the following challenges:
        http-01 challenge for xxx.freeboxos.fr
        Enabled Apache rewrite module
        Waiting for verification…
        Cleaning up challenges
        Failed authorization procedure. xxx.freeboxos.fr (http-01): urn:acme:error:connection :: The server could not connect to the client to verify the domain :: Fetching http://xxx.freeboxos.fr/.well-known/acme-challenge/w2VtqVfSM–0VmQep3TUxsCEWymhu2pPZPKhxdwYHTM: Timeout

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

        Domain: xxx.freeboxos.fr
        Type: connection
        Detail: Fetching
        http://xxx.freeboxos.fr/.well-known/acme-challenge/w2VtqVfSM–0VmQep3TUxsCEWymhu2pPZPKhxdwYHTM:
        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.

      • Coucou , je pense que tu as raison
        j’ai souscrit dans la journée un domaine ovh a 1€ , refais le tuto ce soir et ca roule sans soucis comme papa dans maman !
        Merci a vous pour toussa et mon premier ssl xD

  • Même problème que “Djayjay” : Fetching en Timeout , pourtant le site est bien accessible en port 80 (sinon on a une autre erreur)
    Il doit y avoir un changement dans le script depuis la dernière mise à jour, le répertoire “.well-known/acme-challenge” n’a jamais existé, ce qui est peut-être la cause de l’erreur. Cela dit, même en créant ce répertoire dans le serveur web ça ne marche pas

construction et domotique
promos domotique
Choix box domotique
promos domotique

À qui s’adresse cette procédure de sécurisation HTTPS pour Jeedom ?

À tous, mais en particulier à ceux qui comme moi ont monté un Jeedom maison sur un Raspberry pi ou

Les prérequis nécessaires

Afin de génère un certificat Let’s encrypt gratuit, il faut disposer d’un nom de domaine. Pour ma part j’ai généré

Par ou commencer coté Jeedom?

1. Pour commencer, il faut se connecter en ssh à Jeedom. Pour cela utiliser Putty et connectez-vous sur l’adresse IP

Dernière configuration côté portail Jedom

Encore une petite config du côté de l’interface graphique de Jeedom cette fois ci (portail)

Renouvellement du certificat

Enfin, pour plus tard, sachez que les certificats ssl ne sont pas éternels et nécessitent un renouvellement, le moment venu,

Conclusion

Pour conclure, votre Jeedom est maintenant correctement sécurisé. Outre la sécurité, cette étape est également un prérequis pour utiliser Jeedom

  • À qui s’adresse cette procédure de sécurisation HTTPS pour Jeedom ?
  • Les prérequis nécessaires
  • Par ou commencer coté Jeedom?
  • Dernière configuration côté portail Jedom
  • Renouvellement du certificat
  • Conclusion