Se dice que el logpath de fail2ban puede usar regex (expresiones regulares)

3 min

language: ja bn en es hi pt ru zh-cn zh-tw

Hola, soy un inútil.
En cada sistema operativo *nix, cuando la configuración de rotación de logs es diferente, /var/log/auth.log puede ser archivado rápidamente y no banear nada, por lo que parece que se pueden usar expresiones regulares como se muestra a continuación.

¡Cómo! ¡Usar!

:/etc/fail2ban# cat jail.local 
[sshd]
ignoreip = 127.0.0.1/8 ::1
enabled = true
port    = all
logpath = /var/log/auth.log*
bantime = 10w
findtime = 10d
maxretry = 2

Y, al mirar con fail2ban-client status sshd

:/usr/local/etc/fail2ban # fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     0
|  `- File list:        /var/log/auth.log /var/log/auth.log.2.bz2 /var/log/auth.log.1.bz2 /var/log/auth.log.6.bz2 /var/log/auth.log.3.bz2 /var/log/auth.log.4.bz2 /var/log/auth.log.5.bz2 /var/log/auth.log.0.bz2
`- Actions
   |- Currently banned: 158
   |- Total banned:     158

Parece que los archivos .bz también están incluidos... ¿los estará mirando...? Pensé, pero si lo piensas normalmente, es imposible (´・ω・`)
Todavía no lo he mirado en detalle, pero si es lo suficientemente inteligente como para mirar binarios comprimidos como zgrep, me alegraría.

Pensando eso, descomprimí con ls auth.log.*.bz2 | xargs bunzip2 y reinicié fail2ban, y el IP baneado no cambió, así que parece que también está mirando los logs binarios comprimidos.

En este tipo de software, usar expresiones regulares descuidadamente, especialmente .*, a menudo consume recursos innecesarios, por lo que recomiendo usar expresiones regulares explícitas.

Increíble máquina HeznerVPS

Terrible.

:/etc/fail2ban# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 814
|  |- Total failed:     132602
|  `- File list:        /var/log/auth.log.1 /var/log/auth.log
`- Actions
   |- Currently banned: 2503
   |- Total banned:     2503

¿2503 IPs...?
Me siento feliz de haber obtenido una fuente de datos deliciosa.