Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Dec 1995 17:20:22 +0100
From:      "Frank ten Wolde" <franky@pinewood.nl>
To:        Nate Williams <nate@rocky.sri.MT.net>, "Frank ten Wolde" <franky@pinewood.nl>
Cc:        hackers@freebsd.org
Subject:   Re: Order of rules in ip_fw chain
Message-ID:  <9512151720.ZM309@pwood1.pinewood.nl>
In-Reply-To: Nate Williams <nate@rocky.sri.MT.net> "Re: Order of rules in ip_fw chain" (Dec 15,  9:11)
References:  <9512151302.ZM27077@pwood1.pinewood.nl>  <199512151611.JAA16380@rocky.sri.MT.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 15,  9:11, Nate Williams wrote:
> Subject: Re: Order of rules in ip_fw chain
> > 
> > 1) I would suggest adding the following lines of code in 
> >    .../sys/netinet/ip_fw.c, line 879:
> > 
> > 	ifdef IPFIREWALL 
> > 	int
> > 	ip_fw_ctl(stage, m)
> > 	    int stage;
> > 	    struct mbuf *m; 
> > 	{
> >   
> > 	    if (securelevel >= 2) {			NEW
> > 	        return (EPERM);				NEW
> > 	    }   					NEW
> 
> Just out of curiousity, how are you adding the lines to the firewall
> list *before* the machine goes multi-user?  On my box, I can't simply
> because the networking code isn't (yet) up and running.
> 
Apparently FreeBSD allows you to add the ip_fw chains *before* the
network interfaces are up.  The above code is actually running on
our firewall (FreeBSD of course :-).  In /etc/rc, just after the
local file systems have been mounted (line 81), I setup the ip_fw
chain, followed by a sysctl kern.securelevel to bump it to 2.

When you try to flush the chain (ipfw f f) you get:

	ipfw: setsockopt failed.

This should become:

	ipfw: setsockopt failed (operation not permitted).

or something similar.

> > 2) I noticed that the order in which the fw checks incoming packets is
> >    *not* the same as the order in which the packet rules were added.
> >    IMHO this should be fixed.  I have not had the time (yet) to have
> >    a look at the source myself, but will do so in the next few weeks.
> 
> Ugen was supposed to be working on this a while back.  I agree that
> something should be done.  His work was going to allow 'priority' based
> rules, which I agree would be a good thing.  Either that or allow the
> rules to be listed in the same order in the kernel as they are added.
> But, you'd need a way to modify the list in non-secure mode, so I think
> the priority based approach is probably more flexible.
> 
Tell me more about 'priority' based rules, I don't grasp the basic idea
behind it (could be because it's Friday late-afternoon :-). Unless 
'priority' based rules are a pretty neat idea, I would suggest to simply
apply the rules as they are added to the chain.  Packet filter rules are
hard to understand/design, even without the OS altering the order of rules...
> 
> Nate

-Frank

-- 
----------------------------------------------------------------------
F.W. ten Wolde (PA3FMT)                       Pinewood Automation B.V.
E-mail: franky@pinewood.nl                    Kluyverweg 2a
Phone: +31-15 2682543                         2629 HT  Delft



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9512151720.ZM309>