diff --git a/roles/fail2ban/README.md b/roles/fail2ban/README.md index 2b0066e..911da51 100644 --- a/roles/fail2ban/README.md +++ b/roles/fail2ban/README.md @@ -10,7 +10,7 @@ Bans brute-force sources via UFW. Reads logs from the systemd journal (`backend ## Notes - 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`. ## Variables diff --git a/roles/fail2ban/templates/hardened.fail2ban.conf.j2 b/roles/fail2ban/templates/hardened.fail2ban.conf.j2 index 26162e9..9860429 100644 --- a/roles/fail2ban/templates/hardened.fail2ban.conf.j2 +++ b/roles/fail2ban/templates/hardened.fail2ban.conf.j2 @@ -2,12 +2,8 @@ PrivateDevices=yes PrivateTmp=yes ProtectHome=read-only -ProtectSystem=strict +ProtectSystem=full RuntimeDirectory=fail2ban RuntimeDirectoryMode=0750 -ReadWritePaths=-/var/lib/fail2ban -ReadWritePaths=-/var/spool/postfix/maildrop -ReadWritePaths=-/run/xtables.lock ReadWritePaths=-/etc/ufw -ReadWritePaths=-/var/lib/ufw CapabilityBoundingSet=CAP_AUDIT_READ CAP_DAC_READ_SEARCH CAP_NET_ADMIN CAP_NET_RAW