Re: server schützen gegen ssh wörterbuchattacken

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Mon, 19 Sep 2005 11:01:55 +0200 (CEST)

Alexander Dalloz <ad+lists(at)uni-x.org> wrote:
> [...]
> pass in on $ext_if proto tcp to $ext_if \
> port ssh flags S/SA keep state \
> (max-src-conn-rate 15/5, overload <ssh_spammer> flush)

Ein paar kleine Ergänzungen hierzu:

Eine andere Idee, von der ich mal gelesen hatte, verwendet
ebenfalls einen Paketfilter, aber nicht PF, sondern IPFW
mit DUMMYNET. Und zwar werden damit alle Setup-Pakete auf
Port 22 (SYN) durch eine extrem langsame (und kurze) Queue
durchgeschleust, die pro Source-IP-Adresse maskiert wird.
Die Daten der aufgebauten Verbindung (nach dem Setup) wer-
den natürlich ganz normal schnell durchgeleitet. Somit
sind von derselben IP-Adresse nur wenige Connect-Versuche
pro Minute möglich, je nachdem, wie man die Queue konfigu-
riert hat. (Einen vergleichbaren Effekt könnte man sicher-
lich auch mit ALTQ erreichen.) Dies ist eine recht clevere
und einfach einzurichtende Alternative, allerdings habe ich
das selbst noch nicht ausprobiert und kann daher nichts
über die praktische Wirkung und evtl. Nachteile sagen.

Eine weitere Möglichkeit bestünde darin, den sshd unter der
Kontrolle des inetd zu starten. Damit stehen automatisch
alle Features des inetd zur Verfügung, darunter auch eine
Form des Connection-limiting (wenn auch unabhängig davon,
ob ein Login erfolgreich ist oder nicht).

Zur Konfiguration eines solchen Setups siehe die Kommando-
zeilenoptionen -C und -s des inetd(8) bzw. die Konfigura-
tionsparameter »max-child-per-ip« und »max-connections-per-
ip-per-minute« in der inetd.conf. Den sshd muß man dann
in /etc/rc.conf auf "NO" setzen und stattdessen mit der
Option -i (siehe die sshd(8)-manpage) aus /etc/inetd.conf
heraus starten.

Allerdings hat das Ganze auch Nachteile, in erster Linie
bezüglich der Performance, daher kann man es in der Praxis
nur auf kleineren Systemen machen, auf denen nicht viele
(legale) Logins stattfinden.

Und last-but-not-least muß man erneut erwähnen, daß _alle_
genannten Möglichkeiten des Connection-Limiting oder gar
Blacklisting / Aussperren von Adressen oder Logins den
Nachteil haben, daß sie die Möglichkeit für einen DoS-An-
griff bieten (mit mehr oder weniger viel Aufwand des An-
greifers). Dies gilt für »MaxStartups« (o.ä.) des sshd
selbst oder des inetd ebenso wie für Möglichkeiten per
Paketfilter oder spezielle PAM-Module oder Log-Auswerter.
Als Admin sollte man sowas immer im Hinterkopf behalten,
damit man nicht möglicherweise den Teufel mit dem Belzebub
austreibt.

Gruß
   Olli

-- 
Oliver Fromme,  secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing
Dienstleistungen mit Schwerpunkt FreeBSD: http://www.secnetix.de/bsd
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"A language that doesn't have everything is actually easier
to program in than some that do."
        -- Dennis M. Ritchie
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 19 Sep 2005 - 11:03:08 CEST

search this site