bloqfor
Publicado por Eduardo Vieira Mendes 08/05/2008
[ Hits: 4.881 ]
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
Registar automáticamente o dns de uma maquina no DNS via DHCP
Nenhum comentário foi encontrado.
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
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)
Problemas ao instalar o PHP (10)
Descompactar arquivos winrar no linux (9)
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (12)