Protéger dovecot avec Fail2ban

Dovecot est un serveur IMAP / POP3 pour Linux / Unix, il a donc une grande utilité dans les serveurs de mails et, est donc un service sensible par définition. Il convient donc de le protéger avec Fail2ban.

Difficulté
Très facile

Votre serveur est sous Debian (toutes versions depuis Lenny). Votre serveur est un serveur de mails fonctionnel correctement installé et configuré. Vous utilisez Dovecot comme gestionnaire mail IMAP et POP3 Le firewall iptables et l'utilitaire Fail2ban sont correctement installés sur votre serveur. Ce tutoriel est a effectuer à l'aide de votre terminal préféré (Vim, nano, …) et les lignes de commande suivante sont à exécuter en tant que super-administrateur (root ou su).

Dans les dernières distributions Linux Debian, le fichier dovecot-pop3imap.conf existe déjà dans le répertoire /etc/fail2ban/filter.d
Si ce n'est pas le cas, vous devez créer ce fichier avec le contenu ci-dessous :

dovecot-pop3imap.conf
[Definition]
failregex = (?: pop3-login|imap-login): .*(?:Authentication failure|Aborted login \(auth failed|Aborted login \(tried to use disabled|Disconnected \(auth failed|Aborted login \(\d+ authentication attempts).*rip=`<HOST>`

Ensuite, il ne reste plus qu'à mettre en place la prise en charge du filtre par Fail2ban. Pour cela on ajoute dans le fichier /etc/fail2ban/jail.local le contenu suivant :

[dovecot-pop3imap]
enabled = true
filter = dovecot-pop3imap
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,imap", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 20
findtime = 1200
bantime = 1200

Modifier le paramètre maxretry en fonction de vos besoins, c'est le nombre de tentative avant bannissement temporaire.

Si vous voulez ajouter de nouveaux filtres, il est grandement conseillé de créer un filtre local dans le répertoire /etc/fail2ban/filter.d Par exemple : dovecot-pop3imap-local.conf Ensuite vous ajoutez la prise en charge de votre nouveau filtre dans le fichier /etc/fail2ban/jail.local en vous basant sur l'exemple ci-dessus. Cela devrait ressembler à l'exemple ci-dessous :

[dovecot-pop3imap-local]
enabled = true
filter = dovecot-pop3imap-local
action = iptables-multiport[name=dovecot-pop3imap, port="pop3,imap", protocol=tcp]
logpath = /var/log/mail.log
maxretry = 20
findtime = 1200
bantime = 1200
  • [17/01/2025] : Mise à jour des liens - Mise à jour de l'article
  • [15/11/2017] : Harmonisation de de la page
  • [30/12/2015] : Création de l'article
  • serveur-debian-securite/utilisation-fail2ban/dovecot.txt
  • Dernière modification : 17/01/2024 20:55
  • de zonewebmaster