Bloqueia ataques do tipo bruteforce

Publicado por Anonymous Misteryous 06/08/2007

[ Hits: 9.991 ]

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

Teste de desempenho com números primos em BASH

Cadastro automatizado para DHCP, Sarg, ethers e hosts

Acesso remoto via SSH sem senha

Go Script - Inicia sessões ssh

Kernel 4.0 para Ubuntu, Linux Mint, Lubuntu e derivados


  

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