Bloqueia ataques do tipo bruteforce

Publicado por Anonymous Misteryous 06/08/2007

[ Hits: 10.318 ]

Download bruteforce_block.sh




Script para bloqueio de ataques do tipo bruteforce em servidores ftp.

Atualmente para proftp slackware, mas, somente mudar o caminho onde o log se encontra.

Está comentado a parte do bloqueio do ip via iptables, somente envia email ao admin alertando.

Comentário são bem vindos sempre!

  



Esconder código-fonte

#!/bin/bash
#Danyllo Carvalho
#A ideia da expressao attemps eh do Mastah
#Aquele abraco


principal(){
echo ''
echo ''
echo -e '\e[33;1m                 Bloqueio de tentativas bruteforce em ftp \e[m'
echo -e '\e[33;1m                             Danyllo Carvalho\e[m'
echo -e '\e[33;1m                              Bruteforce_block.sh\e[m'
echo ''
echo ''
data=`date +%Y_%m_%d`   
ips=$(cat /var/log/proftpd.log |grep -i "no such user found" | awk -F" " '{ print $15}')
attempts=1

   if [ -z "$ips" ] ; then

   exit

   else
#   fi
   for ip in $ips; 
   do

   lastip=$ip
   if [ "$lastip" == "$ip" ] ; then
      attempts=$(expr $attempts + 1)

#Eis a matada do Mastah, com certeza eu demoraria bem mais tempo pra sacar dessa forma
#Lista as ocorrencias e cria essa expressao como condicao, so vai printar se for maior ou igual a #15 ocorrencias
   if [ $attempts -ge 15 ] ; then
echo "Possivel ataque por forca bruta detectado  -------> $ip"
   attempts=1
   lastip=""

   fi
   fi

   done
   sleep 2
fi
enviar
}

enviar(){

maquina=`uname -n`
mensagem="Bom dia, Venho atraves deste informar-lhe que os seguintes enderecos estao tentando um ataque do tipo Brute Force no servidor $maquina, o seguinte endereco foi logado ($ip), o qual pode ser bloqueado manualmente no termino do script.Admin"

echo -en "\n\n\n"
echo -e '\e[33;1m Enviando Relatorio, por favor aguarde...\e[m'
echo -en "\n"
   sleep 2

#Essas sao as variaveis que voce vai alterar de acordo com seu smtp, o #servidor que vai enviar as mensagens
(echo 'HELO localhost';sleep 1
echo 'MAIL FROM: admin@seuserver.com';sleep 1
echo 'RCPT TO: admin@seuserver.com';sleep 1
echo 'DATA';sleep 1
echo 'MIME-Version: 1.0';sleep 1
echo 'FROM: danyllo';
echo 'TO: Administrador <admin@seuserver.com>';
echo 'SUBJECT: Tentativa de ataque';
echo '';
echo '';
echo "$mensagem.";
echo '';
echo '';
echo '.';
echo 'QUIT'; ) | nc -t ip.seu.smtp. 25


#Limpo o log fazendo o backup do mesmo pela data em pt_br
cp /var/log/proftpd.log /var/log/proftpd.log_$data
cat /dev/null >/var/log/proftpd.log
exit
}

bloqueio()
{

echo -en "\n\n"
echo -e '\e[33;1m Ja foi enviado um email ao administrador, deseja bloquear o endereco de onde parte o ataque? (y/n).\e[m\n'
   read resp

   if [ "$resp" == "y" ] ; then
#iptables -A INPUT -s $ip -j DROP
echo "IP $ip foi pra lista de drop"
         
       else
   echo " RESPOSTA FOI NAO!"
   fi
}
principal

Scripts recomendados

Update aMSN

Tabela de cores em shellscript

Script para correção de arquivos Makefile usando comando patch

Adicionar usuario

Troca de link em caso de queda de Internet (FAILOVER)


  

Comentários
[1] Comentário enviado por guped em 27/02/2008 - 14:52h

o arquivo não esta anexo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts