Jan 08 2010

Como Analizar os Logs do Fail2Ban

Categoria: Linux=IceBurn= @ 20:40

Recentemente falei-vos do programa Fail2Ban, indicando a sua utilidade e como proceder à sua instalação.

Agora com o Fail2Ban instalado, vocês já estão a receber os email do sistema a alertarem-vos para as várias tentativas de intrusão.

Impressionante não é? Como hoje em dia os servidores estão constantemente a ser alvo de ataques de pessoas que gostam de tentar a sua sorte aproveitando um qualquer descuido de quem gere o servidor.

Pois bem, chegou a hora de começar a analisar os logs, quais os IP’s que são mais bloqueados? É isso que vos irei indicar neste artigo.

Já ficámos a saber anteriormente que o ficheiro com os logs do fail2Ban se encontram na seguinte localização:
/var/log/fail2ban.log

Claro que podemos simplesmente usar o comando cat e olhar para as centenas de linhas contendo os resultados do histórico do programa, mas para fazer uma análise precisa e facilitada vamos usar algumas das potencialidades do Linux.

Listar os IP’s precedidos do número de vezes que foram bloqueados (log principal fail2ban):

grep 'Ban ' /var/log/fail2ban.log | awk '{print $NF}' | sort | uniq -c

Exemplo do resultado:
8 125.212.25.203
10 130.251.104.10
1 137.229.180.42
1 169.229.222.206
...

O atributo -c do comando uniq indica o número de ocorrências na entrada indicada. O comando sort agrupa as entradas.

Listar os IP’s precedidos do número de vezes que foram bloqueados (todos os logs fail2ban):

zgrep -h 'Ban ' /var/log/fail2ban.log* | awk '{print $NF}' | sort | uniq -c

zgrep é o mesmo que a função grep, mas com uma particularidade, zgrep pesquisa também em ficheiros comprimidos (gzip), útil no caso de terem configurado a rotação dos logs do Fail2Ban para comprimir os logs antigos.
O atributo -h é para que a função não liste o nome dos ficheiros caso um arquivo contenha vários.

Indicar quantas vezes determinado IP foi bloqueado (todos os logs fail2ban):

zgrep -c 202.181.100.123 /var/log/fail2ban.log*

O atributo -c suprime os resultados habituais e actua apenas como contador, mas listará o nome dos ficheiros caso existam ficheiros comprimidos (gzip). Apenas substituam no comando o IP que querem pesquisar.

Número total de bloqueios a ataques e seus alvos agrupados por data (todos os logs fail2ban):

zgrep -h 'Ban ' /var/log/fail2ban.log* | awk '{print $5,$1}' | sort |  uniq -c

É sem dúvida boa ideia reportarem os IP’s abusivos às respectivas ISP’s, pode não servir de muito, mas pelo menos sempre fazemos algo de modo a tentar que estas pessoas sejam culpabilizadas por tais actos criminosos.

Certamente também irá gostar destes artigos

RSS 2.0 Não perca os meus artigos! Subscreva a minha feed RSS.

Etiquetas: , , , , , ,

Comentar Este Artigo