Bloqueando ataque de força bruta em ssh através de script bash
Publicado por Ricardo Lino Olonca 25/07/2007
[ Hits: 10.704 ]
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
Gerador de senhas personalizadas
Estatísticas de tráfego de rede
Monitora HD e envia e-mail caso atinja a um limite utilizado
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Problema com som no laptop (5)
Quando vocês pararam de testar distros? (11)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









