Editado 1 Hace una semana por ExtremeHow Equipo Editorial
SeguridadFail2BanProtección contra fuerza brutaConfiguraciónInstalaciónAdministrador del sistemaMonitoreoSSHProhibición de IPAutomatización
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.
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:
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.
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:
sudo apt-get update
sudo apt-get install fail2ban
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
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:
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
jail.local
Edite jail.local
para establecer sus preferencias específicas. Las siguientes son las secciones requeridas para configurar:
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
600
segundos equivalen a diez minutos.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
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.
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 =
Es importante probar su configuración de Fail2Ban para asegurarse de que funciona como se espera:
Después de configurar Fail2Ban, inicie o reinicie el servicio para aplicar los cambios:
sudo systemctl restart fail2ban
Para asegurarse de que el servicio Fail2Ban se está ejecutando sin errores, verifique su estado:
sudo fail2ban-client status
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.
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 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.
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.
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