Estou usando o fail2ban 0.9.5 no Ubuntu Server LTS 14.04 e uso um bom wronguser.conf regra que proíbe todos os usuários 'errados / não autorizados' para o meu ssh e squirrelmail (que usa 'dovecot') e procura em /var/log/auth.log por seguir as seguintes linhas:
Aug 15 10:15:25 server auth: pam_unix(dovecot:auth): check pass; user unknown
Aug 15 10:15:25 server auth: pam_unix(dovecot:auth): authentication failure; logname= uid=0 euid=0 tty=dovecot ruser=alumni rhost=14.141.17.167
e
Aug 15 12:39:10 server sshd[5851]: pam_unix(sshd:auth): check pass; user unknown
Aug 15 12:39:10 server sshd[5851]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=91.224.160.106
junto com a linha única para proibição do usuário do ssh root :
Aug 15 05:50:20 server sshd[20677]: Failed password for root from 62.147.227.164 port 55253 ssh2
A regra é:
[INCLUDES]
before = common.conf
[Definition]
_daemon = (?:sshd|postfix/smptd)
failregex = ^%(__prefix_line)s[iI](?:llegal|nvalid) user .* from <HOST>\s*$
^%(__prefix_line)sFailed (?:password|publickey) for root from <HOST>(?: port \d*)?(?: ssh\d*)?$
dovecot.*user unknown\n.*dovecot.*authentication failure.*rhost\=<HOST>
ingoreregex =
[Init]
maxlines = 2
está incluído na jail.local como:
[wronguser]
enabled = true
port = 1:65535
filter = wronguser
logpath = /var/log/auth.log
maxretry = 1
bantime = -1
O padrão apt-get fail2ban no Ubuntu LTS 14.04 é 0.8.11 e não está funcionando com o multilex regex. Então você deve instalar manualmente o último fail2ban estável. Eu fiz isso diretamente do repositório do git.