Re: kleines netzwerk tool

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Wed, 24 Jan 2007 12:11:49 +0100 (CET)

Marian Hettwer wrote:
> [...]
> Mir gings ja vielmehr darum selbst zu testen wie sich der Apache
> verhält wenn ich als Client das FIN ignoriere.

Es gibt bei Apache eine Doku, in der es um die Problematik
sogenannter halboffener (oder halbgeschlossener) Verbin-
dungen geht. Das ist genau das, was passiert, wenn nur
eine der beiden Seiten die Verbindung zumacht, die andere
aber nicht (was übrigens durchaus vollkommen legal ist).

http://httpd.apache.org/docs/1.3/misc/fin_wait_2.html

> > Inwiefern ignorieren die anderen den Verbindungsabbau?
>
> Man kann in der Apache prozessliste (server-status) recht gut sehen,
> dass die Anfrage reinkommt, vom Apachen mit einem BAD-REQUEST
> beantwortet wird (woraufhin der Apache gerne die Verbindung beenden
> würde), aber die gegenseite ist recht unbeeindruckt und hält
> die Verbindung offen (schickt aber keine weiteren Anfragen).

Typischer Fall von Protocol-mismatch. Der Client spricht
kein HTTP, woraufhin der Server eine HTTP-konforme Fehler-
meldung produziert, die aber der Client logischerweise
nicht versteht. Vielleicht wartet der Client auf bestimmte
Schlüsselworte seines P2P-Protokolls, die aber der Server
natürlich nie sendet. Darüberhinaus hat der Client offen-
bar einen Programmierfehler, der bewirkt, dass er das EOF
von der Gegenseite nicht feststellt.

> Verschwinden tut die entsprechende Verbindung scheinbar erst,
> nachdem der Timeout erreicht ist. In wiefern ich das so korrekt
> interpretiere weiss ich auch nicht... Ich müsste mich wohl mal mit
> tcpdump auf die Lauer legen. Das wird aber schwieriger, da diese
> Angriffe nur kurz, aber dann intensiv, auftreten. Wann sie auftreten
> ist ebenfalls unklar.

Ich glaube nicht, dass es sich um gezielte Angriffe han-
delt, sondern eher um Zufall.

Einen gezielten DoS-Angriff auf einen Webserver kann man
einfacher und effizienter machen, wenn man will. :-)

Übrigens, der Tip von Bernd bzgl. HTTP-Accept-Filter im
Kernel solltest Du ausprobieren; vermutlich hilft das
tatsächlich in Deiner Situation. Ist relativ einfach;
Du musst nur die Kernel-Option einschalten (gibt's auch
als Kernel-Modul »accf_http«, das Du laden kannst, aber
das habe ich noch nicht ausprobiert). Apache verwendet
das automatisch, wenn es der Kernel unterstützt; Du
musst ihn nur neu starten (neu compilieren ist nicht
erforderlich, AFAIK).

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.
"... there are two ways of constructing a software design:  One way
is to make it so simple that there are _obviously_ no deficiencies and
the other way is to make it so complicated that there are no _obvious_
deficiencies."        -- C.A.R. Hoare, ACM Turing Award Lecture, 1980
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Wed 24 Jan 2007 - 12:13:31 CET

search this site