Você pode filtrar os IPs com "LOGIN FAILED" e aí utilizar o comando
"uniq -c" para contar cada IP, exemplo:

$ grep "LOGIN FAILED" temp.txt | grep -o "ip=\[.*\]" | sort | uniq
-c
     12 ip=[::ffff:189.126.109.221]

O resto é com você.

> -----Original Message-----
> From: ricardoscript
> 
> Pessoal, estou precisando de um script que leia meu arquivo 
> mail.log e ao encontrar a palavra "LOGIN FAILED" vindo de um 
> mesmo IP por mais de 6 vezes ele execute o comando iptables 
> -A INPUT -s xxx.xxx.xxx.xxx(IP atacante) -j DROP
> 
> Segue corte de meu mail.log onde se observa a tentativa de
brute-force
> Por qualquer ajudo, estou desde já agradecido.
> 
> Feb 20 09:20:35 matrix pop3d: Connection,
ip=[::ffff:189.126.109.221]
> Feb 20 09:20:35 matrix pop3d: LOGIN FAILED, user=staff, 
> ip=[::ffff:189.126.109.221]
> (...)
> 

Responder a