Re: frag oder nicht?

From: Oliver Fromme <olli(at)secnetix.de>
Date: Mon, 29 Apr 2002 23:08:45 +0200 (CEST)

Oli Kuemmel <bsd(at)gvs.dyn.bawue.de> wrote:
> [frags sperren oder durchlassen?]
> Ich frage mich nun wie ich am besten damit umgehe - durchlassen
> oder blocken? Und wie/warum entstehen fragmentierte Pakete?

IP-Pakete werden fragmentiert, wenn sie größer als die MTU
(maximum transmission unit) sind. Die MTU gibt an, wie
groß ein Paket physikalisch maximal sein darf, inkl. den
IP-Headern. Bei Ethernet sind das typischerweise 1500
Bytes (siehe ifconfig), kann aber auch mehr oder weniger
sein.

Paßt ein Paket nicht in die MTU, wird es vom IP-Stack frag-
mentiert, d.h. einfach in mehrere Pakete aufgeteilt.

Dabei entsteht für Paketfilter (wie ipfw) ein Problem:
Viele der Attribute, nach denen man Filtern möchte (z.B.
Portnummern) sind nur im ersten Fragment enthalten, nicht
aber in den nachfolgenden. Bei diesen ist es also erheb-
lich schwieriger, festzustellen, ob sie »gut« oder »böse«
sind. Der Filter müßte eine komplette Reassemblierung der
Fragmente durchführen, um festzustellen, welche der Frag-
mente zusammengehören. Das wäre mit einem erheblichen Auf-
wand verbunden.

Ein weiteres Problem war, daß viele IP-Implementationen
Bugs hatten, die dazu führten, daß Fragmente mit »seltsa-
men« Offsets zu Fehlverhalten des IP-Stacks bis hin zu
Crashes des Betriebssystems führten. Wahrscheinlich ist
es dieser Aspekt, der zu dem Ratschlag führte, Fragmente
generell zu sperren. Ich denke aber, daß diese Gefahr in-
zwischen nicht mehr existiert, vor allem nicht bei den
BSDs.

Auf Anwendungsebene wiederum kann ein herumschwirrendens
Fragment nichts ausrichten, da es ohne das zugehörige
Initialfragment schon vom Kernel geschluckt wird.

Daher tendiere ich zu der Auffassung, daß es sinnvoll ist,
Fragmente passieren zu lassen. Eine konkrete Gefahr gibt
es meiner Meinung nach nicht. Andererseits kann man sich
unter Umständen subtile Probleme einhandeln, wenn man Frag-
mente komplett sperrt (es kann aber auch gut sein, daß man
nie eine Fragmentierung benötigt).

> Btw: Gibt es empfehlenswerte Links zum Thema ipfw, vorallem
> Beispielkonfigurationen, gut dokumentiert?

Die beste Empfehlung ist wohl, sich ein Buch über TCP/IP
und Firewalls/Paketfilter zu kaufen. Es ist sehr wichtig,
die Grundlagen zu verstehen, um ein Konzept und eine Kon-
figuration zu erstellen, die ein Maximum an machbarer Si-
cherheit bietet und dabei die gewünschte Funktionionaliät
sowenig wie möglich einschränkt. An einigen Stellen wird
man vielleicht Kompromisse eingehen müssen, aber um solche
Entscheidungen fundiert treffen zu können, muß man wissen,
wie das ganze überhaupt funktioniert.

Eine fertige Konfiguration zu nehmen und dann Pi-mal-Daumen
abzuändern ist eher eine ganz schlechte Idee. Eine falsche
Regel kann unwissentlich ein Loch hinterlassen und damit
den kompletten Filter aushebeln. Man braucht für sowas
eher kein »How-to«, sondern ein »Know-to«. Ein gutes Buch
halte ich dafür für unersetzlich.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 29 Apr 2002 - 23:08:48 CEST

search this site