Maddin: Vorfälle im auth.log meines Servers

Beitrag lesen

Hallo Mathias

Kennt jemand eine Möglichkeit wie man solche Versuche unterbinden kann? z.B. die IP blocken nach x Fehlversuchen?

Ich mache das mit dem folgenden Skript, wobei da noch etwas unützer Code drin ist, da ich das erweiterbar halten wollte.
Wenn sich jemand mit falschem Paßwort oder Namen anmelden will, wird die IP für 30 Sekunden gesperrt.

#!/bin/bash

logfile=/var/log/auth.log
target=REJECT

function deny
{
#echo "Verweigere $1 $2"
iptables -I INPUT -p tcp -s $1 --dport $2 -j $target
sleep 30
#echo "Erlaube $1 $2"
iptables -D INPUT -p tcp -s $1 --dport $2 -j $target
}

function sshhandler
{
if [[ echo $1 | cut -s -d" " -f6,7 = "Illegal user" ]]
then
#    echo $1
    deny echo $1 | cut -s -d" " -f10 22 &
else
if [[ echo $1 | cut -s -d" " -f6,7,8 = "(pam_unix) authentication failure;" ]]
then
#    echo $1
    deny echo $1 | cut -s -d" " -f14 | cut -s -d"=" -f2 22 &
fi
fi
}

tail -n1 --follow=name --retry $logfile 2> /dev/null |
{
    read

while true
      do

read str

service=echo $str | cut -s -d" " -f5

case "${service:0:4}" in
    "sshd")
        sshhandler "$str"
        ;;
    esac

done
}