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
}