# Broker Mosquitto local — consommé par f2b-mqtt-action-banisher et par # l'emetteur Django (Phase 2). Jamais exposé sur Internet : écoute en # loopback, plus (optionnellement, cf. MQTT_VPN_LISTENER_IP dans .env) un # listener additionnel sur le réseau VPN de confiance de CE noeud, pour # permettre le développement/test de l'émetteur depuis un poste distant sur # ce VPN. Cette IP est propre à chaque VPS (jamais une valeur partagée # entre noeuds) — install.sh (deploy_mosquitto) remplace le marqueur # ci-dessous à partir de .env, ou le retire entièrement si # MQTT_VPN_LISTENER_IP est vide. NE PAS répéter ce marqueur ailleurs dans ce # fichier, y compris en commentaire : la substitution est un remplacement # global (gsub), toute autre occurrence littérale serait aussi affectée. # # Déployé par install.sh vers /etc/mosquitto/conf.d/mosquitto-local.conf per_listener_settings true # Avec per_listener_settings, allow_anonymous/password_file doivent être # répétés sous chaque listener : ils ne s'appliquent qu'au listener sous # lequel ils apparaissent, jamais rétroactivement aux précédents. listener 1883 127.0.0.1 protocol mqtt allow_anonymous false password_file /etc/mosquitto/passwd_local __VPN_LISTENER_BLOCK__ # Pas de persistance : les événements sont consommés en temps réel, # aucun besoin de rejouer l'historique après un redémarrage du broker. persistence false # Pas de log_dest ici : /etc/mosquitto/mosquitto.conf (paquet Debian) en # déclare déjà un ("log_dest file /var/log/mosquitto/mosquitto.log"), # lu avant ce conf.d — en rajouter un second (même en syslog) fait # planter mosquitto au chargement ("Duplicate 'log_dest file' value"). # C'est précisément ce fichier que surveille la jail fail2ban "mosquitto" # (jail.d/mosquitto.conf) : si jamais un jour ce défaut du paquet # disparaît/change, il faudra le redéclarer ici explicitement plutôt que # supposer qu'il existe toujours. log_type error log_type warning log_type notice