Page 1 sur 1

SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 21 juin 2022, 19:14
par flig
Bonjour,

Je viens solliciter votre aide SVP car je galère depuis 3 semaines. J'ai décidé de m'attaquer enfin à sécuriser mon domoticz en tentant d'installer un certificat Letsencrypt mais je n'y arrive pas malgré des centaines de lectures, des restaurations de backup sur ma carte SD, une nouvelle installation fraiche sur un autre raspberry de secours.
Rien ni fait.

Ma config :
OS="Raspbian GNU/Linux 10 (buster)"
Version: 2021.1
Python Version: 3.7.3 (default, Jan 22 2021, 20:04:44) [GCC 8.3.0]

Mes routages de ports sur mon routeur fonctionnent bien vers les ports indiqués dans les fichiers
/etc/init.d/domoticz.sh
/home/pi/domoticz/domoticz.sh

J'ai modifié les deux mais je ne sais pas si c'est utile ou s'il faut modifié seulement le premier ?

Après installation fraiche, lorsque je fais la commande "sudo netstat -plan | grep domoticz", je vois bien les deux ports 8080 et 443 indiqués en tcp6 en LISTEN et ESTABLISHED (même si je ne comprends pas ce que ça signifie car je suis nul en linux)

Lorsque j'accède à mon domoticz de l'interne en 192.168.xxx.xxx ou de l'externe avec mon dyndns de free le routage se fait bien par contre quand j'utilise le https sur le port 443, ça me connecte en non sécurisé. Normal, jusque là puisque je n'ai pas installé de certificat Letsencrypt encore.

Ensuite, après des journée de recherche, j'ai trouvé une procédure qui me permet d'installer mon certificat letsencrypt.
https://www.domoticz.com/wiki/Native_se ... ts_Encrypt
https://passionaute.medium.com/domoticz ... cb051a821c (pour palier au blocage que bcp rencontre absence du fichier letsencrypt-auto)

Le problème apparait suite à cette procédure, lorsque je relance la commande "sudo netstat -plan | grep domoticz", seul le port 8080 apparait, le port 443 a disparu.

J'ai tenté évidemment de redémarrer domoticz, de rebooter le raspberry, de changer le numéro du port, d'ajouter une ligne DAEMON_ARGS="$DAEMON_ARGS -sslcert /home/pi/domoticz/server_cert.pem" dans domoticz.sh

Rien n'y fait. J'ai le message suivant dans le les logs mais je ne le comprends pas et ne trouve rien sur le net.
2022-06-21 18:50:07.776 Error: WebServer(SSL) startup failed on address 0.0.0.0 with port: 443: use_private_key_file: no start line
Est-ce que l'un d'entre vous a une idée et peut me venir en aide ?

Merci beaucoup par avance pour le temps que vous prenez à lire ce message.

A bientôt

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 22 juin 2022, 18:58
par flig
Bon et bien, j'avance. Problème presque résolu, il me reste plus qu'une chose à comprendre.

J'ai réussi à installer le certificat Letsencript. Pour celles et ceux qui auraient des soucis, j'ai eu deux problèmes tout bêtes :

Le premier une erreur de syntaxe au moment de copier les différents certificats téléchargés dans le fichier server_cert.pem.
J'oublier un symbole > à la troisième instruction ce qui écraser le contenu du fichier au lieu de concaténer. :oops:

$ sudo mv ~/domoticz/server_cert.pem ~/domoticz/server_cert.pem.org
$ sudo cat /etc/letsencrypt/live/hello.domo.com/privkey.pem > ~/domoticz/server_cert.pem
$ sudo cat /etc/letsencrypt/live/hello.domo.com/fullchain.pem >> ~/domoticz/server_cert.pem

Ensuite, alors que ça semblait fonctionner, j'ai fait une mise à jour de domoticz et celà ma écrasé le contenu du fichier server_cert.pem avec les certificats de domoticz en lieu et place de ceux de Letsencrypt.

Pour palier à cela, copier le fichier contenant les certificats server_cert.pem en letsencrypt_server_cert.pem et modifier le fichier /etc/init.d/domoticz.sh en ajoutant une ligne de type :
DAEMON_ARGS="$DAEMON_ARGS -sslcert /home/x/domoticz/letsencrypt_server_cert.pem"

Ainsi le certificat sera chercher par le système dans ce fichier paramétré.

Il me reste une interrogation à laquelle vous pourrez peut être répondre :

Pourquoi la connexion est non sécurisée quand je me connecte en local avec une adresse https://192.168.x.xxx:443 alors qu'elle est sécurisée depuis l'extérieur avec mon dyndns ?

Merci pour votre retour.

En espérant que mon expérience serve à d'autre
J'ai simplement utilisé les deux liens ci-dessous :
https://certbot.eff.org/instructions?ws ... bianbuster
https://www.domoticz.com/wiki/Native_se ... ts_Encrypt

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 23 juin 2022, 07:55
par Chrominator
flig a écrit : 22 juin 2022, 18:58
Pourquoi la connexion est non sécurisée quand je me connecte en local avec une adresse https://192.168.x.xxx:443 alors qu'elle est sécurisée depuis l'extérieur avec mon dyndns ?
Certainement parce que cette adresse locale n'a pas été indiquée lors de la génération du certificat, ce dernier n'est pas valide pour cette adresse.
D'ailleurs tu as certainement introduit une exception dans ton navigateur pour pouvoir tout de même accéder à Domoticz de cette manière.

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 23 juin 2022, 13:57
par f-d-m
flig a écrit : 22 juin 2022, 18:58
alors que ça semblait fonctionner, j'ai fait une mise à jour de domoticz et celà ma écrasé le contenu du fichier server_cert.pem avec les certificats de domoticz en lieu et place de ceux de Letsencrypt.

Je confirme. C'est comme ça depuis de nombreuses versions.

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 03 juil. 2022, 09:01
par flig
Merci pour vos réponses. Problème enfin résolu.

Bonne d'effet journée

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 08 sept. 2023, 17:03
par pierrotori
Intéressante ton aventure de certificat, je travaille dessus aussi et j'ai du mal à avancer ;)
mon raspberry avec tout sous docker
rpi : Raspberry Pi 2 Model B Rev 1.1
Modele : Cortex-A7
OS rpi : Linux raspberrypi 6.1.21-v7+ #1642 SMP Mon Apr 3 17:20:52 BST 2023 armv7l GNU/Linux
Os Name : bullseye

Ton certificat tu dois le renouveler tous les combien de mois, si oui :est-ce automatique ?
as tu retiré le port 80 sur ta box ?
https://www.domoticz.com/wiki/Native_se ... ts_Encrypt, il est dit
Edit Sep 10 2017 : Si vous ne voulez pas exposer le port HTTP 80 au monde extérieur, vous pouvez également utiliser --preferred-challenges=dns et créer un enregistrement TXT DNS (comme décrit) pour valider la propriété
Quelqu'un aurait un exemple de fixhier?
car si on supprime le port 80 , il faut le réouvrir à chaque recréation

As tu ajouté un fail2ban pour sécuriser ?

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 23 sept. 2023, 19:17
par f-d-m
pierrotori a écrit : 08 sept. 2023, 17:03 enregistrement TXT DNS
Bonjour,

Qui est ton fournisseur DNS (plus précisément de zone DNS) ? OVH ? Si c'est le cas, poursuis ta lecture

Avec acme.sh et un tuto je suis arrivé à utiliser la méthode DNS et l'API OVH. J'ai dû créer un API token chez OVH.

Mais grosse bêtise je n'ai pas pris de notes, je ne me rappelle plus tout ce que j'ai fait, ça fonctionne, les certificats sont renouvelés automatiquement dans ~/.acme.sh/mondomaine_ecc
Concaténer le fichier mondomaine.key et fullchain.cer , déposer une copie dans le répertoire domoticz sous le nom server_cert.pem ; redémarrer domoticz.

L'étape "copie vers domoticz" peut être automatisée lorsque fullchain.cer a été renouvelé (environ tous les 2 à 3 mois)

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 24 sept. 2023, 11:04
par pierrotori
je viens de m’inscrire mais pour creer un domaine c’est payant
pour l’instant je reste en generation webroot avec noip

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 24 sept. 2023, 14:52
par lost
f-d-m a écrit : 23 juin 2022, 13:57 Je confirme. C'est comme ça depuis de nombreuses versions.
Rajouter une ligne type:

Code : Tout sélectionner

DAEMON_ARGS="$DAEMON_ARGS -sslcert /home/USER/domoticz/server_cert_PERSO.pem"
Dans etc/init.d/domoticz.sh

AInsi son server_cert_PERSO.pem de l'utilisateur USER utilisé n'est pas le nom par défaut écrasé sur upgrade... Modifier côté letsencrypt ou autre le nom du certificat généré par l'update automatique à expiration.

Re: SSL Impossible : Après 3 semaines de recherche - A l'aide SVP

Publié : 25 sept. 2023, 11:17
par pierrotori
j'ai généré un certificat webroot et je m'arrête la, je suis sous docker, et j'ai mis cette ligne de commande ce qui m'évite d'ajouter le dhparam dans le certificat global

Code : Tout sélectionner

EXTRA_CMD_ARG=-sslcert /opt/domoticz/userdata/server_cert.pem -ssldhparam /opt/domoticz/userdata/dhparam.pem