Image

Base de connaissances → Protégez votre serveur de messagerie des mots de passe devinés avec Fail2Ban

[Serveurs virtuels]
Date de publication: 30.05.2023

Configurons Fail2Ban, ce service vous permet de protéger le serveur contre les inondations, en devinant les mots de passe des services. Des milliers de services tiers accèdent aux serveurs chaque jour, et certains d'entre eux sont malveillants. Avec l'aide de Fail2Ban, nous bloquerons les adresses IP après plusieurs tentatives d'autorisation infructueuses.

Ce guide suppose que vous avez déjà configuré le serveur de messagerie lui-même et que vous devez installer une protection contre la devinette de mot de passe et toute autre activité réseau indésirable. Vous trouverez plus d'informations sur la configuration d'un serveur de messagerie ici:


Vous pouvez également commander un VPS avec un système d'exploitation préconfiguré et obtenir un serveur de messagerie d'entreprise prêt à l'emploi pour le prix d'un serveur VPS.


1. Installer le service Fail2Ban 

apt install fail2ban

Modifions les paramètres

vi /etc/fail2ban/jail.d/defaults-debian.conf

[sshd]

enabled = true

[postfix]

enabled = true filter = postfix port = smtp,465,submission,imap,imaps,pop3,pop3s action = iptables[name=Postfix, port=smtp, protocol=tcp] logpath = /var/log/mail.log bantime = 120m maxretry = 3 findtime = 60m

Dans cette configuration, nous avons activé la protection des services ssh et postfix, qui traiteront le fichier journal et bloqueront les adresses IP lors de plusieurs tentatives d'autorisation infructueuses.

Pour vérifier si une correspondance fonctionne, utilisez la commande

fail2ban-regex /var/log/mail.log /etc/fail2ban/filter.d/postfix.conf

Nous avons utilisé un filtre par défaut prêt à l'emploi et dans notre cas, il s'est immédiatement avéré fonctionner.

2. Début de service

systemctl enable --now fail2ban

Nous avons démarré le service et l'avons ajouté au démarrage automatique.

Vous pouvez maintenant consulter le journal:

more /var/log/fail2ban.log

3. La gestion des services

Pour afficher l'état, ainsi que la dernière activité, utilisez la commande

fail2ban-client status - Il montrera toutes les prisons et leur statut.

fail2ban-client status postfix - affichera l'activité de la prison, y compris les adresses IP actuellement bloquées.

Pour débloquer une adresse IP, utilisez la commande

fail2ban-client set postfix unbanip xxx.xxx.xxx.xxx

Où : postfix est le nom de la prison, et xxx.xxx.xxx.xxx est l'adresse IP de la liste #fail2ban-client status postfix

4. Ajouter une prison pour l'autorisation Rouncube

Ajouter au fichier

vi /etc/fail2ban/jail.d/defaults-debian.conf

[roundcube-auth]

enabled    = true

filter = roundcube-auth

port    = http,https

action = iptables[name=Roundcube-auth, port=http, protocol=tcp]

logpath    = /usr/share/nginx/html/webmail/logs/errors.log

bantime = 120m

maxretry = 3

findtime = 60m

Avec trois tentatives d'autorisation infructueuses dans la messagerie Web, nous bloquons l'accès pendant 2 heures.

Redémarrons le service :

service fail2ban restart

La configuration du filtre est terminée.





Aucun commentaire pour l'instant