Service web avec Domoticz (Raspberry)

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
jackslayter
Messages : 1040
Inscription : 30 sept. 2014, 14:40
Localisation : Isère (38)

Re: Service web avec Domoticz (Raspberry)

Message par jackslayter »

comme je l'ai dit précédemment , le serveur ngnix ne sert que pour augmenter la sécurité avec connexion user/mdp + certificat obligatoire. alors que le ssl de Dz c'est user/mdp seulement
Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Service web avec Domoticz (Raspberry)

Message par JC38 »

Dans ma conf actuelle : nginx en SSL avec DZ sans ssl dans la ligne de commande = connexion avec login mdp en https mais l'absence de certificat n'empêche pas la connexion.
Je voudrais dans un 1er temps revenir à une conf standard ne s'appuyant que sur le serveur web intégré à Dz en http et/ou https.
Ensuite, je verrai pour étoffer.
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Service web avec Domoticz (Raspberry)

Message par rimram31 »

@ vous deux :-) je répète, domoticz a un certificat "par défaut" dans son répertoire d'installation, voir https://github.com/domoticz/domoticz/bl ... r_cert.pem et quand on exécute domoticz avec l'option -sslwww <port>, il va chercher par défaut ce fichier là a moins de lui préciser en plus l'option -sslcert. Passez quelques minutes a lire le manuel svp ... http://www.domoticz.com/DomoticzManual.pdf -> "Command Line parameters" page 8.

Ce certificat venant avec l'installation peut bien entendu être écrasé, on peut aussi apparemment en utiliser un autre ailleurs avec l'option -sslcert. Je n'ai aucune expérience https de domoticz, je me suis contenté de lire la doc.

@JC38, il "suffit" de préciser l'option -sslwww pour que domoticz écoute en https sur le port indiqué, il utilisera alors le certificat du fichier server_cert.pem que tu dois avoir dans ton répertoire domoticz. Si tu as lancé domoticz avec cette option, un netstat (-apn) doit te donner ce port avec comme processus propriétaire domoticz, si non il y a un pb d'installation chez toi.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Service web avec Domoticz (Raspberry)

Message par JC38 »

@rimram31 : à vous 2 ? je suis dans cette liste ?

Ce que j'ai écrit c'est que mon nginx intercepte tout ce qui arrive sur le port 443, cela même si l'option qui va bien pour Domoticz a été mise en place. La preuve si nginx ko, pas de SSL avec Dz alors que Dz est bien ok en http.
C'est pour cela que je veux faire un rollback sur la conf de nginx pour fonctionner uniquement sur le standard de domoticz.
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Service web avec Domoticz (Raspberry)

Message par rimram31 »

JC38 a écrit :@rimram31 : à vous 2 ? je suis dans cette liste ?...
Oui, tu y étais ;) mais je répondais au post de jackslayter qui disais que le ssl de domoticz n'a besoin que de user/mdp, non, il utilise aussi un certificat sauf que dz en amène un "par défaut".

Pour ton souci, pour tester domoticz sur le port 443, avec -sslwww 443, il ne faut pas que nginx soit actif sinon le port 443 est déjà occupé par nginx et domoticz ne pourra pas le démarrer. Pour test d'abord, fais un /etc/init.d/nginx stop puis lance/relance domoticz (avec -sslwww 443) et voit si ça marche. Normalement là, si tu fais un sudo netstat -apn | grep 443, tu devrais voir le port 443 utilisé par domoticz et une url https://... doit marcher.

Par contre ça ne marchera plus au prochain redémarrage au prochain redémarrage de nginx. Là, soit tu supprimes nginx des services "actifs" si tu ne t'en servait que pour ça -> voir update-rc.d disable ou quelque chose comme ça. Si tu te sert de nginx pour d'autres usages, il te faudra alors supprimer de la configuration la partie server { ... listen 443 ... } configuration qui redirige 443 en https vers domoticz.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Service web avec Domoticz (Raspberry)

Message par JC38 »

rimram31 a écrit :Pour ton souci, pour tester domoticz sur le port 443, avec -sslwww 443, il ne faut pas que nginx soit actif sinon le port 443 est déjà occupé par nginx et domoticz ne pourra pas le démarrer. Pour test d'abord, fais un /etc/init.d/nginx stop puis lance/relance domoticz (avec -sslwww 443) et voit si ça marche. Normalement là, si tu fais un sudo netstat -apn | grep 443, tu devrais voir le port 443 utilisé par domoticz et une url https://... doit marcher.
Oui, c'est bien cela, j'avais fait le test hier soir mais j'avais oublié de stopper domoticz et de le relancer. Du coup, même si nginx n'était plus actif pour écouter sur le 443, Domoticz ne l'écoutait pas non plus.

Je souhaite donc virer la config de domoticz pour nginx. Est-ce que la suppression du fichier etc/nginx/sites-avalaible/domoticz et de son lien symbolique dans etc/nginx/sites-enable sera suffisant ?
contenu de ce fichier :

Code : Tout sélectionner

access_log off;
add_header Cache-Control public;
server_tokens off;
server  {
   include    /etc/nginx/proxy_params;
   listen 443 ssl;
   keepalive_timeout 70;
   server_name localhost;
   ssl on;
   ssl_certificate             /etc/ssl/ca/server.crt;
   ssl_certificate_key         /etc/ssl/ca/server.key;
   add_header X-Frame-Options SAMEORIGIN;
   location / {
     proxy_pass http://localhost:8080/;
     access_log /var/log/nginx/domoticz.access.log;
     error_log /var/log/nginx/domoticz.error.log;
   }
 }
Je peux ainsi garder actif nginx sur le port 80 pour le moment.
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Service web avec Domoticz (Raspberry)

Message par rimram31 »

JC38 a écrit :...Je souhaite donc virer la config de domoticz pour nginx. Est-ce que la suppression du fichier etc/nginx/sites-avalaible/domoticz et de son lien symbolique dans etc/nginx/sites-enable sera suffisant ?
...
L'installation de nginx est propre, il suffit de supprimer le lien symbolique sur domoticz et redémarrer ce qui permet de garder la conf sous le coude au besoin, on peut aussi la supprimer bien entendu.

Ce type d'installation nginx (apache aussi) est pratique et fait pour. Il y a un fichier de configuration principal qui va faire un "include" de tous les fichiers présents dans ce répertoire "sites-enable". Ca permet de configurer de façon souple des sites/outils distincts et les activer/désactiver.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Service web avec Domoticz (Raspberry)

Message par JC38 »

Merci rinram pour tes retours.

Puis-je abuser de ton expertise de Linux pour te poser 1 question ? Si tu vas sur la fin de ce sujet viewtopic.php?p=14458#p14458, tu verras que j'ai remarqué un problème de confidentialité avec des données exposées en claires par l'outil d'epierre (et idem pour l'autre passerelle iss-domo créée par un auteur différent).
Quelles solutions verrais-tu pour sécuriser un peu mieux tout cela ? Epierre propose nginx en reverse proxy (mais il faut le configurer correctement) et du coup, cela demande de travailler avec une ligne de commande non standard avec domoticz (d'où certaines confusions :oops: )
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Service web avec Domoticz (Raspberry)

Message par rimram31 »

JC38 a écrit :...Quelles solutions verrais-tu pour sécuriser un peu mieux tout cela ? Epierre propose nginx en reverse proxy (mais il faut le configurer correctement) ...
Je n'ai pas de certitude qu'ImperiHome supporte le https, ce que dit epierre c'est de configurer un accès https via nginx comme tu l'avais fait pour domoticz qui va proxyer sur le port interne http de MyDomoAtHome (par défaut 3001).

Prend le /etc/nginx/sites-avalaible/domoticz comme exemple. Copie le en imperihome (dans sites-avalaible) puis adapte le pour un accès mydomoathome, change la directive proxy (location) pour proxy_pass http://localhost:3001/; (3001 ou ton port MyDomoAtHome si tu l'as changé ou celui d'isi...), change le numéro de port 443 en 8443 par exemple (directive listen) et pour être "plus propre" change les noms des fichiers de log. Tu n'as plus qu'a créer un lien symbolique dans sites-enable (ln -fs /etc/nginx/sites-avalaible/imperihome /etc/nginx/sites-enable/imperihome) et redémarrer nginx.

Si tout s'est bien passé, tu dois avoir un accès en https sur le port que tu as défini en listen sur ta gateway mydomoathome, tu peux alors essayer dans imperihome d'entrer https://.....:8443/ mais je ne sais pas si lui supporte https ...

Sinon, la seule autre solution que je vois c'est l'accès VPN sécurisé ... type OpenVPN, ça entraine plus loin en configuration. Le principe est de permettre un accès a ton réseau local de l'extérieur en créant un tunnel sécurisé qui fait que tu te retrouves en fait sur ton réseau local.

Note: Pour être complet, j'ajouterai un proxy pass reverse dans la conf ... https://www.nginx.com/resources/wiki/st ... ikeapache/ (apparemment les directives proxy_set_header pour nginx)
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
JC38
Messages : 286
Inscription : 29 déc. 2014, 20:47
Localisation : Lyon

Re: Service web avec Domoticz (Raspberry)

Message par JC38 »

@rinram.

Le fait de passer en SSL n'empêchera pas n'importe qui connait l'url de retrouver des infos confidentielles car envoyées non cryptées (même si le lien lui est crypté).

En se connectant à http://monipwan:port_mydomoathome/devices, la page qui s'affiche alors contient ce genre de données :
{
id: "1_cam",
type: "DevCamera",
name: "Ma caméra de test",
params: [
{
key: "localjpegurl",
value: "http://monlogin:monpassword@192.168.15.240:80//SnapshotJPEG?Resolution=640x480"
},
{
key: "remotejpegurl",
value: "http://ip:port/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=&pwd="
}
],
room: "Switches"
},

Donc avec monlogin:monpassword (ceux de la caméra) parfaitement lisibles. J'ignore encore si ImperiHome fonctionnerait en https mais une chose est sure, il supporte le login et pwd, et à minima, c'est ce qu'il faudrait.
Effectivement, la solution de VPN résoudrait le problème mais c'est pas donné au 1er venu de la mettre en place correctement. Côté serveur (ou routeur) comme côté client (Android et IOS pour ImperiHome). Pour ma part, je ne sais pas côté Android comme sont gérés les requêtes http/https si un VPN est configuré sur mon smartphone. je me vois mal faire transiter tout mon trafic par mon pauvre routeur avec sa connexion ADSL limite bas débit.

PS : les notifications de réponse sur le forum sont ko ?
Raspberry Pi3 sous Jessie 8.3 + Domoticz latest beta + RFXComm Usb + Aeon Labs Z-Stick + Weather Underground
Windows Server 2012 R2 + Domoticz Windows (latest) + Open Hardware Monitor
Clients : ImperiHome avec Mdah / Domoticz for Android
Répondre