fail2ban es un invento estupendo, independientemente de lo bien que creamos que un servidor está protegido del mundanal ruido.
En los tiempos que corren, pensar que una red es «segura» porque está detrás de un cortafuegos es equivalente a apuntar con un arma de fuego cargada a los genitales y hacer lo posible por tener un ataque de hipo.
Así las cosas, una de las formas más sencillas y eficaces de mejorar la seguridad de nuestro servidor, es instalar fail2ban. Siempre ha sido uno de esos servicios de instalar y olvidar, especialmente en Debian, donde simplemente:
sudo apt-get install fail2ban
era lo que había que hacer para tener al menos el ssh con este extra de seguridad.
Pero eso se acabó… Brevemente, en Debian 12 bookworm. ¿Por qué? Bueno, pues tras rebuscar un rato, porque no se acaba de llevar del todo bien con systemd (con la iglesia hemos topado):
Aug 22 09:25:26 nuevadb fail2ban-server[350]: 2023-08-22 09:25:26,534 fail2ban [350]: ERROR Failed during configuration: Have not found any log file for sshd jail
Aug 22 09:25:26 nuevadb fail2ban-server[350]: 2023-08-22 09:25:26,542 fail2ban [350]: ERROR Async configuration of server failed
Aug 22 09:25:26 nuevadb systemd[1]: fail2ban.service: Main process exited, code=exited, status=255/EXCEPTION
Aug 22 09:25:26 nuevadb systemd[1]: fail2ban.service: Failed with result 'exit-code'.
En el caso que nos ocupa, el problema es que fail2ban para funcionar con systemd, vaya por $dios, necesita una librería que no tiene como dependencia.
Así que todos nuestros problemas mejorarán ostensiblemente simplemente:
alfredo@nuevadb:~$ sudo apt install python3-systemd
Seguido de un nuevo (probablemente esté en el history unas cuantas veces ya en este punto)
alfredo@nuevadb:~$ sudo systemctl start fail2ban
Pero la vida nunca es tan sencilla, ¿verdad?
En Bookworm, por defecto no hay syslog (qepd), y sshd larga sus miserias a systemd. Pero por algún motivo, fail2ban sigue creyendo en syslog; así que hay que convencerle de otra cosa. Por ejemplo:
alfredo@nuevadb:~$ sudo emacs /etc/fail2ban/jail.d/defaults-debian.conf
Y añadir la línea
backend = systemd
Ahora sí ya hemos terminado y podemos ooootra vez arrancar, ya con éxito, fail2ban.
Debian mola, salvo cuando te hacen una de estas. En fin. Hasta más ver.
Comentarios recientes