Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Apr 2006 11:39:25 -0400
From:      Daniel Walker <dwalker@zbi.com>
To:        vladone <vladone@spaingsm.com>, ipfw@freebsd.org
Subject:   Re: IPTABLES to IPFW for Packet Inspection Filtering
Message-ID:  <OFBD7BBE12.3AD0268B-ON8525715E.005548F1-8525715E.00561E4E@zbi.com>
In-Reply-To: <1753864896.20060428175200@spaingsm.com>

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

I appreciate the response, but after doing a little more research on the 
issue I've discovered it is not possible to do what I want with IPFW. what 
I'm trying to do is block DNS queries for a specific domain name (the 
domain name is not the DESTINATION but an value to be handled by the any 
DNS server).  to do this I need to be able to match a string within the 
body of the data field with a string I provide and have the firewall drop 
packets that match.  with IPTABLES I'm able to do this by predicting the 
hex value of the data field containing a query for the domain name 
www.yahoo.com.  IPTABLES allows for string matching.  IPFW does not.  I'll 
have to fire up my Ubuntu to do this.

thanks.

dan




vladone <vladone@spaingsm.com> 
Sent by: owner-freebsd-ipfw@freebsd.org
04/28/06 10:52 AM
Please respond to
vladone <vladone@spaingsm.com>


To
ipfw@freebsd.org
cc

Subject
Re: IPTABLES to IPFW for Packet Inspection Filtering






Hello Daniel,

Thursday, April 27, 2006, 9:13:02 PM, you wrote:

> hey all,

> here's what I'm looking to do.  I know it could be done with IPTABLES, 
but
> as it's not available for the Mac OS X I'm trying to figure out how it
> would be done in IPFW ...

> RELAY is a workstation forwarding packets from a SOURCE workstation to 
all
> DESTINATION end points.  RELAY is able to receive all packets from 
SOURCE
> bound to DESTINATION.  I want RELAY to deny packets forwarding from 
SOURCE
> that are name resolution attempts to DESTINATION DNS server specifically
> for host WWW.YAHOO.COM (for example).  To do this I need to create a 
rule
> that will look into the Data field of an DNS packet and match the query.
> The Data field of a DNS query packet would be written in hex. 

> With IPTABLES I would write something like this:

> RELAY #  iptables -I FORWARD 1 -p udp --dport 53 -m string --hex-string
U have in man ipfw explanation for this.

src and dst: {addr | { addr or ... }} [[not] ports]
             An address (or a list, see below) optionally followed by 
ports
             specifiers.

             The second format ( or-block with multiple addresses) is 
provided
             for convenience only and its use is discouraged.

     addr: [not] {any | me | addr-list | addr-set}

     any     matches any IP address.

     me      matches any IP address configured on an interface in the 
system.
             The address list is evaluated at the time the packet is 
analysed.

     addr-list: ip-addr[,addr-list]

     ip-addr:
             A host or subnet address specified in one of the following 
ways:

             numeric-ip | hostname
                     Matches a single IPv4 address, specified as 
dotted-quad
                     or a hostname.  Hostnames are resolved at the time 
the
                     rule is added to the firewall list.

So if u want to deny packets from some hostname u have an rule like:
ipfw add 100 deny ip from me to www.hahoo.com


-- 
Best regards,
 vladone                            mailto:vladone@spaingsm.com

_______________________________________________
freebsd-ipfw@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ipfw
To unsubscribe, send any mail to "freebsd-ipfw-unsubscribe@freebsd.org"




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?OFBD7BBE12.3AD0268B-ON8525715E.005548F1-8525715E.00561E4E>