Re: Ipfw und keep-state

From: Patrick Hess <patrick_hess(at)t-online.de>
Date: Thu, 26 Jun 2003 20:49:04 +0200

Hallo,

Philon schrieb:
> # ipfw show
> 00010 12 1188 allow ip from any to any via lo0
> 00011 0 0 deny ip from any to 127.0.0.0/8
> 00012 0 0 deny ip from 127.0.0.0/8 to any
> 00225 0 0 deny log logamount 100 tcp from any to any
> in tcpflags fin,syn
> 00230 0 0 check-state
> 00240 23312 10027339 allow ip from any to any keep-state
> 09000 0 0 deny log logamount 100 ip from any to any
> 65535 61 7534 deny ip from any to any

Also, deine Regel 00240 erlaubt alle Pakete. Steht ja da: "allow ip
from any to any". Ich denke aber eher mal, du willst eine
dynamische Liste nur für ausgehende Pakete, oder? Dann müßtest du
zunächst mal deine 00240 dahingehend ändern, daß nur ausgehende
Pakete erfaßt werden.

Damit hälst du aber noch keine Pakete zurück. Dafür brauchst du eine
Regel ähnlich

        deny tcp from any to any established

welche du auf jeden Fall zwischen deiner Regel 00230 und 00240
einfügen mußt.

Ich denke mal, du möchtest damit nur den Verkehr ins Internet
beschränken, oder? Dann solltest du sämliche Regeln auf das
Dial-Up-Interface (z.B. tun0) beschränken:

        check-state
        deny tcp from any to any via tun0 established
        allow tcp from any to any keep-state out xmit tun0 setup

Dann sollte es eigentlich gehen.

> Nun frag ich mich einerseits wie irgendwas an Regel 9000
> vorbeigehen kann um so NICHT ins Log zu kommen.

Vielleicht sind das Pakete, die an dem Rechner angekommen sind,
bevor die anderen Regeln gesetzt wurden (z.B. während der Boot-
Phase).

> Dann kommt für
> mich aber die viel wichtigere Frage: warum geht immernoch ALLES
> an Netzwerkverkehr rein wie raus?

Weil du es der Kiste nicht verboten hast ;-)

> Meinen Howto-Studien zu Folge sollte doch die Kombination aus
> check-state und keep-state eine dynamische Liste erzeugen von
> Paketen die rein/raus dürfen.

Genau das tun sie, was dir dann aber noch fehlt, ist eben eine
established-Regel, die Pakete verwirft. Ansonsten gehen eben alle
durch.

> Ich hab jetzt folgende Regel eingefügt:
>
> 00300 allow tcp from 192.168.0.0/24 to 192.168.0.8 in via rl0
> keep-state

Da sollte theoretisch nix ankommen, weil ja schon 00240 alles
erlaubt.

> Dummerweise komme ich nach wie vor via http
> und smtp rein wie raus, auch jeder andere Verkehr ist kein
> Problem.

Naja, rein wie raus erlaubt ja schon 00240. Im Übrigen erlaubt deine
00300 durch das Schlüsselwort "in" allerdings alle eingehenden
Pakete! Das willst du sicher umgekehrt haben, so daß hier das
Schlüsselwort "out" benutzt werden möchte.

> Angesichts der Tatsache das 2! Regeln alles ablehnen für
> mich ziemlich verwirrend.

Die zwei Regeln, die du wohl damit meinst (00240 und 00300), lehnen
dummerweise nichts ab.

> Sehr gerne würde ich nun über den Sinn/Unsinn bzw. die Nutzung
> von keep-state-Regeln aufgeklärt werden.

Hoffe mal, das dir mein Geschreibsel weiterhilft. Wenn ich dich in
irgendeinem Punkt mißverstanden habe, melde dich einfach nochmal.

-- 
Gruß,
Patrick
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 26 Jun 2003 - 20:49:17 CEST

search this site