Tengo varias instancias como las siguientes en /var/log/fail2ban.log:
2015-12-27 14:31:21,949 fail2ban.filter [1020]: INFO [sshd] Found ###.###.###.###
(Donde # sustituye a una diversidad de direcciones IP).
¿Cuál es exactamente el significado de esta entrada de registro? En particular, ¿qué Found
denota?
Busqué aquí y http://www.fail2ban.org para obtener una explicación del archivo de registro. Si me he perdido una fuente de información obvia para esta pregunta, mis disculpas, por favor, apúnteme en la dirección correcta.
Aquí está la configuración de FailRegex en /etc/fail2ban/filter.d/sshd.config:
failregex = ^%(__prefix_line)s(?:error: PAM: )?[aA]uthentication (?:failure|error) for .* from <HOST>( via \S+)?\s*$
^%(__prefix_line)s(?:error: PAM: )?User not known to the underlying authentication module for .* from <HOST>\s*$
^%(__prefix_line)sFailed \S+ for .*? from <HOST>(?: port \d*)?(?: ssh\d*)?(: (ruser .*|(\S+ ID \S+ \(serial \d+\) CA )?\S+ %(__md5hex)s(,$
^%(__prefix_line)sROOT LOGIN REFUSED.* FROM <HOST>\s*$
^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$
^%(__prefix_line)sUser .+ from <HOST> not allowed because not listed in AllowUsers\s*$
^%(__prefix_line)sUser .+ from <HOST> not allowed because listed in DenyUsers\s*$
^%(__prefix_line)sUser .+ from <HOST> not allowed because not in any group\s*$
^%(__prefix_line)srefused connect from \S+ \(<HOST>\)\s*$
^%(__prefix_line)sReceived disconnect from <HOST>: 3: \S+: Auth fail$
^%(__prefix_line)sUser .+ from <HOST> not allowed because a group is listed in DenyGroups\s*$
^%(__prefix_line)sUser .+ from <HOST> not allowed because none of user's groups are listed in AllowGroups\s*$
^(?P<__prefix>%(__prefix_line)s)User .+ not allowed because account is locked<SKIPLINES>(?P=__prefix)(?:error: )?Received disconnect from$
^(?P<__prefix>%(__prefix_line)s)Disconnecting: Too many authentication failures for .+? \[preauth\]<SKIPLINES>(?P=__prefix)(?:error: )?Co$
^(?P<__prefix>%(__prefix_line)s)Connection from <HOST> port \d+(?: on \S+ port \d+)?<SKIPLINES>(?P=__prefix)Disconnecting: Too many authe$
^%(__prefix_line)spam_unix\(sshd:auth\):\s+authentication failure;\s*logname=\S*\s*uid=\d*\s*euid=\d*\s*tty=\S*\s*ruser=\S*\s*rhost=<HOST$
Respuestas:
El
Found xxx.xxx.xxx.xxx
mensaje significa que el filtro fail2ban encontró una línea que coincide con failregex en el archivo de registro de filtro / cárcel dado.Por ejemplo, si el registro muestra
Los dos primeros
Found
significan que la dirección IP 1.2.3.4 se encontró 2 veces en el registro sshd dado (por ejemplo, /var/log/auth.log) y que la entrada en el archivo de registro coincidefailregex
en el filtro/etc/fail2ban/filter.d/sshd.conf
Como he configurado para prohibir después de 2 intentos fallidos de ssh, la tercera línea muestra que IP 1.2.3.4 ha sido prohibido después de esos 2 casos encontrados.
Cómo me enteré de esto:
En las fuentes de python de fail2ban (en Debian, esto es
/usr/lib/python3/dist-packages/fail2ban/
), haga esto:En el archivo de python "server / filter.py" en la línea 937, encontrará la función de registro correspondiente:
fuente