Bloqueando ataque de força bruta em ssh através de script bash
Publicado por Ricardo Lino Olonca 25/07/2007
[ Hits: 10.601 ]
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
Desligamento da máquina caso o servidor venha a sair do ar.
Script para Criação de ips para utilizar em controle de banda
Qual o maior número da variável RANDOM?
DNS SLAVE - Criacao de entradas
Copiando um arquivo matriz para vários outros com nomes diferentes...
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Warcraft II Remastered no Linux? (5)
O programa assinador digital (5)









