Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Sep 2000 08:46:11 -0500 (CDT)
From:      missnglnk <missnglnk@sneakerz.org>
To:        Luigi Rizzo <luigi@info.iet.unipi.it>
Cc:        freebsd-ipfw@FreeBSD.ORG
Subject:   Re: Issues with ipfw(8)'s dynamic rules
Message-ID:  <Pine.BSF.4.21.0009050845390.39513-100000@sneakerz.org>
In-Reply-To: <Pine.BSF.4.21.0009042008070.38117-100000@sneakerz.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, 5 Sep 2000, missnglnk wrote:

> Date: Tue, 5 Sep 2000 08:15:20 -0500 (CDT)
> From: missnglnk <missnglnk@sneakerz.org>
> To: Luigi Rizzo <luigi@info.iet.unipi.it>
> Cc: freebsd-ipfw@FreeBSD.ORG
> Subject: Re: Issues with ipfw(8)'s dynamic rules
> 
> On Mon, 4 Sep 2000, Luigi Rizzo wrote:
> 
> > Date: Mon, 4 Sep 2000 21:42:06 +0200 (CEST)
> > From: Luigi Rizzo <luigi@info.iet.unipi.it>
> > To: missnglnk <missnglnk@sneakerz.org>
> > Cc: freebsd-ipfw@FreeBSD.ORG
> > Subject: Re: Issues with ipfw(8)'s dynamic rules
> > 
> > > I found some undesirable side effects with ipfw's dynamic
> > > rules as I was toying with it today.
> > > 
> > > a) Expired Dynamic Rules Aren't Really Expired
> > >    I noticed that once a dynamic rule expires (hitting its respective
> > >    timeout value), it's not removed from the dynamic table (unless
> > >    the dynamic table is full), so the connection is still allowed to
> > >    continue instead of being dropped, the only indications that an
> > 
> > In my code at least (and i think in the CVS tree as well) rules
> > which hit their deadline are listed but the first time a lookup
> > crosses through them they are really removed, so the connection is
> > not allowed (otherwise how could you see the premature expire
> > below!)
> 
> Do "ipfw show" and look at the dynamic rule output, the timeout is
> listed there, I've had several SSH connections expired but I'm still
> able to do things, i.e. send this message via pine.
> 
> > >    that are sent to the console, and the combined analyzation of
> > >    ipfw(8) and netstat(1) output.
> > > 
> > >    My Solution: Remove expired UDP and ICMP dynamic rules from the
> > >                 table, and for expired TCP connections send an RST
> > >                 to both sides of the connection, and then remove
> > >                 expired TCP dynamic rules from the table.
> > 
> > You really don't want to send RST's around from your firewall!
> 
> Agreed.
> 
> > > b) Premature Rule Expiration
> > >    TCP connections will expire prematurely if the connection has been
> > >    idle longer than the dynamic state ACK lifetime, but shorter than
> > ...
> > there is no easy solution to this, as you have no idea on what the
> > keepalive interval is, nor if it is used at all. As someone suggested to
> > me, the only real solution is have the firewall implement keepalives
> > by itself, but this requires keeping track of sequence numbers
> > (not that expensive) and sending pkts out from the firewall triggered
> > by timeouts.
> > 
> > Thanks for the suggestions, but i think problem a) does not really
> > exists (or if it does, please tell me on which version of the system
> > you see it) and problem b) cannot be solved the way you suggest.
> 
> 4.0-RELEASE gives you the "invalid state" messages scrolling down the
> screen after the connections expires, and 5.0-CURRENT increments the
> expiration time by the value of the dynamic RST lifetime even though the
> connection has expired, also not once have I had an expired connection
> drop.
> 
> Can't problem B be solved by silently dropping the connection?

I meant problem A, not B.
 
> > 	cheers
> > 	luigi
> > -----------------------------------+-------------------------------------
> >   Luigi RIZZO, luigi@iet.unipi.it  . Dip. di Ing. dell'Informazione
> >   http://www.iet.unipi.it/~luigi/  . Universita` di Pisa
> >   TEL/FAX: +39-050-568.533/522     . via Diotisalvi 2, 56126 PISA (Italy)
> >   Mobile   +39-347-0373137
> > -----------------------------------+-------------------------------------
> > 
> --
> missnglnk@sneakerz.org
> http://www.sneakerz.org/~missnglnk
> 
> 
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-ipfw" in the body of the message
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ipfw" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009050845390.39513-100000>