Mosquitto accepte n'importe quel password

Bonjour,

J’utilise le brocker mosquitto 1.5.7 depuis un moment sur un vps Debian GNU/Linux 10 (buster).
Il est configuré avec user/password plus tls.
Il fonctionne sans souci, je renvoie des topics maison vers le mosquitto du vps.

Je viens de me rendre compte que malgré la configuration user/password, il accepte n’importe quelque password pour le user configuré. J’ai lancer un restart du serveur mosquitto et cela refonctionne comme attendu avec le password déclaré dans la conf.

J’ai remarqué que le mot de passe n’est plus pris en compte à partir de minuit, je peux donc me connecter avec un password quelconque mais le user doit bien etre celui de la conf.

Dans la log, j’ai trouvé vers minuit une erreur du lié au logrotate:
Jul 3 00:00:11 monvps logrotate[8746]: error: Compressing program wrote following message to stderr when compressing log /var/log/mosquitto/mosquitto.log.1:

En fait, j’ai constaté que le logrotate lance un

/usr/bin/killall -HUP mosquitto

comme on peut le trouver sur d’autre produit.

mais ce -HUP de Mosquitto est le responsable de la non prise en compte du password !

SI je lance ce killall -HUP mosquitto seul, je peux me connecter avec n’importe quel password, et je doit refaire un restart de Mosquitto pour qu’il refonctionne denouveau correctement.

Voici ma configuration Mosquitto:

ii mosquitto 1.5.7-1+deb10u1 amd64 MQTT version 3.1/3.1.1 compatible message broker

# cat /etc/mosquitto/mosquitto.conf
pid_file /var/run/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d

# cat /etc/mosquitto/conf.d/tsl.conf 
listener 8883
allow_anonymous false
password_file /etc/mosquitto/passwd
cafile /etc/mosquitto/certs/vpsmosqca.crt
certfile /etc/mosquitto/certs/vpsmosqserver.crt
keyfile /etc/mosquitto/certs/vpsmosqserver.key
#tls_version tlsv1

Je n’ai pas pu trouvé d’information sur ce problème sur le net et avant de faire une mise à jour de mon vps vers une version debian plus recente, je souhaiterai votre avis ou si vous pouviez tester de votre coté pour savoir si c’est lié à la version de Mosquitto.

merci,

C’est effectivement curieux.
Deux options:

  • chercher le pourquoi du comment en mosquitto 1.5 et éventuellement trouver pourquoi (mais c’est pas sûr)
  • passer en mosquitto 2.x qui est la dernière version et voir si le problème est le même.

Perso, je n’hésiterais pas une seconde… Mosquitto 2.

Merci pour ton retour,

J’ai effectivement un peu plus creuser dans la log au moment du killall -HUP mosquitto et j’ai vu une erreur concernant les droits de lecture sur le fichier password.

1688400816: Error: Unable to open pwfile "/etc/mosquitto/passwd".
1688400816: Error opening password file "/etc/mosquitto/passwd".

Le process mosquitto tourne avec le user mosquitto et le fichier password appartient à root.
En mettant les bon droits, je n’ai plus le problème.

Ce qui est étrange , c’est que j’ai aucune erreur ni default avec un systemctl restart mosquitto