Langsam gingen mir die dauernden Dictionary Attacks auf den neuen Webserver bei meiner Arbeit auf den Keks, vor allem flutet es einem die Mailbox, wenn man Tools wie LogSentry laufen hat. Eigentlich verhalten diese Scanner sich ja schon sowas von auffällig, daß man jede auffällige IP sofort in eine Blacklist entsorgen könnte. Da auf dem Server keine Firewall aktiviert ist (braucht ein sauber konfiguriertes System ja auch nicht), mußte ich mir überlegen, wie man die Hosts am besten blockiert. Da bietet sich natürlich /etc/hosts.deny prima für an. Also hab ich mir - Gentoo sei Dank - alles gleich mal mit tcpd-Support neu compiliert. Ein bißchen Google beantwortete meine Frage schnell, wie ich die IPs von den Logfiles in die hosts.deny bekomme: DenyHosts.
Das Programm startet man am besten als Daemon. So überwacht es jetzt alle paar Sekunden die Logfiles auf schwachsinnige SSH-Loginversuche und sperrt die IP einfach aus. Praktischerweise kann es noch mit einem zentralen Server syncen, so daß ich auch IPs reinbekomme, die noch gar nicht versucht haben, bei mir zu connecten. Das Ding ist einfach wunderbar: Über 1000 Login-Versuche pro Tag sind auf gerade mal einen pro drei Tage zurück gegangen. Sogar reine Scans nach offenen SSH-Ports haben deutlich nachgelassen - eigentlich kommen sogar nur noch solche - Loginversuche gar keine mehr. Dafür gibt es ein “thumbs-up”. Endlich wieder Ruhe in der Mailbox.







21. November 2006 um 16:42
Sehr interessante Sache, nervt mich auch schon seit einer Weil. Werd ich mir bei nächster Gelegenheit auch mal aufsetzen. Danke!
21. November 2006 um 22:49
Tompson, vielen Dank für die Verlinkung und den Artikel in deinem Blog. Allerdings denk dran, eine IP (z.B. die Firmenfirewall) in die Whitelist einzutragen. Ist ärgerlich, extra ins RZ latschen zu müssen.
23. November 2006 um 09:10
Nachdem es jetzt schon ganz gut läuft ist mir der Gedanke auch schon gekommen. Könnt ja theoretisch passieren dass man sich ein paarmal vertippt
Danke auf jeden Fall für den Hinweis!
23. November 2006 um 09:46
Minimize dictionary attacks
For everybody who does not know it: it is possible to show all wordpress blog entries assigned to a specific tag by using the following URL schema: http://wordpress.com/tag/TAGNAME
I did this today for http://wordpress.com/tag/vdr/ and found out that t…
20. April 2007 um 19:11
Mit dem Gedanken habe ich früher auch mal gespielt.
Allerdings ist das ziemlich gefährlich, da mit gespooften Adressen schnell der ganze Server lahm gelegt werden kann. Dann können auch echte Kunden nicht mehr auf den Server.
Ich würde ich eine IP nie länger als eine Stunde sperren.
Sie sollte dann autom. wieder aktiviert werden. So kann man Attacken erfolgreich verhindern und verärgert keine normalen User.
21. April 2007 um 22:26
Mit einer gespooften Adresse kann kein vollständiger TCP-Connect initialisiert werden, so daß es gar nicht zu Log-Einträgen kommt, die von DenyHosts erkannt werden. Jedenfalls sehe ich das so, ohne es genauer geprüft zu haben. Das war jedenfalls bisher mein Verständnis von TCP/IP. Da steht dann höchstens im SSH-Protokoll, daß ein Host verbunden hat, ohne den Gruß zu schicken oder so… Und selbst wenn: Ja, die IPs verschwinden nach einiger Zeit wieder aus der Sperre…