Files
2026-07-20 11:05:07 +02:00

34 lines
1.4 KiB
Plaintext

# Broker Mosquitto master (Phase 3) — écoute 8883, TLS obligatoire.
# Cohabite avec le listener local (mosquitto-local.conf) dans le même
# processus mosquitto : per_listener_settings s'applique par listener, pas
# de conflit entre les deux fichiers de conf.d.
#
# Deux chaînes de confiance distinctes :
# - certfile/keyfile : certificat Let's Encrypt du domaine __MQTT_MASTER_DOMAIN__
# (identité TLS présentée par le serveur) — copié par
# certbot-deploy-mosquitto.sh vers /etc/mosquitto/master-tls/, jamais lu
# directement dans /etc/letsencrypt/ (verrouillé root-only par certbot,
# illisible pour l'utilisateur système 'mosquitto')
# - cafile : CA privée dédiée (scripts/master-ca-init.sh), qui NE SERT QU'À
# vérifier les certificats clients des noeuds (mTLS) — Let's Encrypt ne
# signe pas de certificats clients.
#
# Déployé par install.sh (install-master) vers /etc/mosquitto/conf.d/mosquitto-master.conf
listener 8883
protocol mqtt
cafile /etc/mosquitto/master-ca/ca.crt
certfile /etc/mosquitto/master-tls/fullchain.pem
keyfile /etc/mosquitto/master-tls/privkey.pem
tls_version tlsv1.2
# mTLS : le certificat client est obligatoire, et son CN devient l'identité
# MQTT du noeud (exploité par master-acl.conf pour restreindre chaque noeud
# à ses propres topics).
require_certificate true
use_identity_as_username true
allow_anonymous false
acl_file /etc/mosquitto/master-acl.conf