Fail2ban es un software de prevención de intrusiones utilizado por muchos administradores de sistemas Linux para proteger los servidores Linux de ataques de fuerza bruta y otros ataques automatizados.
En este tutorial lo guiaremos sobre cómo instalar y configurar Fail2ban en Ubuntu 20.04. La instalación y configuración es bastante fácil y no necesita años de experiencia en la administración de Linux para hacerlo.
Procedamos con los pasos sobre cómo instalar y configurar Fail2ban.
1 1. Instalación
Primero actualicemos el sistema y procedamos con la instalación.
sudo apt update
sudo apt install fail2ban
Verifique el estado de Fail2ban, y debería iniciarse automáticamente después de la instalación. Para verificar el estado, ejecute este comando.
sudo systemctl status fail2ban
Output:
● fail2ban.service - Fail2Ban Service
Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-11-30 07:33:51 EST; 22s ago
Docs: man:fail2ban(1)
Main PID: 42104 (f2b/server)
Tasks: 5 (limit: 9485)
Memory: 14.3M
CGroup: /system.slice/fail2ban.service
└─42104 /usr/bin/python3 /usr/bin/fail2ban-server -xf start
Nov 30 07:33:51 techtutorguro.com systemd[1]: Starting Fail2Ban Service...
Nov 30 07:33:51 techtutorguro.com systemd[1]: Started Fail2Ban Service.
Nov 30 07:33:52 techtutorguro.com fail2ban-server[42104]: Server ready
2 2. Configuración
Los principales archivos de configuración de Fail2ban se encuentran en /etc/fail2ban . Fail2ban lee primero toda la configuración con .local extensión, y .local extensiones anula el .conf extensiones.
El archivo de configuración predeterminado es /etc/fail2ban/jail.conf
, ahora necesitamos crear un jail.local y aquí es donde ponemos los ajustes de configuración que deseamos para proteger nuestro servidor.
Primero copiemos el jail.conf a jail.local .
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Ahora editemos /etc/fail2ban/jail.local archivo.
sudo nano /etc/fail2ban/jail.local
Modifique la sección [Predeterminada] a su configuración deseada.
Si desea incluir una IP en la lista blanca, puede poner la IP en ignoreip directiva. Para habilitar ignoreip descoméntelo.
ignoreip = 127.0.0.1/8 ::1 192.168.1.50
Bantime – es el número de segundos que un host está baneado.
bantime = 10m
Findtime – Un host está baneado si ha generado “maxretry” durante el último “findtime”
findtime = 10m
Maxreintentar – es el número de fallas antes de que un host sea baneado.
maxretry = 5
3 3. Protección de SSH
Fail2ban utiliza jails como regla establecida para proteger sus servicios. La cárcel del servicio SSH está habilitada de forma predeterminada.
Esta es la cárcel predeterminada para SSHD.
[sshd]
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
Si desea agregar más directivas y desea agregar maxretry , encontrar tiempo , hora de la fiesta y ignorarip en el conjunto de reglas de cárcel SSHD.
[sshd]
# To use more aggressive sshd modes set filter parameter "mode" in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See "tests/files/logs/sshd" or "filter.d/sshd.conf" for usage example and details.
#mode = normal
port = ssh
logpath = %(sshd_log)s
backend = %(sshd_backend)s
maxretry = 6
findtime = 1d
bantime = 1w
ignoreip = 127.0.0.1/8 192.168.1.50
Después de modificar el jail.conf , guarde el archivo y reinicie el servicio Fail2ban para que la configuración surta efecto.
sudo systemctl restart fail2ban
4 4. Cliente Fail2ban
Fail2ban tiene su propia herramienta de línea de comandos llamada fail2ban-client que puede usar para interactuar con el servicio fail2ban.
Puede usar fail2ban-client para verificar el estado de la cárcel, también puede prohibir o desbanear las direcciones IP y cambiar otras Fail2ban configuración.
Para comprobar las opciones disponibles.
fail2ban-client -h
Para comprobar el estado de la cárcel.
sudo fail2ban-client status sshd
Para prohibir una IP.
sudo fail2ban-client set sshd banip 192.168.1.51
Para desbanear una IP.
sudo fail2ban-client set sshd unbanip 192.168.1.51
5 Conclusión
Hemos demostrado lo fácil que es configurar Fail2ban en Ubuntu 20.04. Si le gusta este artículo, es posible que también le guste nuestro artículo sobre CSF.