Fail2Ban es una aplicación escrita en Python para el bloqueo de intrusos en sistemas Linux, actúa penalizando o bloqueando las conexiones remotas con la dirección IP de intentos fallidos o ataques de fuerza bruta mediante la configuración de celdas.
En muchas de las imágenes preinstaladas esta instalado y configurado por defecto. Es por importante tenerlo presente para posibles problemas de conexión por intentos fallidos. Por ejemplo, normalmente los paneles como Plesk lo incorporan con jails para el servicio de correo entre otros y puedes administrar los bloqueos desde el propio panel.
Este artículo es un pequeño resumen de las opciones que incorpora Fail2ban para realizar desbloqueos desde el propio sistema operativo. Por lo tanto, puedes realizarlo por la Consola de emergencia si no tienes acceso por SSH porque tu dirección IP esta bloqueada.
Desbloquear una dirección baneada de todas las celdas
Para desbloquear una dirección IP de todas las celdas simplemente puedes ejecutar:
# fail2ban-client unban [dirección_IP]
Modifica "[dirección_IP]" por la IP que desees desbloquear, puedes revisar la tuya en IP Location.
Desbloquear un dirección baneada de una celda
Para desbanear una dirección de una celda en concreto:
# fail2ban-client set sshd unbanip [dirección_IP]
Modifica "[dirección_IP]" por la dirección y "sshd" por la celda que desees desbloquear, puedes revisar tu dirección en IP Location.
Otras opciones e información adicional
Listar opciones y comandos disponibles
Para conocer más sobre las opciones y comandos de Fail2Ban puedes ejecutar:
# fail2ban-client --help
También puedes leer el manual ejecutando:
# man fail2ban
Añadir dirección en la lista blanca
Una dirección IP puede ser ignorada por fail2ban (whitelist), puedes configurarlo en el fichero de la celda o utilizar el cliente. Para añadirla debes ejecutar la siguiente sintaxis:
# fail2ban-client set [celda] addignoreip [dirección_IP]
Modifica [celda] por la correspondiente y [dirección_IP] por la dirección en cuestión.
Eliminar dirección en la lista blanca
Para eliminar una dirección de la lista blanca, la sintaxis es la siguiente:
# fail2ban-client set [celda] addignoreip [dirección_IP]
Modifica [celda] por la correspondiente y [dirección_IP] por la dirección en cuestión.
Consultar direcciones de la lista blanca
Para consultar las direcciones ignoradas:
# fail2ban-client get [celda] ignoreip
Modifica [celda] por la que deseas listar.
Bloquear una dirección en una celda
Para banear una dirección en una celda puedes ejecutar:
# fail2ban-client set sshd banip [dirección_IP]
Modifica "[dirección_IP]" por la dirección y "sshd" por la celda que desees bloquear.
Desbloquear todas las direcciones baneadas de todas las celdas
Para desbanear todas las direcciones de todas las celdas de Fail2Ban simplemente puedes ejecutar:
# fail2ban-client unban --all
Mostrará un resultado con un número, será la cantidad de direcciones que ha desbloqueado.
Listar celdas configuradas
Para listar todas las celdas activas de Fail2Ban puedes ejecutar el siguiente comando:
# fail2ban-client status
Aparecerá el numero total de celdas y una lista con el nombre de cada una. Por ejemplo en un Plesk deberían aparecerán las siguientes:
Status
|- Number of jail: 11
`- Jail list: plesk-apache, plesk-apache-badbot, plesk-dovecot, plesk-modsecurity, plesk-panel, plesk-postfix, plesk-proftpd, plesk-roundcube, plesk-wordpress, recidive, ssh
Listar direcciones baneadas de una celda
Para consultar las direcciones bloqueadas de una celda ejecuta:
# fail2ban-client status sshd
Modifica "sshd" por la celda que deseas consultar y debería aparecer un resultado similar al siguiente:
Status for the jail: sshd
|- Filter
| |- Currently failed: 3
| |- Total failed: 31
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 3
|- Total banned: 8
`- Banned IP list: 205.251.242.103 54.239.28.85 176.32.103.205
Comprobar el estado del servicio Fail2Ban
Para comprobar el estado del servicio, puedes ejecutar:
# systemctl status fail2ban.service
Revisar registros de Fail2Ban
Puedes revisar los registros del servicio en la siguiente ruta:
/var/log/fail2ban.log
Esperamos haberte ayudado con este tutorial 🙂. Recuerda, si tienes consultas sobre esta u otra cuestión relacionada con tus servidores en Clouding, no dudes en escribir a soporte@clouding.io ¡Estamos a tu lado para lo que necesites!