Image

Base de conocimientos → Protegiendo su servidor de correo de adivinar contraseñas con Fail2Ban

[Servidores virtuales]
Fecha de publicación: 30.05.2023

Configuremos Fail2Ban, este servicio le permite proteger el servidor de inundaciones, adivinando contraseñas para servicios. Miles de servicios de terceros acceden a los servidores todos los días, y algunos de ellos son maliciosos. Con la ayuda de Fail2Ban, bloquearemos las direcciones IP después de varios intentos fallidos de autorización.

Esta guía asume que ya ha configurado el servidor de correo y que necesita instalar una protección contra la adivinación de contraseñas y otras actividades de red no deseadas. Puede encontrar más información sobre cómo configurar un servidor de correo aquí:


También puede solicitar un VPS con un sistema operativo preconfigurado y obtener un servidor de correo corporativo listo para usar por el precio de un servidor VPS.


1. Instalar el servicio Fail2Ban 

apt install fail2ban

Editemos la configuración

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

En esta configuración, hemos habilitado la protección de los servicios ssh y postfix, que procesarán el archivo de registro y bloquearán las direcciones IP en varios intentos de autorización fallidos.

Para verificar si una coincidencia funciona, use el comando

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

Usamos un filtro predeterminado listo para usar y, en nuestro caso, resultó funcionar de inmediato.

2. Inicio del servicio

systemctl enable --now fail2ban

Iniciamos el servicio y lo agregamos al inicio automático.

Ahora puedes consultar el registro:

more /var/log/fail2ban.log

3. Gestión De Servicios

Para ver el estado, así como la última actividad, utilice el comando

fail2ban-client status - Mostrará todas las cárceles y su estado.

fail2ban-client status postfix - Mostrará la actividad de la cárcel, incluidas las direcciones IP actualmente bloqueadas.

Para desbloquear una dirección IP, use el comando

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

Donde: postfix es el nombre de la cárcel y xxx.xxx.xxx.xxx es la dirección IP de la lista #fail2ban-client status postfix

4. Agregar cárcel para la autorización de Rouncube

Agregar al archivo

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

Con tres intentos fallidos de autorización en el correo web, bloqueamos el acceso durante 2 horas.

Reiniciemos el servicio:

service fail2ban restart

La configuración del filtro está completa.





Sin comentarios aún