On Mon, Jan 10, 2011 at 12:52:14PM -0800, Daniel C. Sinclair wrote:
> On Wed, Jan 5, 2011 at 10:15 AM, Henning Brauer <[email protected]> wrote:
> > * Bernd Bornkessel <[email protected]> [2011-01-05 11:59]:
> >> In pf's state table I see two records - one for each direction of the
> >> connection.
> >
> > and the accumulated data from the state is what pflow exports, so it
> > is all as intended.
> >
> > usually, you do your real filtering on one side of the firewall
> > (usually there are areas that can be called "inside" and "outside" -
> > tho in some cases, there are many many inside networks, countless
> > vlans in my case). the other side you do some antispoof and firewall
> > self-protection. pick one side for pflow.
> 
> In my case I consider all sides of the firewall hostile - I want to
> protect the internet from the machines on my network just as much as I
> want to protect those machines from the internet.  So there isn't
> really an inside and outside.  I also want netflow for all traffic
> that goes through the firewall - not just to/from the internet but
> also dmz to dmz.
> 
> My pf rule set looks something like this:
> 
> block in log all
> pass out all keep state (pflow)
> 
> pass in on $dmz01 inet from ($dmz01:network) to ($dmz13:network)
> pass in on $ifnet inet from any to ($dmz06:network)
> 
> Everything is blocked from entering the firewall unless explicitly
> allowed by a 'pass in' rule.  Any connection that is allowed in also
> needs to be let out - the single 'pass out' rule is a good place to
> collect pflow.  Anything that goes through the firewall is collected
> and anything that goes out from the firewall is collected.  If you
> want to collect everything that goes into the firewall you need to add
> 'pass in keep state(pflow)' rules on each service like this:
> 
> # allow SSH into firewall from dmz20
> pass in on $dmz20 inet proto tcp from ($dmz20:network) to ($dmz20)
> port 22 keep state(pflow)
> 

It would be fantastic if it would be possible to use match for state
settings like pflow et all. Then a simple
        match in keep state (pflow)
would do the trick and this makes sense for no-sync or sloppy as well.
It is like set state-defaults but having more limited scope.
Henning, what do you think?

-- 
:wq Claudio

Reply via email to