Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Jul 2001 10:46:46 +0200
From:      Christoph Sold <so@server.i-clue.de>
To:        Vasily <vasily@maryno.net>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: Question about ipfw
Message-ID:  <3B554CF6.2D16B769@i-clue.de>
References:  <4917.010717@maryno.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Apparently, this firewall has been configured by hand, neither rc.conf
nor rc.firewall load any rules.

I guess somebody wrote a custom firewall script and put it into one of
the standard boot hooks such as rc.local or /usr/local/etc/rc.d.

Best bet would be to grep for "ipfw add" in all files in the /etc and
/usr/local/etc directories.

HTH
-Christoph Sold

Vasily schrieb:
> 
> Hi, ALL !
> 
> Would anybody be so kind to tell where is saved information about
> lines marked * ?
> In rc.conf name of type of firewall is "UNKNOWN".
> 
> boss# ipfw list
> 
> 00001 allow tcp from any to *.*.*.* 80 in recv ed1
> 00002 allow tcp from *.*.*.* to *.*.*.* 20,21 in recv ed1
> 00003 allow tcp from *.*.*.* to *.*.*.* 22 in recv ed1
> 00004 allow udp from any to any 53
> 00005 allow tcp from 192.168.1.0 to any 20,21,22,139 in recv ed1
> *00050 divert 8668 ip from any to any via ed1
> 00051 reset tcp from any to *.*.*.* 1-1024 in recv ed1
> 00052 deny udp from any to any 1-1024 in recv ed1
> 00053 unreach port tcp from any to 212.42.60.107 1025-65535 in setup
> 00100 allow ip from any to any via lo0
> 00200 deny ip from any to 127.0.0.0/8
> *00300 divert 8668 ip from 192.168.1.0 to any out xmit ed1
> *00400 divert 8668 ip from any to *.*.*.* in recv ed1
> *65535 allow ip from any to any
> 
> It's rc.firewall
> =========================================
> ############
> # Setup system for firewall service.
> # $FreeBSD: src/etc/rc.firewall,v 1.30.2.4 2000/05/28 19:17:15 asmodai Exp $
> 
> # Suck in the configuration variables.
> if [ -r /etc/defaults/rc.conf ]; then
>         . /etc/defaults/rc.conf
>         source_rc_confs
> elif [ -r /etc/rc.conf ]; then
>         . /etc/rc.conf
> fi
> 
> ############
> # Define the firewall type in /etc/rc.conf.  Valid values are:
> #   open     - will allow anyone in
> #   client   - will try to protect just this machine
> #   simple   - will try to protect a whole network
> #   closed   - totally disables IP services except via lo0 interface
> #   UNKNOWN  - disables the loading of firewall rules.
> #   filename - will load the rules in the given filename (full path required)
> #
> # For ``client'' and ``simple'' the entries below should be customized
> # appropriately.
> 
> ############
> #
> # If you don't know enough about packet filtering, we suggest that you
> # take time to read this book:
> #
> #       Building Internet Firewalls
> #       Brent Chapman and Elizabeth Zwicky
> #
> #       O'Reilly & Associates, Inc
> #       ISBN 1-56592-124-0
> #       http://www.ora.com/
> #
> # For a more advanced treatment of Internet Security read:
> #
> #       Firewalls & Internet Security
> #       Repelling the wily hacker
> #       William R. Cheswick, Steven M. Bellowin
> #
> #       Addison-Wesley
> #       ISBN 0-201-6337-4
> #       http://www.awl.com/
> #
> 
> if [ -n "${1}" ]; then
>         firewall_type="${1}"
> fi
> 
> ############
> # Set quiet mode if requested
> #
> case ${firewall_quiet} in
> [Yy][Ee][Ss])
>         fwcmd="/sbin/ipfw -q"
>         ;;
> *)
>         fwcmd="/sbin/ipfw"
>         ;;
> esac
> 
> ############
> # Flush out the list before we begin.
> #
> ${fwcmd} -f flush
> 
> ############
> # These rules are required for using natd.  All packets are passed to
> # natd before they encounter your remaining rules.  The firewall rules
> # will then be run again on each packet after translation by natd,
> # minus any divert rules (see natd(8)).
> #
> case ${natd_enable} in
> [Yy][Ee][Ss])
>         if [ -n "${natd_interface}" ]; then
>               ${fwcmd} add 50 divert natd all from any to any via ${natd_interface}
>         fi
>         ;;
> esac
> 
> ############
> # If you just configured ipfw in the kernel as a tool to solve network
> # problems or you just want to disallow some particular kinds of traffic
> # then you will want to change the default policy to open.  You can also
> # do this as your only action by setting the firewall_type to ``open''.
> #
> # ${fwcmd} add 65000 pass all from any to any
> 
> ############
> # Only in rare cases do you want to change these rules
> #
> ${fwcmd} add 100 pass all from any to any via lo0
> ${fwcmd} add 200 deny all from any to 127.0.0.0/8
> # If you're using 'options BRIDGE', uncomment the following line to pass ARP
> #${fwcmd} add 300 pass udp from 0.0.0.0 2054 to 0.0.0.0
> 
> # Prototype setups.
> #
> case ${firewall_type} in
> [Oo][Pp][Ee][Nn])
>         ${fwcmd} add 65000 pass all from any to any
>         ;;
> 
> [Cc][Ll][Ii][Ee][Nn][Tt])
>         ############
>         # This is a prototype setup that will protect your system somewhat
>         # against people from outside your own network.
>         ############
> 
>         # set these to your network and netmask and ip
>         net="192.0.2.0"
>         mask="255.255.255.0"
>         ip="192.0.2.1"
> 
>         # Allow any traffic to or from my own net.
>         ${fwcmd} add pass all from ${ip} to ${net}:${mask}
>         ${fwcmd} add pass all from ${net}:${mask} to ${ip}
> 
>         # Allow TCP through if setup succeeded
>         ${fwcmd} add pass tcp from any to any established
> 
>         # Allow IP fragments to pass through
>         ${fwcmd} add pass all from any to any frag
> 
>         # Allow setup of incoming email
>         ${fwcmd} add pass tcp from any to ${ip} 25 setup
> 
>         # Allow setup of outgoing TCP connections only
>         ${fwcmd} add pass tcp from ${ip} to any setup
> 
>         # Disallow setup of all other TCP connections
>         ${fwcmd} add deny tcp from any to any setup
> 
>         # Allow DNS queries out in the world
>         ${fwcmd} add pass udp from any 53 to ${ip}
>         ${fwcmd} add pass udp from ${ip} to any 53
> 
>         # Allow NTP queries out in the world
>         ${fwcmd} add pass udp from any 123 to ${ip}
>         ${fwcmd} add pass udp from ${ip} to any 123
> 
>         # Everything else is denied by default, unless the
>         # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel
>         # config file.
>         ;;
> 
> [Ss][Ii][Mm][Pp][Ll][Ee])
>         ############
>         # This is a prototype setup for a simple firewall.  Configure this
>         # machine as a named server and ntp server, and point all the machines
>         # on the inside at this machine for those services.
>         ############
> 
>         # set these to your outside interface network and netmask and ip
>         iif="ed0"
>         inet="192.168.1.0"
>         imask="255.255.255.0"
>         iip="192.168.1.100"
> 
>         # set these to your inside interface network and netmask and ip
>         oif="ed1"
>         onet="*.*.*.*"
>         omask="255.255.255.*"
>         oip="*.*.*.*"
> 
>         # our rules must rule
>         ${fwcmd} add divert natd ip from 192.168.1.0 to any out via ed1
>         ${fwcmd} add divert natd ip from any to 212.42.60.107 in via ed1
>         ${fwcmd} add divert all from any to any via ed1
> 
>         # Stop spoofing
>         ${fwcmd} add deny all from ${inet}:${imask} to any in via ${oif}
>         ${fwcmd} add deny all from ${onet}:${omask} to any in via ${iif}
> 
>         # Stop RFC1918 nets on the outside interface
>         ${fwcmd} add deny all from 10.0.0.0/8 to any via ${oif}
>         ${fwcmd} add deny all from any to 10.0.0.0/8 via ${oif}
>         ${fwcmd} add deny all from 172.16.0.0/12 to any via ${oif}
>         ${fwcmd} add deny all from any to 172.16.0.0/12 via ${oif}
>         ${fwcmd} add deny all from 192.168.0.0/16 to any via ${oif}
>         ${fwcmd} add deny all from any to 192.168.0.0/16 via ${oif}
> 
>         # Stop draft-manning-dsua-01.txt nets on the outside interface
>         ${fwcmd} add deny all from 0.0.0.0/8 to any via ${oif}
>         ${fwcmd} add deny all from any to 0.0.0.0/8 via ${oif}
>         ${fwcmd} add deny all from 169.254.0.0/16 to any via ${oif}
>         ${fwcmd} add deny all from any to 169.254.0.0/16 via ${oif}
>         ${fwcmd} add deny all from 192.0.2.0/24 to any via ${oif}
>         ${fwcmd} add deny all from any to 192.0.2.0/24 via ${oif}
>         ${fwcmd} add deny all from 224.0.0.0/4 to any via ${oif}
>         ${fwcmd} add deny all from any to 224.0.0.0/4 via ${oif}
>         ${fwcmd} add deny all from 240.0.0.0/4 to any via ${oif}
>         ${fwcmd} add deny all from any to 240.0.0.0/4 via ${oif}
> 
>         # Allow TCP through if setup succeeded
>         ${fwcmd} add pass tcp from any to any established
> 
>         # Allow IP fragments to pass through
>         ${fwcmd} add pass all from any to any frag
> 
>         # Allow setup of incoming email
>         ${fwcmd} add pass tcp from any to ${oip} 25 setup
> 
>         # Allow access to our DNS
>         ${fwcmd} add pass tcp from any to ${oip} 53 setup
>         ${fwcmd} add pass udp from any to ${oip} 53
>         ${fwcmd} add pass udp from ${oip} 53 to any
> 
>         # Allow access to our WWW
>         ${fwcmd} add pass tcp from any to ${oip} 80 setup
> 
>         # Reject&Log all setup of incoming connections from the outside
>         ${fwcmd} add deny log tcp from any to any in via ${oif} setup
> 
>         # Allow setup of any other TCP connection
>         ${fwcmd} add pass tcp from any to any setup
> 
>         # Allow DNS queries out in the world
>         ${fwcmd} add pass udp from any 53 to ${oip}
>         ${fwcmd} add pass udp from ${oip} to any 53
> 
>         # Allow NTP queries out in the world
>         ${fwcmd} add pass udp from any 123 to ${oip}
>         ${fwcmd} add pass udp from ${oip} to any 123
> 
>         # Everything else is denied by default, unless the
>         # IPFIREWALL_DEFAULT_TO_ACCEPT option is set in your kernel
>         # config file.
>         ;;
> 
> [Uu][Nn][Kk][Nn][Oo][Ww][Nn])
> #       ;;
> #*)
>         if [ -r "${firewall_type}" ]; then
>                 ${fwcmd} ${firewall_flags} ${firewall_type}
>         fi
>         ${fwcmd} add divert natd ip from 192.168.1.0 to any out via ed1
>         ${fwcmd} add divert natd ip from any to *.*.*.* in via ed1
>         ${fwcmd} add divert all from any to any via ed1
> 
>         ${fwcmd} -q add 1 allow tcp from any to *.*.*.* 80 in via ed1
>         ${fwcmd} -q add 2 allow tcp from *.*.*.* to *.*.*.* 20,21 in via ed1
>         ${fwcmd} -q add 3 allow tcp from *.*.*.* to *.*.*.* 22 in via ed1
>         ${fwcmd} -q add 4 allow udp from any to any 53
>         ${fwcmd} -q add 5 allow tcp from 192.168.1.0 to any 20,21,22,139 in via ed1
>         ${fwcmd} -q add 51 reset tcp from any to *.*.*.* 1-1024 in via ed1
>         ${fwcmd} -q add 52 drop udp from any to any 1-1024 in via ed1
>         ${fwcmd} -q add 53 unreach port tcp from any to *.*.*.* 1025-65535 in setup
>         ;;
> esac
> =========================================
> 
> --
> Best regards,
> Vasily
> vasily@maryno.net
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-questions" in the body of the message

-- 
Freundliche Grüße aus Waiblingen

Christoph Sold
--
Systemadministrator, i-clue GmbH, Endersbacher Str. 57, 71334 Waiblingen
Fon: (0 71 51) 9 59 01-12, Fax: (0 71 51) 9 59 01-55, Mail: so@i-clue.de

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B554CF6.2D16B769>