Bloqueando ataque de força bruta em ssh através de script bash
Publicado por Ricardo Lino Olonca 25/07/2007
[ Hits: 10.714 ]
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
Calculadora com 4 operações e cálculo de porcentagem
Criar Script para apagar determinados arquivos
RIPADOR DE MP3 USANDO O DIALOG...
Verificar se o java está no PATH
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
Instalar Linux em notebook Sony Vaio VPCEG13EB (10)
Vou destruir sua infância:) (6)
Quando vocês pararam de testar distros? (24)









