Bloqueia ataques do tipo bruteforce
Publicado por Anonymous Misteryous 06/08/2007
[ Hits: 10.000 ]
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!
#!/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
Backup de vários servidores, diferenciado a rotina pela aplicação
Script para rodar software Mr Bayes em paralelo
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - APAGA AS MSG <.APAGADAS> GERADAS PELO SCRIPT delete_all_u
ADMINISTRANDO USUARIOS COM XDIALOG
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Dificuldade para renderizar vídeo no kdenlive (8)
Linux não é para todo mundo (2)