Date: Tue, 16 Jul 2002 11:39:45 -0700 From: "Crist J. Clark" <crist.clark@attbi.com> To: "Dmitry S. Rzhavin" <dima@rt.ru> Cc: security@FreeBSD.ORG Subject: Re: ipfw and keep-state Message-ID: <20020716183945.GA20381@blossom.cjclark.org> In-Reply-To: <3D32EEBD.E66100A1@rt.ru> References: <3D32D849.E3D8F2BE@rt.ru> <xzp1ya583vj.fsf@flood.ping.uio.no> <3D32EEBD.E66100A1@rt.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 15, 2002 at 07:48:13PM +0400, Dmitry S. Rzhavin wrote: > Dag-Erling Smorgrav wrote: > > > > "Dmitry S. Rzhavin" <dima@rt.ru> writes: > > > 10 pass tcp from any to ip2 in keep-state setup > > > ... nothing interesting here > > > 20 deny tcp from any to ip2 > > > > > > > > > Or, in other words, I want to pre-auth some packet with rile 10 to > > > check it later. Then, I decide to drop it. > > > But ipfw creates dynamic rule "inet <-> ip1" and passes this > > > session. I think this is not good. Why does ipfw works this way? > > > > That's what you asked it to do. Rule 10 basically says "if the packet > > is a tcp SYN packet destined for ip2, stop examining it, let it > > through > > nonono! Rule 10 says "let it _in_", not out! Or: > > -------------- > -------- |IPFW is here| > |packet|==[flows in]=>in_if---- out_if > -------- |packet|==>X | > -------------- > fly in is allowed ^^^ ^^^ packet dies here > > So, I expect (at least) dynamic rule to be "pass ip from inet to ip1 _in_". > Or, as the best solution, rule "in" creates dynamic candidate, and stateful > dynamic rule is created only if packet is allowed to go out. If packet dies > inside ipfw, rule dies too. > So, the question is: why this is bad? Why FreeBSD Team choosed to create > dynamic rule "in/out" for "in" static rule? Is it a bug, or a feature? For TCP and UDP packets, a 'keep-state' rule will create a dynamic rule that matches packets with the same set of IP-port pairs coming or going on any interface. Why is it done this way? That's how the original 'keep-state' hack was done. Off of the top of my head, I can't think of firewall software that doesn't work this way. -- Crist J. Clark | cjclark@alum.mit.edu | cjclark@jhu.edu http://people.freebsd.org/~cjc/ | cjc@freebsd.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-security" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020716183945.GA20381>