Bloqueia ataques do tipo bruteforce
Publicado por Anonymous Misteryous 06/08/2007
[ Hits: 10.009 ]
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
Compilando o apache2.2 com php5 e mysql5.1 no slackware
Libera conectividade social em rede com squid
Altera /etc/fstab colocando o parâmetro acl nas partições ext3.
Adicionando "automagicamente" usuários
Dell 1390 WLAN (Broadcom 4311)
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
Falta pacotes de suporte ao sistema de arquivos (Gerenciador de discos... (2)
Enzo quer programar mas não faz código pra não bugar (12)
Erro de Montagem SSD Nvme (12)
WebScrapping através de screenshot devido a bloqueios de Shadow DOM (1)