Para poder instalar el Fail2Ban crearemos una instancia nueva en el orquestador con cualquier imagen basada en Linux. Cómo crear una instancia en el orquestador.
Esta instancia será la que utilizaremos posteriormente para la instalación, gestión y uso del Fail2Ban.
Una vez tenemos dicha instancia procederemos a la instalación del Fail2Ban, la cual la realizaremos utilizando el siguiente comando:
sudo apt install fail2ban -y
El siguiente paso será comprobar a través del comando adjunto que esta funcionando el Fail2Ban, este nos debe devolver active(running).
sudo systemctl status fail2ban
Para la configuración del fail2ban, procederemos a editar el archivo jail.local.
Es importante que nunca editemos el
jail.conf, por lo que crearemos un nuevo archivojail.local
Para editar el archivo jail.local podemos utilizar cualquier herramienta de editor de texto, en este caso vamos a utilizar nano.
sudo nano /etc/fail2ban/jail.local
Una vez dentro procederemos a insertar el siguiente texto:
[DEFAULT]
ignoreip = NUESTRA IP
bantime = 600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = ssh
logpath = /var/log/auth.log
backend = systemd
Este archivo lo podremos modificar según nuestra preferencia, teniendo en cuenta que el significado de los campos es el siguiente:
ignoreip: IP la cual no tendrá en cuenta en caso de intentos fallidos.
bantime: Tiempo en segundos que durará el baneo de la IP atacante.
findtime: Intervalo de tiempo en segundos para contar intentos.
maxretry: Número máximo de intentos previos al ban.
enabled: Activa la protección en caso de true.
port: Puerto mediante el que se quiere controlar el acceso, (en nuestro caso el puerto ssh 22).
logpath: Ruta donde Fail2Ban lee los intentos fallidos.
Es conveniente poner nuestra IP para que nunca sea baneada por este servicio.
Una vez tenemos configurado el Fail2Ban, podemos utilizarlo con los siguientes comandos básicos.
1. Iniciar, parar y reiniciar el Fail2Ban.
sudo systemctl start fail2ban
sudo systemctl stop fail2ban
sudo systemctl restart fail2ban
2. Ver estado de Fail2Ban
sudo fail2ban-client status
3. Ver SSH.
sudo fail2ban-client status sshd
4. Banear una IP
sudo fail2ban-client set sshd banip IP
5. Desbanear una IP
sudo fail2ban-client set sshd unbanip IP
Para ver las IPs baneadas utilizaremos el comando para ver SSH
sudo fail2ban-client status sshdy comprobaremos la Banned IP list.
6. Ver LOGS en tiempo real.
sudo tail -f /var/log/fail2ban.log
7. Ver intentos SSH
sudo tail -f /var/log/auth.log
8. Editar configuración
sudo nano /etc/fail2ban/jail.local
Si intentamos acceder a la instancia donde tenemos configurado Fail2Ban mediante claves SSH (.pem), no se baneará la IP, ya que Fail2Ban por defecto solo detecta intentos fallidos de autenticación por contraseña (“Failed password”), y los fallos de clave pública no generan este tipo de eventos.