Los logs de Fail2Ban llenan el servidor Debian con Plesk en OVH

Esta semana hemos tenido bastantes problemas con que los logs de Fail2Ban llenaban todo el espacio en disco de VPS con Debian (9 o 10; indiferente) con Plesk, dando igual cuanto espacio en disco hubiese disponible.

Esto al final hace que el servidor deje de funcionar correctamente.

¿Cuánto tiempo retiene Fail2Ban los logs?

Normalmente que se llene el disco no debería de pasar porque en el archivo fail2ban.conf la retención de los logs está puesta por defecto en 1 día (configuración establecida en /etc/fail2ban/fail2ban.conf):

# Options: dbpurgeage
# Notes.: Sets age at which bans should be purged from the database
# Values: [ SECONDS ] Default: 86400 (24hours)
dbpurgeage = 1d

¿Cómo eliminar logs de Fail2Ban por SSH?

El espacio ocupado en disco lo podéis comprobar de la siguiente forma:

df -h

Y ahí os dirá que el disco está el 100%.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        40G   40G    0G 100% /

Luego vais a la carpeta con los logs de Fail2Ban para comprobar su tamaño:

cd /var/lib/fail2ban

Veréis que hay un archivo fail2ban.sqlite y muchos otros archivos de más o menos 1GB de tamaño. Por ejemplo:

root@xxx:/var/lib/fail2ban# ls -l
total 12180992
936693760 May 19 02:19 fail2ban.sqlite3
936693760 May 19 02:19 fail2ban.sqlite3.20210519-001920
936693760 May 19 02:20 fail2ban.sqlite3.20210519-001956
936693760 May 19 02:20 fail2ban.sqlite3.20210519-002035
936693760 May 19 02:21 fail2ban.sqlite3.20210519-002111
936693760 May 19 02:22 fail2ban.sqlite3.20210519-002145
936693760 May 19 02:22 fail2ban.sqlite3.20210519-002217
936693760 May 19 02:23 fail2ban.sqlite3.20210519-002248
936693760 May 19 02:23 fail2ban.sqlite3.20210519-002327
936693760 May 19 02:24 fail2ban.sqlite3.20210519-002408
936693760 May 19 02:25 fail2ban.sqlite3.20210519-002445
936693760 May 19 02:25 fail2ban.sqlite3.20210519-002537
936693760 May 19 02:26 fail2ban.sqlite3.20210519-002617
296116224 May 19 02:27 fail2ban.sqlite3.20210519-002701

Los logs se pueden eliminar a lo bestia de la siguiente forma:

sudo /etc/init.d/fail2ban stop
sudo rm -rf /var/lib/fail2ban
sudo /etc/init.d/fail2ban start
sudo reboot

Nosotros solemos dejar el archivo actual: fail2ban.sqlite y usamos este comando:

sudo /etc/init.d/fail2ban stop
sudo rm -rf /var/lib/fail2ban/fail2ban.sqlite3.20*
sudo /etc/init.d/fail2ban start
sudo reboot

OJO: Eliminar los archivos de log así solamente lo recomendamos en el caso de que el 100% del disco esté lleno. Sino se pueden usar los comandos de Fail2Ban para vaciar la caché (pero no funcionan si no hay espacio en disco):

sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 "select count(*) from bans"
sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 "delete from bans where timeofban < strftime('%s', 'now', '-12 hours')"
sqlite3 /var/lib/fail2ban/fail2ban.sqlite3 "vacuum"

Espero como siempre que le sirva a alguien.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Los comentarios de esta página se procesan por un sistema automático de moderación por lo cual no siempre se publican de forma instantánea. Por favor respeta a los demás y ciñete al tema del post. Nos reservamos el derecho de eliminar cualquier comentario o enlace que nos parezca inadecuado o tenga una expresión de grosería, insulto, odio, hostilidad o negatividad.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.