bloqfor
Publicado por Eduardo Vieira Mendes 08/05/2008
[ Hits: 5.079 ]
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
Instale o driver proprietário Nvidia baixado do site oficial em qualquer distro
Conversor de logs do svn para rss
Script para encontrar arquivos .wam, .mpeg
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)