Bloqueando ataque de força bruta em ssh através de script bash
Publicado por Ricardo Lino Olonca 25/07/2007
[ Hits: 10.684 ]
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 para start,stop de .jar
Embaralhando elementos de um vetor
Script para logar no diretorio em rede windows
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









