Copie este código em um novo arquivo /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 =
Lembre-se de que talvez você precise editar o failregex para identificar com precisão as tentativas de login raiz com falha - use:
fail2ban-regex /var/log/auth.log /etc/fail2ban/filter.d/sshd-root.conf
para testar se identifica as entradas de log corretas.
Então você precisa editar o seu jail.local para usar o novo filtro - adicione algo como:
[ssh]
enabled = true
port = 1:65535
filter = sshd-root
logpath = /var/log/auth.log
bantime = 604800
maxretry = 3
Obviamente, você deve ajustar esses valores de acordo com suas necessidades. As configurações acima eliminarão todos os pacotes recebidos do endereço IP incorreto após três tentativas de logon como raiz e liberarão o IP novamente após uma semana.