Bloqueando ataque de força bruta em ssh através de script bash
Publicado por Ricardo Lino Olonca 25/07/2007
[ Hits: 10.589 ]
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
Script de data e hora do sistema
Copiando um arquivo matriz para vários outros com nomes diferentes...
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
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
O programa assinador digital (1)
PIP3 - erro ao instalar módulo do mariadb para o Python (9)
É normal não gostar de KDE? (8)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









