bloqfor
Publicado por Eduardo Vieira Mendes 08/05/2008
[ Hits: 5.078 ]
Script para bloqueio automático de IP por tentativa de ataque Brute Force (força bruta).
** Identifica o IP atacante.
** Bloqueia automaticamente o mesmo.
**Envia relatório sobre o IP atacante.
#!/bin/sh ################################################################# # Script para localizar IP da tentativa de acesso por brute force # ao servidor SSH # Criado por: # Eduardo Vieira Mendes # eduardovmendes@gmail.com # LUS: 298813 # 27/03/2008 ################################################################# # Variáveis log="/var/log/secure" bloq="/var/log/blocfor.log" linhas=`cat $bloq | wc -l` d=`date +%e` tmp="/tmp" #Mude para o e-mail que deseja receber os relatórios email="suporte@localhost.com.br" # Mude aqui o comando para reiniciar seu firewall firewall="/etc/init.d/iptables restart" #Pega os acessos ilegais e joga no arquivo temporário exec 3<&0 exec 0<$log while read i; do campos=`echo $i | wc -w` echo $i | grep Illegal | grep $d | cut -d" " -f $campos >> /tmp/blocfor.tmp 2> /dev/null done exec 0<&3 #Pega apenas o IP que mais tentou quant=`cat /tmp/blocfor.tmp | sort | uniq -c | sort -nr | head -1 | cut -f 1` #Sistema #Se o Ip tentou conectar mais de 8 vezes significa que realmente e um ataque por brute force #Você pode mudar este número pois depende se você tem aquele funcionário "esperto" que consegue errar #o nome de usuário dele mais de 8 vezes! :D if [[ -n $quant ]] && [[ $quant -ge 8 ]] then ip=`cat /tmp/blocfor.tmp | sort | uniq | sort -nr | head -1` tip=1$ip rm -rf /tmp/blocfor.tmp rm -rf $tmp/blocfor.sh.* if [ $tip <> 1 ] then echo $ip >> $bloq sort $bloq | uniq > $tmp/blocfor.sh.$$ rm -rf $bloq mv $tmp/blocfor.sh.$$ $bloq linhas2=`cat $bloq | wc -l` if [ $linhas -ne $linhas2 ] # Se o valor de ips aumentou, entao o firewall deve ser restartado then $firewall echo "Acesso indevido ao SSH pelo ip: $ip - $quant tentativas - Automaticamente bloqueado" | mail -s "Acesso indevido" $email fi fi # Descomente as linhas abaixo para deixar um echo toda vez que o script rodar e não encontrar # nenhuma ataque por brute force. Não recomendo pois vamos colocar o script para rodar # de hora em hora através do agendador CRON. # Se descomentar estas linhas você vai receber 24 e-mails por dia informando se houve ou não # tentativa de invasão. #else # echo "Nenhum acesso por force brute ao sistema hoje!" fi exit 0 # FIM DO SCRIPT #======================================================================= # IPTABLES # Adicione as seguintes linhas ao final do seu firewall # Este exemplo é para o Iptables - Modifique conforme suas necessidades! #for i in `cat /var/log/blocfor.log` #do # echo "Bloqueando IP por tentativa de brute force $i" # $IPTABLES -A INPUT -s $i -j DROP #done #======================================================================= # CRON # Adicione a seguinte linha ao seu /etc/crontab #00 * * * * root /usr/local/bin/locfor.sh
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - CRIANDO USUÁRIOS A PARTIR DE ARQUIVO
Cadastro de usuarios para proxy autenticado
Pequeno sistema de backup (Rsync + SAMBA + Tar + FTP)
Configuração do VNC Server no Display 0 (terminal que estiver na tela)
Nenhum comentário foi encontrado.
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Comparação entre os escalonadores BFQ e MQ-Deadline (acesso a disco) no Arch e Debian
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (4)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (14)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (0)