Florian33000 Posté(e) le 13 janvier Partager Posté(e) le 13 janvier Bonjour, Niveau : Débutant Image : hub.docker.com/_/eclipse-mosquitto/ Interface : Container Manager Mode réseau : bridge (mais je n'ai pas une ip différente, le port utilisé est par rapport à l'ip du nas, je ne parviens pas à lui attribuer une nouvelle IP) Je recherche à ajouter un conteneur mosquitto avec une config ssl mais je n'y parviens pas. J'ai bien créé le sous domaine de mon domaine. Par le proxy inversé j'ai redirigé le port 443 vers 9001 pour le websocket à l'avenir. J'ai donc cette détection faite par le NAS et le certificat SSL créé avec ce nom de domaine. Je souhaiterai utiliser les .pem généré pour configurer le ssl de mosquitto mais je n'y parviens pas. certfile /mosquitto/config/cert.pem cafile /mosquitto/config/chain.pem keyfile /mosquitto/config/privkey.pem Le certfile me génère l'erreur suivante : unknow configuration variable Quelqu'un peut il me guider/aider ? En outre, je suis preneur d'un tuto où je peux faire une config pour avoir une nouvelle ip pour mes conteneurs. PS : je n'utilise pas l'onglet projet. Merci par avance ! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 13 janvier Partager Posté(e) le 13 janvier Si tu utilises les WebSockets de Mosquitto via le reverse proxy, tu n'as pas besoin de chiffrer la connexion entre le reverse proxy et mosquitto. Seule la connexion entre les clients et le reverse a besoin d'être chiffrée. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 14 janvier Auteur Partager Posté(e) le 14 janvier Bonjour, Oui, aucun souci là dessus. Cependant le client que je souhaite utiliser n'est pas encore compatible websocket. C'est pour cela que, malgré d'autres clients qui seront en websocket, j'aurai besoin de sécuriser une connexion mqtt. Cependant j'ai l'erreur indiquée. Quand je passe sinon en bridge_certfile etc, je bloque alors sur bridge_cafile. J'ai toujours un blocage à un endroit malgré pas mal de test. Je ne vois cependant pas où ca bloque. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 14 janvier Partager Posté(e) le 14 janvier Je n'ai jamais monté de connexion chiffrée entre deux brokers (ce que tu tentes de faire avec bridge_certfile), mais ça ne doit pas être très différent des connexions chiffrées entre brokers et clients ? À part suivre scrupuleusement ce qui est indiqué dans la documentation, je ne pourrais pas plus t'aider : https://mosquitto.org/man/mosquitto-conf-5.html 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 14 janvier Partager Posté(e) le 14 janvier @Florian33000 Il te faut générer un certificat auto-signé, ce sera plus simple que d'utiliser un certificat Let's Encrypt du NAS. Tu trouveras plusieurs guides sur Internet, je trouve celui-là assez bien fait : https://bacnh.com/how-create-self-signed-certificates 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 14 janvier Auteur Partager Posté(e) le 14 janvier Hello, @PiwiLAbruti : Oui j'ai bien vu la configuration cependant je dois louper quelque chose car cela ne fonctionne pas. @.Shad. : Merci pour le lien. Je l'ai suivi scrupuleusement le 1 et 2. Le 3 j'ai bien créé un dossier certs et suivi la partie "Mosquitto server. Cependant suite à cela je me prends toujours le message d'erreur suivant (j'ai même mis les lignes dans le même ordre cafile, certfile, keyfile) : Voici mon fichier config pour cette partie : listener 8883 protocol mqtt cafile /mosquitto/certs/ca.crt certfile /mosquitto/certs/server.crt keyfile /mosquitto/certs/server.key 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 14 janvier Partager Posté(e) le 14 janvier @Florian33000 quels volumes as-tu monté à la création du conteneur ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
PiwiLAbruti Posté(e) le 14 janvier Partager Posté(e) le 14 janvier La directive cafile n'accepte que les fichiers encodés au format PEM. Est-ce le cas de ton fichier ca.crt ? cafile file path cafile is used to define the path to a file containing the PEM encoded CA certificates that are trusted when checking incoming client certificates. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 14 janvier Auteur Partager Posté(e) le 14 janvier @.Shad. J'ai créé et monté le volume certs. Data config log. J'ai également mis en fichier la db de data et le fichier de config @PiwiLAbruti j'ai suivi exactement le tutoriel donné en lien 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 14 janvier Partager Posté(e) le 14 janvier @Florian33000 Des impressions d'écran de tes volumes seraient plus parlantes. Aller dans Container Manager -> Conteneur Mosquitto -> Paramètres, et qu'on voit le montage de tes volumes. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 16 janvier Auteur Partager Posté(e) le 16 janvier @.Shad. : Voici le screen : 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 16 janvier Partager Posté(e) le 16 janvier (modifié) @Florian33000 C'est bon de ce côté-là. Première recherche Google de mon côté : instantiating a broker with config file always gives me an "Unknown configuration variable" error · Issue #1724 · eclipse/mosquitto · GitHub Regarde si ça ne résout pas ton problème, en utilisant Notepad++ par exemple. Modifié le 16 janvier par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 16 janvier Auteur Partager Posté(e) le 16 janvier @.Shad. J'utilise déjà Notepad++ et je suis en encodage UTF-8 si c'est cela dont il faut faire attention. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 16 janvier Partager Posté(e) le 16 janvier @Florian33000 Je vais essayer de mettre ça en place chez moi, je te donne des nouvelles. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 16 janvier Auteur Partager Posté(e) le 16 janvier (modifié) Merci à vous ! En attente :) Modifié le 16 janvier par Florian33000 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 17 janvier Partager Posté(e) le 17 janvier @Florian33000 Bon chez moi ça fonctionne, en ayant chipoté un peu quand même. mosquitto.conf (tls) : #_____________________# ## TLS LISTENER listener 8883 0.0.0.0 protocol mqtt password_file /mosquitto/data/password_data certfile /mosquitto/certs/server.crt cafile /mosquitto/certs/ca.crt keyfile /mosquitto/certs/server.key capath /mosquitto/certs/ #_____________________# Pour les étapes de génération de certificats de la CA, du serveur et du client, je suis passé par ce tutoriel : http://www.steveio.com/tag/messaging/ J'ai également suivi ses recommandations quant au fait que les trois entités doivent avoir un Common Name différent, le seul qui compte vraiment est celui du serveur pour lequel on doit stipuler son FQDN. J'ai généré sur mon serveur mqtt les fichiers relatifs à la CA et au serveur, puis j'ai copié le ca.crt et ca.key sur mon laptop où j'ai mis une VM debian avec Mosquitto utilisé en client. Puis j'ai soucrit à un topic nommé "test" : mosquitto_sub --cafile /mosquitto/certs/ca.crt --cert /mosquitto/certs/client.crt --key / mosquitto/certs/client.key -h ida.xxx.ovh -p 8883 -q 1 -t "test" -d -u mosquitto -P rK2hdtXXXXXXXXX -d c'est pour une verbosité debug, puis les credentials de connexion utilisés dans le password_file, ça fonctionne : Enter PEM pass phrase: Client null sending CONNECT Client null received CONNACK (0) Client null sending SUBSCRIBE (Mid: 1, Topic: test, QoS: 1, Options: 0x00) Client null received SUBACK Subscribed (mid: 1): 1 Puis j'ai essayé de publier un message : mosquitto_pub --cafile /mosquitto/certs/ca.crt --cert /mosquitto/certs/client.crt --key / mosquitto/certs/client.key -h ida.xxx.ovh -p 8883 -q 1 -t "test" -i anyclientID --tls-vers ion tlsv1.3 -m "Hello" -d -u mosquitto -P rK2hdtXXXXXXXXX Résultat le message est lu : Client null received PUBLISH (d0, q1, r0, m1, 'test', ... (5 bytes)) Client null sending PUBACK (m1, rc0) Hello En revanche, je précise qu'avec MQTT Explorer, je récolte systématiquement une erreur. En CLI par contre RAS. 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 18 janvier Auteur Partager Posté(e) le 18 janvier @.Shad. : Merci beaucoup pour tout ca ! Ton code fonctionnait parfaitement (y compris avec mes certificats avec le meme CN), j'ai rajouté mes parties au fur et à mesure et je me suis aperçu que le seul point qui ne correspondait pas était les espaces entre cafile etc et le chemin du fichier... en mettant plusieurs espaces ca plante, un seul ca fonctionne parfaitement ! Un grand merci pour tes tests ! J'ai par contre 2 dernières petites choses qui risquent de poser souci : Que me recommandes-tu exactement ? En outre, mon client me demande un certificat bks. Comment puis-je le générer à partir du premier tutoriel indiqué ? En passant par le certificat créé par synology, j'aurai besoin de faire ce genre de chose ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
.Shad. Posté(e) le 18 janvier Partager Posté(e) le 18 janvier (modifié) @Florian33000 👌 Pour le chmod, ben tu peux chmoder comme ils le suggèrent, ça va enlever les ACL de DSM mais tu peux les remettre en réattribuant un propriétaire au fichier depuis File Station. Je ne connais pas ce format de certificat, apparemment de ce que je lis faudrait utiliser un binaire "keytool" pour effectuer la conversion. Modifié le 18 janvier par .Shad. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Florian33000 Posté(e) le 4 février Auteur Partager Posté(e) le 4 février Je n'arrive pas à enclencher ce keytool . Si quelqu'un y parvient 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.