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.
Pré-requis
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).
La configuration
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.
Allez plus loin
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
Auteurs et sources
- Auteur : montuy337513
- Sources : dovecot.org
Notes de version
- [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
Navigation
Autres liens rapides pouvant vous intéresser