Enquanto lia o primeiro parágrafo, estava pensando em fail2ban
.
O maior problema aqui é detectar um usuário ruim. Se você fizer isso manualmente, ignore fail2ban
e use sudo ufw deny from 1.2.3.4
. Isso será um bloqueio permanente, mas lá vai você.
fail2ban
funciona melhor quando o seu sistema (qualquer serviço, incluindo um site dinâmico) envia coisas para os registros (syslog ou serviço específico). fail2ban
tem uma pilha de coisas para procurar e depois o que fazer se encontrar coisas.
Por exemplo, estou empregando atualmente um fail2ban
plugin para o Wordpress que envia eventos para o syslog. O fail2ban detecta três tentativas incorretas e bloqueia o IP por cinco minutos. É uma coisa genial que bloqueia ataques de força bruta. Eu menciono esse plugin como um bom exemplo de um simples conjunto de regras customizadas. É fácil ver como funciona e adaptá-lo às suas próprias necessidades.
A notificação por e-mail é bem simples , mas você pode ir além e emax O nmap verifica novamente . Pensando nisso, pode valer a pena executar o IP através de um whois, extraindo o email de abuso e enviando automaticamente um relatório de abuso quando você bane um usuário (explicando o motivo).