SSH Port absichern – iptables 2


Es gibt immer mehr versuche sich über SSH zugang zu Rechnern zu verschaffen mit „bekannten“ Passwörtern, die einfach durchprobiert werden. Um das ein wenig einzuschränken habe ich ein kleines Skript erstellt, was nach 3 Fehlversuchen erstmal den Angreifer pausieren lässt.

[code lang=“bash“]

#!/bin/bash
IPTABLES=/sbin/iptables

$IPTABLES -A INPUT -m tcp -p tcp –dport 22 -m state –state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -m tcp -p tcp –dport 22 -m state –state NEW -m limit –limit 3/min –limit-burst 3 -j ACCEPT
$IPTABLES -A INPUT -m tcp -p tcp –dport 22 -j DROP
[/code]


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

2 Gedanken zu “SSH Port absichern – iptables

  • Michael

    Hi, pass damit aber auf: Auch erfolgreiche Logins werden auf diese Weise erfasst, d.h. du könntest ein Problem haben, wenn du dich in kurzer Zeit mehrfach einloggst. Das Limit gilt natürlich auch für automatisierte Logins (rsync etc..), was oft vergessen wird. Im Zweifelsfall würde ich eher Passwortlogins abschalten und alle blocken, die es per Passwort probieren. Das kann man nämlich bei eigenen Skripten und SSH-Clients abschalten 🙂

  • admin Autor des Beitrags

    Das ist was dran, aber nach 3 Minuten hat man ja wieder 3 Versuche ..
    Aktuell bin ich auch von der Lösung insofern wieder ab, da ich zusätzllich noch in der /etc/hosts.allow bzw. /etc/hosts.deny eingetragen habe von welchen Adressen Zugang erlaubt ist (schon wenn man nur Adressen aus de Bereich *.de nur zulässt ist man 90% der Probleme los – alles weiter ist Finetuning) – es gibt z.B. auch Tools wie „Denyhosts“ die dynamisch auf dem selben Weg eine „Sperrliste erzeugen – meine einfache Lösung mti ein paar erlaubten Adressen ist mir aber lieber.