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>