Configura Fail2ban y asegura tu servidor
Un servidor dedicado ofrece muchas ventajas, pero también requiere un alto grado de responsabilidad y supervisión periódica, especialmente para prevenir el acceso no autorizado de terceros. Existen diversos motivos por los que personas sin escrúpulos podrían atacar un servidor, por lo que tomar las medidas de seguridad correspondientes es fundamental, especialmente por el gran riesgo que implican algunos ataques malintencionados.
¿Qué hay detrás de Fail2ban?
Fail2ban es un módulo de servidor que se puede utilizar para sistemas Linux y POSIX, escrito en el lenguaje de programación de Python, y que sirve como framework de seguridad del tipo de un cortafuegos o filtro de paquetes. Fail2ban detecta aquellas direcciones IP cuyo comportamiento resulta inusual, por ejemplo, las que han intentado acceder varias veces con una contraseña incorrecta a los archivos de registro del servidor. Un cierto número de intentos fallidos, asegurará automáticamente que ese usuario sea "baneado", es decir, que su IP sea bloqueada durante un periodo determinado de tiempo. El administrador también puede configurar Fail2ban para recibir notificaciones de este tipo de accesos por correo electrónico.
Por defecto, Fail2ban cuenta con una serie de filtros, por ejemplo para Apache, Postfix o Courier Mail Server, con los que se pueden reconocer cadenas específicas en los archivos de registro. Con la ayuda de estos filtros es posible desencadenar las así llamadas acciones, comandos que se ejecutan en un tiempo predeterminado. La combinación de un filtro con una acción es conocida bajo el nombre de "cárcel" (del inglés Jail). Fail2ban puede programar estas "cárceles" para cualquier software que cree archivos de registro. Debido a que Fail2ban es un framework de código abierto con licencia GPL2, su uso y expansión no tienen ningún coste.
Fail2ban: instalación y configuración
-
Para iniciar la instalación de Fail2ban, deberás introducir el siguiente comando:
sudo apt-get install fail2ban -
Una vez finalizada la instalación, podrás encontrar el framework en /etc/fail2ban. Por seguridad, el archivo de configuración jail.conf deberá ser copiado localmente como jail.local, para proteger la configuración cuando se realicen actualizaciones. Esto se consigue introduciendo:
cd/etc/fail2ban
sudo cp jail.conf jail.loca -
Ahora podrás iniciar Fail2ban con el comando:
sudo service fail2ban start -
En los archivos de configuración es posible activar, desactivar o añadir “cárceles”, así como definir sus parámetros y configuración. Los siguientes comandos definen acciones de gestión:
enabled: activar (true) o desactivar (false) una cárcel
filter: ombre de filtro ubicado en el directorio /etc/fail2ban/filter.d
port: tipo de puerto (por ejemplo SSH, HTTP, HTTPS)
logpath: ruta para el archivo de acceso
maxretry: cantidad máxima de intentos de registro fallidos
findtime: lapso de tiempo para buscar IP anormales (en segundos)
bandtime: indica el tiempo durante el cual la IP va a estar bloqueada (-1: permanente) -
El siguiente paso, una vez realizados los cambios, será reiniciar Fail2ban:
sudo service fail2ban reload -
Los resultados de la evaluación serán almacenados en un archivo de registro separado, que puede ser encontrado con el siguiente comando:
tail -100f /var/log/fail2ban.log -
Para finalizar el asistente, solo es necesario introducir:
sudo service fail2ban stop
Fail2ban: efectivo contra scripts y bots
Debido a que Fail2ban puede ser utilizado en cualquier sistema donde los archivos de registro son leídos utilizando filtros, la gama de opciones de aplicación de este framework preventivo resulta altamente amplia. Un ejemplo muy conocido es el plugin de WordPress Antispam Bee, que se encarga de identificar spam en los comentarios de los blogs de WordPress. Este permite, por ejemplo, marcar una opción en la que el spam reconocido no es borrado automáticamente, sino que es visualizado con el código de estado 403. La dirección IP, el comentario y la secuencia de error también aparecerán en el archivo de registro de WordPress (access.log). Con la ayuda de una "cárcel", que se encargará de explorar las entradas de los registros para encontrar códigos de error, es posible interceptar el spam desde el servidor. Fail2ban protege también de aplicaciones y registros no autorizados. Como extensión, también es posible generar un código de estado 403 como respuesta a un intento fallido de acceso. Es común que algunos bots y scripts interrumpan sus acciones como consecuencia de la aparición de este mensaje. La extensión también permite bloquear estos registros. Visita este artículo para mayor información sobre la clasificación de este y otros códigos de estado HTTP.
Fail2ban: un framework de seguridad altamente flexible
Fail2ban es una solución flexible y eficaz para prevenir acciones de bots, scripts u otro tipo de ataques informáticos a un servidor. Este framework hace posible el seguimiento de archivos de registro con patrones sospechosos y permite bloquear o desbloquear sus direcciones IP temporal o indefinidamente. El usuario es libre a la hora de determinar aquellos aspectos que deben ser controlados, así como los parámetros exactos que se aplicarán durante la búsqueda.
Configurando Fail2ban de manera adecuada se complementan en gran medida los esfuerzos de seguridad necesarios para la protección de la información almacenada en un servidor. Sin embargo, no sustituirá las garantías ofrecidas por: programas de seguridad especializados, copias de seguridad periódicas, protección de datos con contraseñas o encriptación de la información. Combinar las funciones de los componentes individuales en una estrategia de protección global, resultará en una protección integral capaz de resistir los ataques más frecuentes, así como los más fuertes.