Jeder der einen Linux Server im Internet betreibt wird dem Problem schon mal begegnet sein.

Ständig versuchen Script-Kiddies, Bots oder auch Cracker sich einen Zugang zum Server über SSH zu verschaffen.

Neben den grundlegenden Absicherungen des SSH-Servers in der /etc/ssh/sshd_config:

PermitRootLogin no
AllowUsers John Erwin
PasswordAuthentication no
UsePAM no

Sollte man seinen SSH-Port(22) auch noch durch zusätzliche Maßnahmen absichern.

Aktuell gibt es da Tools wie DenyHosts o.ä.

Man kann seinen Server aber auch mit den von Haus aus schon vorhanden Tools absichern wie z.B. iptables.

Mit Iptables wir uns die Funktion (recent) geliefert, die nach einer definierten Anzahl an "Connection Tries" die Verbindung für einen vorher definierten Zeitraum blockiert.

iptables -A ${CHAIN}INPUT -p tcp --dport 22 -s $OTHER_IP -d $OWN_IP  -m state --state NEW -m recent --set --name $i
iptables -A ${CHAIN}INPUT -p tcp --dport 22 -s $OTHER_IP -d $OWN_IP  -m state --state ESTABLISHED,RELATED -m recent --name $i --update --seconds $SECS --hitcount $HITS -j DROP

Die Variable $HITS definiert die Anzahl der Hits wann die Regel greifen soll. $SECS gibt an innerhalb welcher Zeit das ganze passieren darf und wie lange er die Verbindung blockiert.