Copie este código en un nuevo archivo /etc/fail2ban/filter.d/sshd-root.conf:
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Definition]
_daemon = sshd
failregex = ^%(__prefix_line)sFailed (?:password|publickey) for root from <HOST>(?: port \d*)?(?: ssh\d*)?$
ignoreregex =
TENGA EN CUENTA que puede que tenga que editar el failregex para identificar con precisión los intentos fallidos de inicio de sesión raíz: use:
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd-root.conf
para probar que identifica las entradas de registro correctas.
Luego debe editar su jail.local para utilizar el nuevo filtro; agregue algo como:
[ssh]
enabled = true
port = 1:65535
filter = sshd-root
logpath = /var/log/auth.log
bantime = 604800
maxretry = 3
Obviamente, debe ajustar estos valores según sus necesidades. La configuración anterior eliminará todos los paquetes entrantes de la dirección IP infractora después de tres intentos de iniciar sesión como root, y liberará la IP nuevamente después de una semana.