WindowsMacSoftwareConfiguraciónSeguridadProductividadLinuxAndroidRendimientoConfiguraciónApple Todo

Cómo configurar Fail2Ban en Linux

Editado 1 Hace una semana por ExtremeHow Equipo Editorial

SeguridadFail2BanProtección contra fuerza brutaConfiguraciónInstalaciónAdministrador del sistemaMonitoreoSSHProhibición de IPAutomatización

Cómo configurar Fail2Ban en Linux

Traducción actualizada 1 Hace una semana

Fail2Ban es un software de código abierto popular que ayuda a proteger su servidor Linux de ataques de fuerza bruta. Lo hace monitoreando archivos de registro y prohibiendo temporalmente las direcciones IP que muestran un comportamiento sospechoso. Configurar Fail2Ban correctamente puede aumentar la seguridad de su servidor respondiendo automáticamente a los intentos de acceso no autorizados.

Comprendiendo Fail2Ban

Fail2Ban funciona identificando instancias donde un usuario o script está intentando obtener acceso no autorizado a su servidor. Escanea archivos de registro específicos en busca de patrones predefinidos y luego prohíbe temporalmente cualquier dirección IP que coincida con estos patrones. Esta acción ayuda a prevenir que los atacantes adivinen repetidamente contraseñas o manipulen vulnerabilidades dentro de su sistema.

Antes de comenzar a configurar Fail2Ban, es importante comprender sus componentes básicos:

Prerrequisitos

Antes de configurar Fail2Ban, asegúrese de tener acceso administrativo a su servidor Linux. Esto le permite instalar nuevo software y modificar la configuración del sistema. Además, debe tener un conocimiento básico de las operaciones del línea de comandos Linux. También es importante configurar correctamente su firewall, ya que Fail2Ban interactuará con él para bloquear y desbloquear direcciones IP.

Instalando Fail2Ban

La mayoría de las distribuciones de Linux incluyen Fail2Ban en sus repositorios de paquetes, lo que hace que la instalación sea sencilla. Veamos los pasos de instalación para diferentes distribuciones:

Para sistemas basados en Debian (por ejemplo, Ubuntu)

sudo apt-get update
sudo apt-get install fail2ban

Para sistemas basados en Red Hat (por ejemplo, CentOS)

sudo yum install fail2ban

Después de la instalación, el servicio Fail2Ban generalmente comenzará automáticamente. Puede verificar su estado de la siguiente manera:

sudo systemctl status fail2ban

Configurando Fail2Ban

Fail2Ban es altamente configurable a través de sus archivos de configuración. Aquí se explica cómo puede personalizarlo para que se adapte a sus necesidades de seguridad:

Crear configuración local

El archivo de configuración principal de Fail2Ban se encuentra en /etc/fail2ban/jail.conf, pero se recomienda crear una copia local para asegurarse de que las futuras actualizaciones no sobrescriban sus configuraciones. Cree un nuevo archivo llamado jail.local:

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Modificar jail.local

Edite jail.local para establecer sus preferencias específicas. Las siguientes son las secciones requeridas para configurar:

Sección por defecto

Esta sección define configuraciones generales que se aplican a todas las celdas, como el tiempo de prohibición y si se envían alertas por correo electrónico. Abra el archivo en un editor de texto:

sudo nano /etc/fail2ban/jail.local

Bajo la sección [DEFAULT], puede encontrar los siguientes tipos de variables:

[DEFAULT]
ignoreip = 127.0.0.1/8
bantime = 600
findtime = 600
maxretry = 3
destemail = your-email@example.com
banaction = iptables-multiport
mta = sendmail
protocol = tcp
chain = INPUT

Habilitar celda

Las celdas son el corazón de Fail2Ban, definiendo qué servicios monitorear y cómo. En el archivo jail.local, puede habilitar celdas para los servicios que desea proteger:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5

Agregar filtros personalizados

Si bien Fail2Ban viene con varios filtros preconfigurados, puede escribir filtros personalizados si es necesario. Cree un nuevo archivo en el directorio /etc/fail2ban/filter.d/. El filtro debe consistir en una serie de expresiones regulares que coincidan con las actividades sospechosas que desea identificar.

Ejemplo de un filtro personalizado

Suponga que desea crear un filtro personalizado para detectar intentos fallidos de inicio de sesión en una aplicación web. Primero, cree un nuevo archivo de filtro:

sudo nano /etc/fail2ban/filter.d/myapp.conf

Agregue expresiones como las siguientes:

[Definition]
failregex = ^.*Failed login for user.*$
ignoreregex =

Probando Fail2Ban

Es importante probar su configuración de Fail2Ban para asegurarse de que funciona como se espera:

Iniciar el servicio Fail2Ban

Después de configurar Fail2Ban, inicie o reinicie el servicio para aplicar los cambios:

sudo systemctl restart fail2ban

Verificar el estado de Fail2Ban

Para asegurarse de que el servicio Fail2Ban se está ejecutando sin errores, verifique su estado:

sudo fail2ban-client status

Restricciones de prueba

Para simular un ataque, falle intencionadamente en los intentos de inicio de sesión utilizando el servicio objetivo. Monitoree Fail2Ban para asegurarse de que la IP sea prohibida:

sudo fail2ban-client status sshd

Este comando mostrará el estado de la celda SSH, incluyendo las IPs actualmente bloqueadas.

Eliminar la prohibición de una IP

A veces es posible que necesite desbloquear una IP que fue prohibida por error. Para desbloquear una IP, use el siguiente comando:

sudo fail2ban-client set <jail> unbanip <IP-Address>

Fail2Ban y firewall

Fail2Ban utiliza principalmente iptables para gestionar las prohibiciones. Sin embargo, si está utilizando herramientas de gestión de firewall como firewalld o UFW (Uncomplicated Firewall), asegúrese de que se integren sin problemas con Fail2Ban. Puede que necesite personalizar banaction en la configuración para utilizar estas herramientas.

Monitoreo y mantenimiento de Fail2Ban

Revise los registros de Fail2Ban regularmente en busca de cualquier actividad inusual. Los registros se pueden encontrar a menudo aquí:

/var/log/fail2ban.log

Revisar estos registros le ayuda a comprender los patrones de ataque y adaptar sus políticas de seguridad de manera más efectiva.

Conclusión

Fail2Ban es una herramienta versátil y esencial para asegurar servidores Linux de intentos de acceso no autorizados. Configurándolo adecuadamente, puede reducir sustancialmente el número de ataques de fuerza bruta exitosos en sus servicios. Ajuste la configuración para adaptarse a su entorno de servidor y monitoree continuamente los registros para mantener una postura de seguridad sólida.

A medida que la tecnología evoluciona, también lo hacen los métodos de ataque. Actualizar regularmente Fail2Ban y su configuración asegura que minimice los riesgos asociados con nuevas amenazas. Recuerde que, si bien Fail2Ban fortalece su seguridad, debe ser parte de una estrategia de seguridad integral junto con otras mejores prácticas, como usar contraseñas fuertes, mantener sus sistemas actualizados y restringir puertos abiertos.

Si encuentras algo incorrecto en el contenido del artículo, puedes


Comentarios