On Mon, Dec 02, 2002 at 01:11:54PM -0300, Alejandro Valdez wrote:
> Hello,
> 
> After many hours of reading and trying I think I produced a good ruleset,
> has anyone any suggestion about it? or something I'm missing? or not
> taking log from something important? or taking too much log?.
> 
> The propouse is to close the WAN interface of my server, hide the firewall
> and log posibly scans from the outside.
> If this is ok, my next step is to close the LAN interface.
> 
> Thanks in advance.

        If you are worried about efficiency you probably want
to use groups to minimize rule checking. I prefer to group
according to interface. However if you arn't processing lots
of connections through the firewall it probably doesn't matter much.

> 
> #!/bin/bash
> 
> # IP_WAN: WAN interface ip.
> # IP_WBRD: WAN interface broadcast ip.
> # IP_WNET: WAN interface net ip.
> # IF_WAN: WAN interface name.
> 
> export IP_WAN="x.x.x.x/32"
> export IP_WBRD="y.y.y.255/32"
> export IP_WNET="q.q.q.0/32"

        Hmm, should this be be q.q.q.0/xx where xx != 32 ??

> export IF_WAN="net1"
> 
> /etc/ipf -Fa
> /etc/ipf -FS
> /etc/ipf -f - << EOF
> 
> #cat << EOF
> 
> #block all
> block in log on $IF_WAN all
> 
> block return-rst in log on $IF_WAN proto tcp all flags S
> 
> block return-icmp(port-unr) in log on $IF_WAN proto udp all
> 
> block in log quick on $IF_WAN proto tcp all with short

        Why limit this to "proto tcp" ?

        Some people also like to block "proto icmp all with frag"

> #rules for outgoing packets.
> #proto 47 is GRE (i use pptp in my lan, but in a near future I'll put
> #a dedicated machine for that propouse)
> pass  out     quick on $IF_WAN proto tcp  from any to any keep state
> pass  out     quick on $IF_WAN proto udp  from any to any keep state
> pass  out     quick on $IF_WAN proto icmp from any to any keep state
> pass  out     quick on $IF_WAN proto 47   from any to any #gre
> block out log       on $IF_WAN all
> 

        I don't like the above. Its not needed and too promiscuous.

        I like to keep state only on the interface going in, except
for stuff that originates from the firewall like logging etc.

> #rules for my LAN interface
> #(none by the way)

        Keep state here for outgoing connections, and use groups
based on interface to improve/eliminate rule checking.

        my 2

        -steve

Reply via email to