Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

[Plugin Tiers] LetsEncrypt

Pour échanger sur les plugins classés en catégorie "Communication"
Répondre
batiot
Timide
Messages : 12
Inscription : 28 oct. 2017, 22:35
Localisation : Nantes

[Plugin Tiers] LetsEncrypt

Message par batiot » 05 nov. 2017, 22:26

Bonjour,

Je découvre Jeedom depuis une semaine et voici mon premier plugin: https://github.com/batiot/jeedom-letsencrypt
Il permer d'automatiser l'installation et la configuration d'un certificat HTTPS LetsEncrypt valide.

Si ça tente des courageux de faire alpha testeurs, j'ai initié une doc


Let’s Encrypt is a free, automated, and open Certificate Authority.

Avatar de l’utilisateur
Nebz
Modérateur
Messages : 6514
Inscription : 23 avr. 2017, 01:37
Localisation : Belgique

Re: [Plugin Tiers] LetsEncrypt

Message par Nebz » 05 nov. 2017, 23:26

Très bonne idée à toi :)

ca serait bien de ne pas activer le https sur le local, car c'est une source de problème avec certains appels API. et ca ne sert à rien :)

(en gros en interractif, répondre easy à la place de sécure, j'avoue ne pas avoir lu les options du mode non-interractif pour savoir si c'est ce que tu fais déjà dans ton plugin actuel)
Dev plugin Homebridge

- Fournissez les logs, la capture de vos commandes et vos types génériques svp
- Constructif et bonne humeur, on est pas là pour se lancer des périfs z-wave à la figure :-)

Un petit don ça fait toujours plaisir :)

batiot
Timide
Messages : 12
Inscription : 28 oct. 2017, 22:35
Localisation : Nantes

Re: [Plugin Tiers] LetsEncrypt

Message par batiot » 06 nov. 2017, 01:00

Il semble que le --no-redirect soit la valeur par défaut du mode non-interactif, mais je vais forcer l'option ça coûte rien.

znation
Actif
Messages : 1951
Inscription : 12 nov. 2014, 15:48

Re: [Plugin Tiers] LetsEncrypt

Message par znation » 06 nov. 2017, 13:57

Bonjour,

Cela est une très bonne idée ! Beaucoup de gens se cassent les dents la dessus ...

Ne pas oublier le renouvellement automatique.
JEEDOM v3.3.31 - NUC Z83 II

RaGE
Timide
Messages : 233
Inscription : 24 sept. 2017, 08:57

Re: [Plugin Tiers] LetsEncrypt

Message par RaGE » 06 nov. 2017, 14:10

Merci, super idée, pas pensé que ça pouvait être fait via plugin. En fait, ça pourrait même être une étape du script d'installation (ou pas, parce qu'il faut rentrer des données propres à chacun).
Questions:
Est-ce que ça marcherait avec un port WAN différent de 443 ?
Est-ce qu'il gère le renouvellement ?

En tout cas, si les retours sont bons (et il n'y a pas de raison), je mettrai un lien sur ce plugin depuis mon tuto d'install Freebox:
viewtopic.php?f=23&t=31066
Jeedom sur RPi3 - Installation knx/eibd

maxtone
Timide
Messages : 197
Inscription : 06 mars 2017, 16:03

Re: [Plugin Tiers] LetsEncrypt

Message par maxtone » 06 nov. 2017, 14:41

Salut et bienvenue !
batiot a écrit :
05 nov. 2017, 22:26

Je découvre Jeedom depuis une semaine et voici mon premier plugin: https://github.com/batiot/jeedom-letsencrypt
Tu ne perds pas de temps ! :lol:

Super comme idée car j'ai longuement testé à le mettre en place sur mon RPI3 et ça a toujours bloqué.
Je testerai bien mais je n'ai plus de machine de dispo pour tester les betas... :cry:

Cependant j'ai une petite question : avec ton plugin c'est bien sûr possible de le faire avec un nom de domaine acheté sur OVH (par exemple) ?

batiot
Timide
Messages : 12
Inscription : 28 oct. 2017, 22:35
Localisation : Nantes

Re: [Plugin Tiers] LetsEncrypt

Message par batiot » 06 nov. 2017, 15:14

Le plugin vérifie quotidiennement si un renouvellement est possible sur letsencrypt.
Les certificats https de LetsEncrypt sont valide 90 Jours et letsencrypt nous laisse le renouveler à J-30 de l'expiration.

* Si un nom de domaine est renseigné dans Configuration->Réseaux->Accès externe, c'est celui-ci qui est utilisé. Cela peux donc être un nom de domaine OVH ou un Dyndns.
* Si aucun nom de domaine n'est renseigné, le plugin vas utilisé le service DNS gratuit http://xip.io/ et le configurer en tant qu'Accès externe(Exemple: si son ip externe est X.X.X.X, il utilise https://X.X.X.X.xip.io/ )

Utiliser un port différent de 443 est possible avec letsencrypt, mais ce serait beaucoup plus compliqué de l'automatiser dans un plugin.

RaGE
Timide
Messages : 233
Inscription : 24 sept. 2017, 08:57

Re: [Plugin Tiers] LetsEncrypt

Message par RaGE » 06 nov. 2017, 16:31

batiot a écrit :
06 nov. 2017, 15:14
Utiliser un port différent de 443 est possible avec letsencrypt, mais ce serait beaucoup plus compliqué de l'automatiser dans un plugin.
OK, c'est juste que point de vue sécurité, c'est mieux de diverger du "standard" 443. Mais c'est déjà un super début ! En tout cas, je ne sais pas comment tu fais pour décrypter les plugins après une semaine, moi, je déchiffre depuis un mois et je n'ai encore rien sorti de stable...
Jeedom sur RPi3 - Installation knx/eibd

Avatar de l’utilisateur
Shyrka973
Actif
Messages : 555
Inscription : 18 août 2014, 18:17
Localisation : Kourou / Guyane

Re: [Plugin Tiers] LetsEncrypt

Message par Shyrka973 » 17 déc. 2017, 13:18

Salut @batiot,

Je teste ton plugin.

Je constate qu'il a besoin d'un pré-requis: python-certbot-apache mais ton plugin gère mal l'installation du pré-requis.
Aussi, la page configuration du plugin aurait dû refléter le fait qu'il y a une dépendance à installer et l'état de son installation.

@+
DIY Proxmox 5.1 / i3-6100U @ 2.30GHz / 4Go RAM / 128 Go SSD : Jeedom 3.2.12 - Stretch
Protocol: Z-Wave, EnOcean, RFXtrx433E, Xiaomi, BLEA, MQTT, ESPeasy, Jeeduino, Abeille

drs
Actif
Messages : 1534
Inscription : 04 nov. 2016, 10:44

Re: [Plugin Tiers] LetsEncrypt

Message par drs » 17 déc. 2017, 13:36

Bonjour

Merci pour ce plugin. Mais cela ne fonctionne pas chez moi. J'ai installé et paramétré mon accès externe (en dyndns, port 443), donné l'adresse mail de l'admin, et j'ai crée un nouveau certificat. Et dans les logs, j'ai ceci:

Code : Tout sélectionner

[2017-12-17 13:33:36][DEBUG] : preSave
[2017-12-17 13:33:36][DEBUG] : postSave
[2017-12-17 13:33:36][DEBUG] : fetchCertificate $hostname:XXXXXXXX.dyndns.net   $email:admin@mon-domaine.fr
[2017-12-17 13:33:36][ERROR] : Certbot certificates failedArray ( )
Merci de ton aide

drs
Actif
Messages : 1534
Inscription : 04 nov. 2016, 10:44

Re: [Plugin Tiers] LetsEncrypt

Message par drs » 17 déc. 2017, 13:57

Shyrka973 a écrit :
17 déc. 2017, 13:18
Salut @batiot,

Je teste ton plugin.

Je constate qu'il a besoin d'un pré-requis: python-certbot-apache mais ton plugin gère mal l'installation du pré-requis.
Aussi, la page configuration du plugin aurait dû refléter le fait qu'il y a une dépendance à installer et l'état de son installation.

@+

Je n'avais pas fait attention à ton post. Du coup, j'ai installé le python-certbot-apache, et je n'ai plus d'erreur, juste:

Code : Tout sélectionner

[2017-12-17 13:56:31][DEBUG] : preSave
[2017-12-17 13:56:31][DEBUG] : postSave
[2017-12-17 13:56:31][DEBUG] : fetchCertificate $hostname:XXXXXXXX.dyndns.net   $email:XXXXXXXXX@mondomaine.fr

Mais après??? Quand je me connecte en HTTPS, il envoie le certificat par défault... Et quand je veux supprimer le certificat crée dans jeedom, j'ai ceci dans les logs:

Code : Tout sélectionner

[2017-12-17 14:07:46][DEBUG] : revoke_step1 Array (     [0] =>      [1] => -------------------------------------------------------------------------------     [2] => No certs found.     [3] => ------------------------------------------------------------------------------- )
Du coup, j'ai l'impression que le certificat n'a pas été crée. D'autant plus que quand je le crée, je n'ai aucun détail qui s'affiche:

Image


Deux questions supplémentaires:
1/ Si je mets en place ce certificat (qui se base sur l'adresse externe), puis-je continuer d'y accéder depuis son adresse IP locale, sans utiliser le nom de domaine WAN?
2/ Je n'utilise pas le port 443 depuis l'extérieur, mais un autre port, qui est redirigé en interne vers le jeedom. Ca fonctionnera ou pas?

Avatar de l’utilisateur
minscof
Actif
Messages : 587
Inscription : 27 janv. 2015, 21:37

Re: [Plugin Tiers] LetsEncrypt

Message par minscof » 17 déc. 2017, 17:29

Je rêve d'une version nginx de ce plugin. Je ne me souviens plus ce qui a motivé le passage de nginx à apache, mais comme la migration n'était pas automatisée, je suis toujours sur nginx et je crois que pour des petites confs matérielles, nginx est plus économe qu'apache.

dabou
Timide
Messages : 339
Inscription : 13 sept. 2017, 15:07

Re: [Plugin Tiers] LetsEncrypt

Message par dabou » 17 déc. 2017, 19:20

Superbe initiative que ce plugin. Merci !

J'attends tout de même qu'il avance avant de l'installer ^^ .

batiot
Timide
Messages : 12
Inscription : 28 oct. 2017, 22:35
Localisation : Nantes

Re: [Plugin Tiers] LetsEncrypt

Message par batiot » 17 déc. 2017, 21:04

Merci pour vos retour,

Effectivement, le plugin à une dépendance et a le code pour le gérer. C'était ma première publication sur le market et j'avais oublié "hasDependency" : true. Désolé, c'est corrigé maintenant.

J'ai aussi améliorer le message d'erreur, cela devrais permettre de mieux comprendre ce qui ne passe pas(a priori jeedom pas joignable depuis l'extérieur sur le port 443).

@drs Question 1: Oui bien sur, il rajoute une configuration https, mais ne touche pas a celle http.
@drs Question 2: La méthode letsencrypt utilisé (certbot via challenge tls-sni-01) est la plus simple à mettre en oeuvre mais ne fonctionne qu'avec le port 443 :-( . C'est le prérequis N°2 détaillé dans la documentation https://github.com/batiot/jeedom-letsen ... x.asciidoc

Avatar de l’utilisateur
Shyrka973
Actif
Messages : 555
Inscription : 18 août 2014, 18:17
Localisation : Kourou / Guyane

Re: [Plugin Tiers] LetsEncrypt

Message par Shyrka973 » 18 déc. 2017, 11:38

Salut,

Sous Jessie, le package python-certbot-apache s'installe ainsi: apt-get install python-certbot-apache -t jessie-backports.
Il te faudra ajouter les sources jessie-backports s'il n'existe pas.

En t'inspirant d'autres plugins, il faudrait ajouter une log pour les dépendances. Cela permet de contrôler que les dépendances s'installent correctement.
DIY Proxmox 5.1 / i3-6100U @ 2.30GHz / 4Go RAM / 128 Go SSD : Jeedom 3.2.12 - Stretch
Protocol: Z-Wave, EnOcean, RFXtrx433E, Xiaomi, BLEA, MQTT, ESPeasy, Jeeduino, Abeille

Avatar de l’utilisateur
fwehrle
Actif
Messages : 2824
Inscription : 01 juil. 2015, 11:03
Localisation : Strasbourg

Re: [Plugin Tiers] LetsEncrypt

Message par fwehrle » 18 déc. 2017, 14:13

RaGE a écrit :
06 nov. 2017, 16:31
batiot a écrit :
06 nov. 2017, 15:14
Utiliser un port différent de 443 est possible avec letsencrypt, mais ce serait beaucoup plus compliqué de l'automatiser dans un plugin.
OK, c'est juste que point de vue sécurité, c'est mieux de diverger du "standard" 443. Mais c'est déjà un super début ! En tout cas, je ne sais pas comment tu fais pour décrypter les plugins après une semaine, moi, je déchiffre depuis un mois et je n'ai encore rien sorti de stable...
Mouaih.. ca tient plus de l'idée reçue que de la réalité ca...
Les algorythmes d'attaques des ports se fichent pas mal du numéro du port pour savoir ce qu'il y a derrière...
J'ai déjà tester différents services (http, https, ssh, etc..) sur différents ports, et le nombre de tentative sur chacun d'eux ne change pas le moins du monde... Il y a d'ailleurs différents services en ligne ou tu tapes juste ton ip ou nom de domaine et qui te donnes toutes les infos que tu veux : ports ouverts et services réels branchés derriere, sous-domaines, versions et protocoles SSL utilisées, etc..
Jeedom 3 sur Debian 9 en VM Proxmox 5 sur NUC Intel.
(Anciennement sur Docker sur Syno DS-415+ / MariaDB / DSM 6)
Teleinfo / RFXCom / Stick ZWave / IPX / Serveur Traccar / Blea

XXXL
Timide
Messages : 177
Inscription : 02 mars 2016, 09:10
Localisation : Montpellier
Contact :

Re: [Plugin Tiers] LetsEncrypt

Message par XXXL » 18 déc. 2017, 17:57

Bonjour, je viens de l'installer sur une Smart.

Quand je créé mon équipement, j'ai "Certbot certificates failedArray ( ) "

Et ceci reste vide :
Domaine du certificat
Date de validité
Mon installation sur maison neuve : Jeedom + KNX + Zwave + CozyTouch
Détail du projet : https://www.bimgas.com/maison-domotique ... nx-jeedom/

batiot
Timide
Messages : 12
Inscription : 28 oct. 2017, 22:35
Localisation : Nantes

Re: [Plugin Tiers] LetsEncrypt

Message par batiot » 18 déc. 2017, 21:53

@Shyrka973, j'ai essayer et normalement la trace vas dans letsencrypt_update. Il n'y a rien dans ce fichier de log chez vous ?
As-tu en tête un bon exemple de plugin qui gère bien les dépendances apt-get.

@XXX Le plugin ne gère pas encore l'architecture jessie de la Smart. Je regarde comment faire et je reviens vers toi.

kenshirohokuto
Timide
Messages : 162
Inscription : 07 déc. 2017, 10:02

Re: [Plugin Tiers] LetsEncrypt

Message par kenshirohokuto » 27 déc. 2017, 16:09

bonjour,

j'ai installé le plugin car j'ai déjà un certif valide en cours cependant après installation et lorsque je veux configurer le plugin, j'arrive juste à donner un "nom d'équipement " et ensuite j'ai un message d'erreur :

L'email admin ne peut etre vide

??

batiot
Timide
Messages : 12
Inscription : 28 oct. 2017, 22:35
Localisation : Nantes

Re: [Plugin Tiers] LetsEncrypt

Message par batiot » 27 déc. 2017, 21:08

Bonjour,
LetsEncrypt demande un email pour générer/renouveller un certificat, il faut le renseigner dans la page de configuration du plugin.
Screenshot from 2017-12-27 21-07-34.png
Screenshot from 2017-12-27 21-07-34.png (27.76 Kio) Consulté 5405 fois

Répondre

Revenir vers « [Catégorie] Communication »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité