mirror of
https://github.com/deunix-educ/Fail2banMqttActionBanishment.git
synced 2026-08-24 03:11:58 +02:00
41 lines
2.1 KiB
Plaintext
41 lines
2.1 KiB
Plaintext
# Renforcement du service mosquitto par défaut du paquet Debian.
|
|
# L'utilisateur dédié "mosquitto" est déjà créé par le paquet ; ce drop-in
|
|
# ne fait que restreindre ses droits système.
|
|
#
|
|
# Déployé par install.sh vers /etc/systemd/system/mosquitto.service.d/override.conf
|
|
|
|
[Service]
|
|
# User=/Group= explicites : sans ça, RuntimeDirectory= (ci-dessous) crée
|
|
# /run/mosquitto appartenant à root (propriétaire par défaut quand User=
|
|
# est vide), car ce chemin est bind-monté dans le namespace propre à
|
|
# ExecStart avec cette ownership-là — le `chown mosquitto:mosquitto
|
|
# /run/mosquitto` du ExecStartPre du paquet Debian n'a aucun effet
|
|
# persistant sur cette vue. Résultat observé : mosquitto démarre root,
|
|
# abandonne ses privilèges en interne vers l'utilisateur "mosquitto"
|
|
# (aucune directive "user" dans mosquitto.conf nécessaire, comportement
|
|
# par défaut du binaire), puis échoue avec "Unable to write pid file"
|
|
# (EACCES sur /run/mosquitto/mosquitto.pid, confirmé via strace). Fixer
|
|
# User=/Group= ici fait créer /run/mosquitto directement avec le bon
|
|
# propriétaire, sans dépendre du chown du ExecStartPre.
|
|
User=mosquitto
|
|
Group=mosquitto
|
|
NoNewPrivileges=true
|
|
ProtectSystem=strict
|
|
ProtectHome=true
|
|
PrivateTmp=true
|
|
ReadWritePaths=/var/lib/mosquitto /var/log/mosquitto
|
|
# /run/mosquitto est du tmpfs, recréé à chaque démarrage : lister ce chemin
|
|
# dans ReadWritePaths= exige qu'il existe déjà AVANT que systemd ne monte le
|
|
# namespace de l'unité (donc avant même le premier ExecStartPre), ce que
|
|
# rien ne garantit après un redémarrage du VPS ("Failed to set up mount
|
|
# namespacing: /run/mosquitto: No such file or directory", 226/NAMESPACE).
|
|
# RuntimeDirectory= est le mécanisme systemd natif pour ce cas précis : il
|
|
# crée /run/mosquitto (proprio mosquitto, cf. User=/Group= ci-dessus) lui-
|
|
# même, avant tout Exec*, et le recrée à chaque démarrage — pas de
|
|
# dépendance sur un état laissé par un run précédent.
|
|
RuntimeDirectory=mosquitto
|
|
ProtectKernelTunables=true
|
|
ProtectKernelModules=true
|
|
ProtectControlGroups=true
|
|
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
|