Server gegen SSH-Bruteforce-Attacken schützen

Ich betreibe zu Hause einen kleinen Homeserver. Die Arbeit erledigt eine kleine Asus Eeebox. Diesen administriere ich mit SSH. Von aussen ist er durch DynDNS erreichbar. Ich merkte anhand der Logfiles, dass sich viele auf meinem Server einloggen wollten. Das sieht so aus:

emanuel@eeebox:/var/log
$ date
Don Dez 24 14:21:05 CET 2009
emanuel@eeebox:/var/log
$ grep "Failed password" auth.log | tail -5
Dec 24 14:19:37 eeebox sshd[18117]: Failed password for root from 61.130.246.111 port 54007 ssh2
Dec 24 14:19:42 eeebox sshd[18188]: Failed password for root from 61.130.246.111 port 54675 ssh2
Dec 24 14:19:46 eeebox sshd[18265]: Failed password for invalid user test from 61.130.246.111 port 55410 ssh2
Dec 24 14:19:51 eeebox sshd[18352]: Failed password for invalid user oracle from 61.130.246.111 port 56134 ssh2
Dec 24 14:19:56 eeebox sshd[18418]: Failed password for root from 61.130.246.111 port 56815 ssh2

Nun, wie kann ich mich schützen? Eine Lösung heisst “denyhosts” und wird unter Debian oder Ubuntu mit “sudo apt-get install denyhosts” installiert. Die Arbeit ist nun schon getan. Jetzt wird nach 5 Fehlversuchen die IP automatisch in die Datei “/etc/hosts.deny” geschrieben. Jetzt sehen wir die IP-Adresse, welche vorhin versucht hat meinen Server zu Bruteforcen:

emanuel@eeebox:~
$ grep sshd /etc/hosts.deny | tail -5
sshd: 188.36.106.177
sshd: 77.224.200.183
sshd: 59.44.177.234
sshd: 193.9.30.6
sshd: 61.130.246.111

Ich habe schon viele IP-Adressen in meiner Blacklist:

emanuel@eeebox:~
$ cat /etc/hosts.deny | grep sshd | wc -l
834

Gesperrte Einträge wieder entfernen

Es ist nicht ganz einfach gesperrte IP-Adresse wieder zuzulassen. Nötig ist das, wenn man sich selber rausssperrt. Das simple Löschen aus der Datei “/etc/hosts.deny” genügt leider nicht. Ich verzweifelte fast, aber folgendermassen kann man es machen:

Daemon stoppen:

emanuel@eeebox:~$ sudo /etc/init.d/denyhosts stop
 * Stopping DenyHosts denyhosts                                          [ OK ]

Wo arbeitet denyhosts?

emanuel@eeebox:~
$ grep -E "^WORK_DIR" /etc/denyhosts.conf
WORK_DIR = /var/lib/denyhosts

Dann öffnen wir alle Dateien in diesem Verzeichnis. Ich verwende den Editor vi (Hinweis: mit “:n” kann zur nächsten Datei gewechselt werden).

emanuel@eeebox:~$ vi /var/lib/denyhosts/*

Man löscht die gewünschte IP-Adresse

emanuel@eeebox:~$ vi /etc/hosts.deny

Und hier ebenfalls.

Jetzt ist man gegen Bruteforce-Angriffe geschützt.

Dieser Beitrag wurde unter Sicherheit abgelegt und mit , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

2 Antworten auf Server gegen SSH-Bruteforce-Attacken schützen

  1. gandro sagt:

    Sehr cool ist überigens http://wiki.hetzner.de/index.php/Knockd

    Der SSH-Port bleibt zu, bis man ein “geheimenes” Klopfzeichen auf die Ports schickt, so dass diese darauf hin geöffnet werden. Natürlich doof, wenn man das Klopf-Tool nicht zur Hand hat. Da hilft dann wohl nur eine andere Portnummer als den SSH-Standardport zu verwenden.

  2. Emanuel Duss sagt:

    Schaute ich auch schon mal an, aber weil mit so ein Klopf-Tool häufig fehlt und ich nicht dem Tool nachrennen will, entschied ich mich gegen dieses Tool… Aber interessant ist es allemal!

Hinterlasse eine Antwort

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

*

*


Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>