Fail2Ban es una herramienta muy útil y poderosa para nuestro Plesk (herramienta de gestión de hostings). En este artículo veremos cómo instalar y configurar Fail2Ban en Plesk.
¿Que es Fail2Ban?
Fail2ban es una aplicación desarrollada sobre Python para evitar ataques e intrusiones en nuestro sistema. Fail2Ban bloquea conexiones remotas que intentan acceder a nuestros servidores por métodos de fuerza bruta. Normalmente, los servidores reciben ataques de fuerza bruta via SSH o FTP con el objetivo de descubrir nuestras contraseñas y acceder a nuestros sistemas. Aunque tengamos una buena política de contraseñas, este tipo de ataques generan un gran consumo de ancho de banda y de CPU. Fail2Ban nos ayudará a bloquear estos ataques por seguridad y para liberar recursos. Puedes ver más información sobre Fail2Ban en su entrada de la wikipedia
¿Que nos permite bloquear Fail2Ban?
Fail2Ban nos permite bloquear a través de nuestro panel de Plesk los siguientes ataques a nuestro servidor VPS:
- Acceso vía SSH a nuestro servidor
- Login vía FTP
- Acceso al panel de control de Plesk
- Login en apache
- Bots
- Conexión IMAP/POP
- Conexión SMTP
- Acceso al webmail de nuestro VPS
Cómo instalar y configurar Fail2Ban en Plesk
Habitualmente, esta opción no está instalada por defecto en Plesk. Además, esta característica solo esta disponible con versiones de Plesk 12 o superior. En esta guía veremos cómo realizar el proceso en Plesk 17.5. Para instalar Fail2Ban realizaremos los siguientes pasos:
Primero nos loguearemos en nuestro panel plesk, a través de la IP de nuestro servidor y el puerto 8443.
https://IP_Servidor:8443 y accederemos con nuestro usuario root o administrador.
Una vez dentro el panel de Plesk, nos dirigiremos al menú de la izquierda ‘Herramientas y configuración’
y a continuación nos dirigimos a la opción ‘Actualizaciones’
Esto nos abrira el panel de instalación de componentes y actualizaciones de Plesk. También se puede acceder directamente a este panel con la siguiente url https://IP_Servidor:8447
Una vez dentro pulsaremos en la opción ‘Adición / eliminación de componentes’
A continuación, en la lista de componentes buscaremos Fail2Ban:
y lo marcaremos para instalar, pulsando en el desplegable y pulsando ‘Instalar’. Veremos que el paquete se marca para su instalación:
y a continuación pulsamos ‘Continuar’. Esto hará que empiece el proceso de instalación, veremos un log de cómo se va ejecutando la instalación. Una vez completado aparecerá un mensaje confirmando la correcta instalación de los componentes.
A continuación pulsamos OK y volvemos al panel de Plesk. Para ello, volvemos a la pestaña del panel de Plesk o volvemos a introducir la URL https://IP_Servidor:8443
Configurar Fail2Ban
Para configurar Fail2Ban vamos a ‘Herramientas y configuración’ de Plesk:
y pulsamos en ‘Prohibición de direcciones IP (Fail2Ban):
Primeramente y por seguridad nos dirigiremos a la pestaña ‘Direcciones IP de confianza’ y añadiremos la de nuestro equipo. En nuestro caso, al tener IP fija nos aseguramos de que nunca se bloquee por error. De esta forma, añadiremos nuestra IP y todas las que queramos a esta lista blanca de acceso:
A continuación, pulsaremos las pestaña Jails para activar qué restricciones queremos aplicar y cuales no. El tipo de restricciones a aplicar depende un poco del uso que le demos al servidor así como el tipo de ataque que queramos evitar. Nosotros, tras estudiar los logs, hemos decidido activar los siguientes jails:
Por defecto Fail2Ban trae una serie de Jails preconfigurados, aunque nosotros podemos añadir Jails creados por nosotros. Aquí, veremos el significado de cada Jail preconfigurado:
- plesk-apache: detecta autorizaciones erróneas en Apache.
- plesk-apache-badbot: plesk-apache-badbot busca malware destinado a obtención de direcciones de email,
- plesk-dovecot: detecta fallos de validación de Dovecot IMAP así como POP3 y Sieve.
- plesk-horde: detecta errores de acceso de webmail basado en horde.
- plesk-panel detecta errores de acceso a Plesk y prohíbe a los atacantes durante 10 minutos.
- plesk-postfix: detecta fallos de validación de Postfix SMTP.
- plesk-roundcube: detecta errores de acceso de webmail basado en roundcube.
- plesk-wordpress: detecta errores de login en nuestro WordPress.
- recidive: busca bloqueos de otros jails en el log de Fail2Ban. Bloquea los hosts que hayan recibido un mínimo de cinco bloqueos por otros jails.
- ssh: detecta errores de login via SSH.
En caso de tener otros componentes instalados en nuestro Plesk, puede ser que también aparezcan opciones como:
- plesk-modsecurity: en caso de tener modsecurity activado prohíbe direcciones IP que han sido marcadas como peligrosas por el firewall de ModSecurity.
- plesk-courierimap: detecta errores de validación en el servidor de Courier IMAP.
Por ultimo, en la pestaña Configuración pulsaremos ‘Activar detección de intrusos’ para activar Fail2Ban.
Además, en este punto podemos definir tres valores adicionales.
- Periodo de prohibición de la dirección IP: nosotros lo hemos aumentado a 86400 segundos, que son 24h. Por defecto suele estar en 600 segundos.
- Intervalo de tiempo para la detección de ataques subsiguientes: este valor lo hemos aumentado a 10 segundos. Esto es útil cuando recibimos ataques muy continuos. Por defecto suele estar en 600 segundos
- Numero de errores antes de proceder con la prohibición de la dirección IP: nosotros lo hemos dejado en el valor por defecto, que es 3.
A partir de este momento Fail2Ban estará activo en nuestro servidor con Plesk.
En la pestaña ‘Direcciones IP Prohibida’ podremos ver el registro de ip’s bloqueadas y el motivo por el que se ha bloqueado. Es decir, que jail ha actuado. También desde esta pestaña podremos desbloquear IPs en caso de que se hayan bloqueado por error:
Si esta guía te ha parecido util, no dudes en compartirla. Y si quieres mejorar la seguridad de tu servidor Plesk, lee el post para cambiar el puerto ssh de tu servidor.
En XpertiX somos especialistas en la administración de servidores, si quieres tener tus servidores funcionando correctamente las 24 horas no dudes en contactar con XpertiX.