bloqfor
Publicado por Eduardo Vieira Mendes 08/05/2008
[ Hits: 5.247 ]
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
Bash script para converter decimal para hexadecimal mole!
duplex_record: mixando áudio do microfone e saída de áudio de um programa via P
Nenhum comentário foi encontrado.
Como rodar o Folding@home no Linux
Criando um painel de controle (Dashboard) para seu servidor com o Homepage
O Abismo entre o Código e o Chão: Saltos Tecnológicos e a Exclusão Estrutural no Brasil
Instalar e Configurar a santíssima trindade (PAP) no Void Linux
NixOS + NVIDIA antiga: como sobreviver ao driver 595 (GTX 750 Ti / Maxwell)
Conhecendo o tmux: Multiplexador de Terminal
Acessando página do Syncthing fora da máquina local
[Resolvido] Meu monitor suporta 100fps. Por que o máximo é 60fps nos jogos?
SystemD e mais polêmicas. (10)
OpenClaude - toda IA joga mais que neymar (4)
Novos requisitos de sistema para a versão 26.04 (4)









