Bloqueando ataque de força bruta em ssh através de script bash
Publicado por Ricardo Lino Olonca 25/07/2007
[ Hits: 10.520 ]
Homepage: ricardoolonca.blogspot.com.br
Como cuido de vários servidores em vários lugares, uso ssh para me conectar remotamente.
O problema é que, através de um ataque de força bruta, alguém pode invadir meus servidores. Uma forma de evitar isso é com um ids, mas também pode ser feito de uma forma simples através um script bash rodando via cron.
Esse script monitora os arquivos de log e bloqueia o ip de origem em um ataque de força bruta na porta ssh.
#!/bin/bash # IDS feito por Ricardo Lino Olonca em 22/05/2007 # Versao 0 # Variaveis log="/var/log/auth.log" bloqueados="/var/log/ids.log" linhas=`cat $bloqueados | wc -l` # Quantos ips ja foram bloqueados h=`date +%H` # Hora` d=`date +%e` # Dia` # Aqui eu listo todos os ips que tentaram se conectar ao meu servidor. # O "head -1" pega apenas o que mais tentou. Mude esse valor conforme necessário ip=`cat $log|grep "$d $h"|grep Illegal|cut -d: -f7|sort |uniq -c|sort -nr|awk '{print $2}' |head -1` tip=1$ip tmp="/tmp" syslog="/var/log/syslog" firewall="/etc/init.d/firewall" # Sistema rm -rf $tmp/ids.sh.* if [ $tip <> 1 ] # Só entra no "if" se alguém tentou conectar meu servidor na última hora then echo $ip >> $bloqueados sort $bloqueados | uniq > $tmp/ids.sh.$$ rm -rf $bloqueados mv $tmp/ids.sh.$$ $bloqueados linhas2=`cat $bloqueados | wc -l` if [ $linhas -ne $linhas2 ] # Se o valor de ips aumentou, então o firewall deve ser restartado then $firewall echo "`date` - Firewall restartado pelo ids - ip $ip" >> $syslog fi fi # No script do firewall deve ter a seguinte linha (sem as "#", lógico) # for i in `cat /var/log/ids.log` # do # iptables -A INPUT -s $i -j DROP # done
Configuração Apache e DNS (bind)
Instalador e ativador da placa Real 3D Captura.
Shell Script - para configurações de Vlans Cisco.
Criar lançadores de aplicativos no Unity
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)