Sécuriser MQTT par login et mot de passe
La première solution est de mettre un login et un mot de passe. Pour cela, nous allons créer un fichier de login/mot de passe. Notre premier utilisateur sera donc pour Rhasspy.
sudo mosquitto_passwd -c /etc/mosquitto/passwd rhasspy
Il va alors te demander d’entrer 2 fois le mot de passe pour être sûr que tu n’as pas mis de moufle.
pi@rasp-test:~ $ sudo mosquitto_passwd -c /etc/mosquitto/passwd rhasspy
Password:
Reenter password:
pi@rasp-test:~ $
Une fois ça fait, il faut aller demander à mosquitto d’aller utiliser ce fichier de login et mot de passe.
nano /etc/mosquitto/mosquitto.conf
On ajoute ces 2 lignes à la fin du fichier
password_file /etc/mosquitto/passwd
allow_anonymous false
Comme d’habitude, CTRL+O
pour sauvegarder et CTRL+X
pour quitter.
On vient donc de dire à notre serveur mosquitto qu’il fallait qu’il utilise un fichier contenant des utilisateurs et leurs mots de passe associés et qu’il ne devra pas accepter de connexion sans authentification.
Il ne te reste plus qu’à entrer notre login et notre mot de passe dans la configuration Rhasspy.
Et on clique sur “Save Settings” pour sauvegarder notre configuration et pour être tranquille, on redémarre notre Rhasspy.
sudo init 6
Voilà donc comment commencer à sécuriser la connexion MQTT. Mais allons encore un peu plus loin.
Merci pour cet article, c’est exactement ce qu’il me fallait ! Bravo ced pour tes articles, je les utilise beaucoup (je vais d’ailleurs bientôt passer de rhasspy docker à venv grâce à ton article, espérant corriger des difficultés audio)
Je n’ai pas été jusqu’au chiffrement TLS du MQTT car j’ai un des clients qui n’est pas (encore) compatible.
Sinon je vous renvoie vers le soft MQTT-Explorer (http://mqtt-explorer.com/). Dispo sur toutes les plateformes, il est compatible TLS et permet facilement de vérifier le bon fonctionnement, mais aussi de visualiser les messages simplement.
Bonjour Chris,
Si tu ajoutes
Listener 1883
juste avant la partieListener 8883
, mosquitto gardera aussi le port 1883 en non encrypté d’ouvert (comme à la page 4).Ça devrait te permettre de faire un test tout en gardant les clients non compatibles. 🙂
Après, c’est vrai que je préfère Rhasspy-watch quand il s’agit de regarder uniquement ce qui se passe au niveau MQTT pour Rhasspy. Mais si il y a d’autre chose en plus que Rhasspy sur MQTT, oui mqtt-explorer est sympa !
Ced