Bloqueia ataque de força bruta usando lastb e iptables

2

Usando o comando linux lastb , descobri que meu servidor é atacado por força bruta de muitos IPs diferentes ao redor do mundo! Eu desenvolvi um script para detectar invasores de força bruta por lastb e bloqueá-los por iptables . Aqui está o script:

#!/bin/bash

cd /root/
windowSize=100
tresh=10
lastb | head -n $windowSize | awk '{print $3}' | uniq -c > .ips
nlines='wc .ips -l | awk '{print $1}''
END='expr $nlines - 1 '
for i in 'seq 0 $END';
do
        range='expr $nlines - $i'
        count='tail .ips -n $range | head -n 1 | awk '{print $1}''
        if [ $count -gt $tresh ] ; then
                IP='tail .ips -n $range | head -n 1 | awk '{print $2}''
                if [ ! -z .blips ] ; then
                        touch .blips
                fi ;
                blocked='cat .blips | grep $IP -c'
                if [ $blocked = '0' ] ; then
                        echo blocking $IP
                        iptables -A INPUT -s $IP -j DROP
                        echo $IP >> .blips
                fi ;
        fi;
done
rm .ips

Isso pode causar algum problema se eu executar este script por crond a cada hora?

    
por lashgar 24.09.2012 / 11:39

3 respostas

3

Sim, você não está tomando nenhuma medida para garantir que os endereços IP dos quais você se conecta ao sistema sejam excluídos, para que você possa se bloquear fora do sistema.

Uma solução melhor é instalar o fail2ban que é amplamente usado para fazer exatamente o que você está tentando Faz.

    
por 24.09.2012 / 11:53
2

A solução sugerida é inexistente (ou inteligente) no sentido de que ela não salva o IPTABLES, portanto as alterações feitas no IPTABLES serão perdidas na próxima inicialização.

Você deve salvar seus IPs bloqueados, confirmando-os: / sbin / service iptables save

MUDANÇA feito / sbin / service iptables salvar rm .ips

Por outro lado, como o sistema é uma automação, talvez seja melhor fazer o commit manualmente depois de ver as alterações em .blips

    
por 29.01.2015 / 11:32
1

DenyHosts ou Fail2ban funcionarão melhor do que a maioria dos scripts personalizados feitos em casa.

link

link

    
por 24.09.2012 / 13:14