feat: ajout Fail2ban pour protection Dovecot IMAPS/POP3S (993/995)

Configuration :
- docker/fail2ban/jail.local : jail dovecot uniquement sur ports 993,995,
  bantime 1h, findtime 10min, maxretry 5 tentatives
- docker/fail2ban/filter.d/dovecot.conf : regex pour auth failed,
  disconnected, aborted login (IMAP + POP3)

Docker :
- Image crazymax/fail2ban, network_mode host (accès iptables),
  cap_add NET_ADMIN + NET_RAW pour manipuler les règles firewall
- Volume dovecot-logs partagé en lecture seule pour lire les logs Dovecot
- Volume fail2ban-data pour persister la DB des bans

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Serreau Jovann
2026-04-03 14:42:11 +02:00
parent d8113e9737
commit 8c6b485acd
3 changed files with 38 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
[Definition]
failregex = ^.*auth-worker.*Error:.*user=<.*>.*rip=<HOST>.*$
^.*imap-login:.*Disconnected.*\(auth failed.*\).*rip=<HOST>.*$
^.*pop3-login:.*Disconnected.*\(auth failed.*\).*rip=<HOST>.*$
^.*imap-login:.*Aborted login.*rip=<HOST>.*$
^.*pop3-login:.*Aborted login.*rip=<HOST>.*$
ignoreregex =

View File

@@ -0,0 +1,14 @@
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
backend = auto
[dovecot]
enabled = true
port = 993,995
filter = dovecot
logpath = /var/log/dovecot/dovecot.log
maxretry = 5
bantime = 3600
findtime = 600