Ce tuto était noyé dans la discussion Question sécurité, ne devrait on pas mettre allow_anonymous à false pour bénéficier d'une protection par mot de passe?
Je l’ai extrais du fil de la discussion pour pouvoir mettre un titre plus explicite et respecter le « un message, un sujet ». On pourras ainsi le retrouver plus facilement.
Une précision : Je suis en jeedom 4 installé sur un pi. Mqtt a été installé automatiquement lors de l’installation de jMQTT.
TUTO : Comment mettre en place la sécurité utilisateur / mot de passe pour MQTT ?
Récemment, je me suis aperçu que dans la config du brocker MQTT, on pouvait rentrer n’importe quoi comme mot de passe ou utilisateur et tout marche quand même.
Du coup, j’ai été voir le fichier de config mosquito et on a allow_anonymous à true.
Bref, attention, de base, on ne bénéficie pas de la protection utilisateur/mdp.
Alors comment installer cette protection :
Par ssh (par puTTy par exemple), allez modifier le fichier de configuration de mosquito créé par jMQTT :
sudo nano /etc/mosquitto/conf.d/jMQTT.conf
Remplacez
allow_anonymous true
par
allow_anonymous false
Ajouter la ligne indiquant où se trouvera le fichier de mot de passe mosquito :
password_file /etc/mosquitto/passwd
Sortez en validant (Ctrl X)
Il faut maintenant donner les couples utilisateurs / mot de passe.
Une commande va permettre de créer le fichier mot de passe et d’ajouter le premier utilisateur :
(remplacez NOM_UTILISATEUR par le nom de l’utilisateur que vous souhaitez créer)
sudo mosquitto_passwd -c /etc/mosquitto/passwd NOM_UTILISATEUR
Vous aurez alors à rentrer 2 fois le mot de passe pour l’utilisateur en question.
Par curiosité, si vous ouvrez le fichier /etc/mosquitto/passwd vous verrez que le mot de passe est crypté.
Vous pouvez ajouter un autre utilisateur par la commande
sudo mosquitto_passwd -b /etc/mosquitto/passwd NOM_UTILISATEUR MOT_DE_PASSE
(remplacez NOM_UTILISATEUR et MOT_DE_PASSE par vos valeurs)
Pour effacer un utilisateur :
sudo mosquitto_passwd -D /etc/mosquitto/passwd NOM_UTILISATEUR
Il faut relancer mosquito pour que les changements soient pris en compte :
sudo systemctl restart mosquitto