Es gibt sicherlich viele wege SSH Angiffe abzuwehren wie z.B SSH Port ändern, Fail2ban u.s.w. Ich habe mich mit Fail2ban im Rücken für folgende Lösung entschieden.
Getestet und seit einem halben Jahr im Einsatz auf Debian 7.
Vorab noch ein paar Info's:
Achtung: Die Regeln ziehen sofort nach dem Speichern der Dateien.
Mit #who könnt ihr sehen über welchen Provider ihr gerade angemeldet seit. Bitte nicht die gesammte Kennung unter /etc/hosts.allow eingeben. Es genügt der letzte Teil wie z. B. .vodafone-ip.de Der vordere Teil ist ja in der Regel dynamisch und kann sich ändern. Die 127.0 sollte aber auf jeden Fall mit dabei sein. Sonst kann es sein dass der ein oder andere Cron Job oder interne Dienst der SSH benötigt nicht mehr funktioniert.
Am besten macht ihr zwei SSH Sitzungen auf. Auf der einen Sitzung könnt ihr die Dateien anpassen, abmelden und wieder anmelden. Sollte die Anmeldung nicht mehr funktionieren, könnt Ihr immer noch auf der zweiten SSH Sitzung die Änderungen rückgängig machen.
Mit "tail -f -n 1000 /varlog/auth.log | grep refused" könnt ihr zusehen wie die Verbindungen abgelehnt werden. Ihr bekommt natürlich erst eine Ausgabe auf dem Bildschirm nachdem sich jemand versucht per SSH an eurem Server anzumelden. Oder ihr seht unter/var/log/sshd.log nach, dort werden die abgelehnten SSH Verbindungen mitgeloggt.
Genug getextet... jetzt werden folgende zwei Dateien anpasst...
Folgendes in der Datei /etc/hosts.allow am Ende hinzufügen:
Folgendes in der Datei /etc/hosts.deny am Ende hinzufügen:
Bitte achtet darauf, das nach dem einfügen der Änderungen am Ende ein Return steht.
cu
dexcom
Getestet und seit einem halben Jahr im Einsatz auf Debian 7.
Vorab noch ein paar Info's:
Achtung: Die Regeln ziehen sofort nach dem Speichern der Dateien.
Mit #who könnt ihr sehen über welchen Provider ihr gerade angemeldet seit. Bitte nicht die gesammte Kennung unter /etc/hosts.allow eingeben. Es genügt der letzte Teil wie z. B. .vodafone-ip.de Der vordere Teil ist ja in der Regel dynamisch und kann sich ändern. Die 127.0 sollte aber auf jeden Fall mit dabei sein. Sonst kann es sein dass der ein oder andere Cron Job oder interne Dienst der SSH benötigt nicht mehr funktioniert.
Am besten macht ihr zwei SSH Sitzungen auf. Auf der einen Sitzung könnt ihr die Dateien anpassen, abmelden und wieder anmelden. Sollte die Anmeldung nicht mehr funktionieren, könnt Ihr immer noch auf der zweiten SSH Sitzung die Änderungen rückgängig machen.
Mit "tail -f -n 1000 /varlog/auth.log | grep refused" könnt ihr zusehen wie die Verbindungen abgelehnt werden. Ihr bekommt natürlich erst eine Ausgabe auf dem Bildschirm nachdem sich jemand versucht per SSH an eurem Server anzumelden. Oder ihr seht unter/var/log/sshd.log nach, dort werden die abgelehnten SSH Verbindungen mitgeloggt.
Genug getextet... jetzt werden folgende zwei Dateien anpasst...
Folgendes in der Datei /etc/hosts.allow am Ende hinzufügen:
Code:
# Erlaube SSH verbindungen von folgenden Provider/n.
# Bitte nicht vergessen den eigenen Provider einzutragen, sonst seit Ihr ausgesperrt.
# Es können wie im Beispiel mehrere Provider durch ein Leerzeichen gtrennt eingefügt werden.
sshd : 127.0 .dip.t-dialin.net .t-ipconnect.de .vodafone-ip.de .kabelbw.de .kabel-badenwuerttemberg.de : allow
Folgendes in der Datei /etc/hosts.deny am Ende hinzufügen:
Code:
# Alle SSH Verbindungen die nicht in der hosts.allow erlaubt sind ablehnen und Logfile schreiben.
sshd: ALL \
: spawn /bin/echo `/bin/date` access denied to %h>>/var/log/sshd.log \
: deny
Bitte achtet darauf, das nach dem einfügen der Änderungen am Ende ein Return steht.
cu
dexcom