Date: Thu, 18 Oct 2001 01:38:56 -0700 From: "Crist J. Clark" <cristjc@earthlink.net> To: Drew Tomlinson <drew@mykitchentable.net> Cc: Mark.Andrews@isc.org, freebsd-security@FreeBSD.ORG Subject: Re: Dynamic IPFW Rules Message-ID: <20011018013856.C373@blossom.cjclark.org> In-Reply-To: <000d01c15777$1b9a8240$0301a8c0@bigdaddy>; from drew@mykitchentable.net on Wed, Oct 17, 2001 at 06:49:21PM -0700 References: <200110172350.f9HNor915316@drugs.dv.isc.org> <000d01c15777$1b9a8240$0301a8c0@bigdaddy>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 17, 2001 at 06:49:21PM -0700, Drew Tomlinson wrote: > ----- Original Message ----- > From: <Mark.Andrews@isc.org> > To: "Drew Tomlinson" <drew@mykitchentable.net> > Cc: <freebsd-security@freebsd.org> > Sent: Wednesday, October 17, 2001 4:50 PM > Subject: Re: Dynamic IPFW Rules > > > > > > > I have created my first firewall and it seems to be handling > traffic > > > properly (yayyyy!). However, I have noticed that my dynamic rules > don't > > > ever seem to expire. > > > > [snip] > > > > > 02100 1 60 (T 0, # 0) ty 0 tcp, 192.168.1.4 3139 <-> 64.21.143.23 > 80 > > > > This is expired (T 0), just not removed. > > OK, thanks. Is there a way to remove those rules that have expired? You can remove the parent rule. IIRC, they get removed if they get hit. If you reach the limit, I believe it starts to overwrite expired rules. I would have to look at the code more closely to remember. Another option is to make a shell script or alias that drops expired rules, ipfw show | awk -F'[ ,]' '$5 != 0 { print }' Does it. I have a longer script that does this and also prints rules by interface, #!/bin/sh # # ipfwsh - 2000/10/28, cjc # # Cut down verbosity of 'ipfw show' output if [ $# -gt 1 ]; then # Bad command line echo "ipfwsh: bad args" >&2 echo "Usage: ipfwsh [iface]" >&2 exit 1 elif [ $# -eq 0 ]; then # Print whole list, just cut expired dynamic rules ipfw show | awk -F'[ ,]' '$5 != 0 { print }' else # An interface name was given, note there is no failure if # name is not valid ipfw show | awk -v"iface=$1" '/^## Dynamic rules:/ { exit } $0 ~ iface { print; next } /(via|recv|xmit)/ { next } { print }' fi -- 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?20011018013856.C373>