Re: Rechner zum Pingen

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Thu, 12 Aug 2004 17:01:22 +0200

On Thu, Aug 12, 2004 at 04:31:19PM +0200, Oliver Fromme wrote:
> Thomas Vogt <tv(at)solnet.ch> wrote:
> > Am Do, den 12.08.2004 schrieb Oliver Fromme um 13:14:
> > > FreeBSD bearbeitet ICMP-Pakete bereits während des Empfangs
> > > im Interrupt-Handler, so daß der Overhead und die Latenz
> > > relativ gering sind. Du kannst im übrigen die Rate, mit
> > > der ICMP-Pakete generiert werden, per sysctl begrenzen;
> > > siehe »net.inet.icmp« (dort speziell »icmplim«).
> >
> > Danke. Denke der Defaultwert ist ein Anfang. Den Rest sieht man dann im
> > Log.
> >
> > Besteht die Gefahr, dass die Kiste unter Last zusammenbricht, wenn man
> > den Wert auf unlimited (0) setzt. Vorausgesetzt jemand schickt sehr
> > viele icmp Packete.
>
> Wenn jemand in böser Absicht (DoS) Adressen fälscht, ist
> das denkbar; siehe Bernds Antwort. Das geht aber auch mit
> anderen Arten von Paketen, nicht nur Ping. (Andererseits

Nein - das geht in der Form tatsächlich nur mit ICMP.
Und ist auch keineswegs auf FreeBSD begrenzt, FreeBSD hat lediglich
eine Maßnahme dagegen default aktiviert.

> läßt sich das Problem mit geschicktem Filtern zumindest
> etwas eindämmen, indem Du z.B. keine Pakete von außerhalb
> Deines Netzes akzeptierst, die vorgeben, von einer Adresse
> in Deinem LAN zu kommen. Das sollte Standard in jedem
> Filterregelsatz sein.)

Ja.

> Mit regulären Pings ist das aber eher nicht so leicht ein
> Problem -- außer, wenn jemand mit einem Ping-Flood das
> Netzwerk (den Uplink oder was auch immer) dichtmacht.

Doch - gerade mit pings ist das ein Problem, da die Antworten vom
Kernel selber erzeugt werden und genauso groß sind wie der Request.
Nicht mal ein Syn-flood hat derartige Auswirkungen, da es hier
greifende Limitierungen gibt um die Auswirkungen auf den Ziel Socket
zu begrenzen, außerdem sind Syn Packete klein und auch die Kernel-
reaktionen sind klein.

> Aber dagegen kannst Du eh kaum etwas auf technischer
> Ebene unternehmen. Der sysctl beeinflußt ja nur die
> Rate der ICMP-Pakete, die Dein Rechner selbst erzeugt;
> aber die hereinkommenden können nach wie vor die Leitung
> plattmachen.

Ja - die Leitung schon, aber der Rechner läuft zumindest weiter
und ist aus dem Internen Netz noch ereichbar.
Das sehe ich schon als einen wesentlichen Unterschied an.
Nicht zuletzt da der Rechner sogar einen DoS erfährt, ohne das man
dafür viel Bandbreite benötigt - der DoS passiert ja nicht durch
ausfüllen der Bandbreite, sondern des Rechnerspeichers.

> Eine denkbare Maßnahme wäre, per Paketfilter (z.B. IPFW)
> ICMP-ECHO-Pakete zu sperren, die eine bestimmte Größe
> überschreiten. Du könntest auch alle Ping-Pakete durch

Gute Idee.

> eine Dummynet-Pipe schicken und sie auf diese Weise be-
> grenzen (generell oder pro IP).

Schlechte Idee, da du Packete ausbremst und wieder jemand über
hohe Laufzeiten oder Packetverluste klagen könnte.
Pro IP klingt aber wieder gut.
Letzlich aber ein erstaunlicher Aufwand für einen Ping Server ;-)

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 12 Aug 2004 - 17:02:45 CEST

search this site