fix(fail2ban): use ProtectSystem=full so ufw can create its lock file
strict makes /run read-only, which blocks ufw's /run/ufw.lock and cannot be whitelisted via ReadWritePaths (the file does not exist). full still protects /usr and /etc while leaving /run and /var writable, so only /etc/ufw needs an explicit write path.
This commit is contained in:
@@ -10,7 +10,7 @@ Bans brute-force sources via UFW. Reads logs from the systemd journal (`backend
|
|||||||
## Notes
|
## Notes
|
||||||
|
|
||||||
- Logs to the journal (`logtarget = STDOUT` in `fail2ban.local`) — see `journalctl -u fail2ban`.
|
- Logs to the journal (`logtarget = STDOUT` in `fail2ban.local`) — see `journalctl -u fail2ban`.
|
||||||
- The systemd unit is hardened (`ProtectSystem=strict`); the drop-in lives at `/etc/systemd/system/fail2ban.service.d/override.conf` and is fully managed by the role.
|
- The systemd unit is hardened (`ProtectSystem=full`); the drop-in lives at `/etc/systemd/system/fail2ban.service.d/override.conf` and is fully managed by the role.
|
||||||
- Firewall/banaction is UFW on every host; jails ban via `ufw prepend reject`.
|
- Firewall/banaction is UFW on every host; jails ban via `ufw prepend reject`.
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|||||||
@@ -2,12 +2,8 @@
|
|||||||
PrivateDevices=yes
|
PrivateDevices=yes
|
||||||
PrivateTmp=yes
|
PrivateTmp=yes
|
||||||
ProtectHome=read-only
|
ProtectHome=read-only
|
||||||
ProtectSystem=strict
|
ProtectSystem=full
|
||||||
RuntimeDirectory=fail2ban
|
RuntimeDirectory=fail2ban
|
||||||
RuntimeDirectoryMode=0750
|
RuntimeDirectoryMode=0750
|
||||||
ReadWritePaths=-/var/lib/fail2ban
|
|
||||||
ReadWritePaths=-/var/spool/postfix/maildrop
|
|
||||||
ReadWritePaths=-/run/xtables.lock
|
|
||||||
ReadWritePaths=-/etc/ufw
|
ReadWritePaths=-/etc/ufw
|
||||||
ReadWritePaths=-/var/lib/ufw
|
|
||||||
CapabilityBoundingSet=CAP_AUDIT_READ CAP_DAC_READ_SEARCH CAP_NET_ADMIN CAP_NET_RAW
|
CapabilityBoundingSet=CAP_AUDIT_READ CAP_DAC_READ_SEARCH CAP_NET_ADMIN CAP_NET_RAW
|
||||||
|
|||||||
Reference in New Issue
Block a user