Date: Tue, 29 Jan 2002 19:54:01 -0000 From: Matthew Whelan <muttley@gotadsl.co.uk> To: "Thomas T. Veldhouse" <veldy@veldy.net>, Matthew Dillon <dillon@apollo.backplane.com> Cc: andrew.cowan@hsd.com.au, "Nate Williams" <nate@yogotech.com>, "Freebsd-Stable" <freebsd-stable@FreeBSD.ORG> Subject: Re: Proposed Solution To Recent "firewall_enable" Thread. [Please Read] Message-ID: <SQ5323WMGH94GE51S204VULSNEA.3c56fdd9@VicNBob> In-Reply-To: <200201290617.g0T6HO036172@apollo.backplane.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Lets not make things even more confusing then they already are. The
> answer to me is simple:
>
> If firewall_enable is "NO" and ipfw is active, /etc/rc* should
> simply add a rule to allow all traffic. Simple. Problem solved.
But the net effect of this would be the same as knocking out the firewall
via sysctl - all traffic is passed; again, this is not fail-safe, which is
exactly why there's so many messages in this thread and its family ;p
In fact, this is exactly what the existing rc scripts do if:
firewall_enable=YES
firewall_type=open
(which is what LINT tells you to do if you have ipfw compiled in but aren't
ready to load your rules yet)
I still think Warner's original post under the current subject was nearest
the mark of the larger re-works proposed so far. Perhaps personally I'd
tweak it to be like:
ipfw_force_kldload=NO # Load kernel module if needed, regardless
# of ipfw_load_rules setting below
ipfw_load_rules=NO # Load ruleset specified below. Kernel
# module will be loaded if needed
# NOTE: IF NO AND IPFIREWALL IN KERNEL, YOU
# WILL BE LOCKED OUT UNLESS KERNEL HAS
# IPFIREWALL_DEFAULT_TO_ACCEPT
<and of course rename other firewall_* -> ipfw_*, which I will assume below>
ipfw_force_kldload can then happen before ifconfig, so policy-DENY systems
don't have the insecure window when loading from a module. Behaviour of
ipfw_load_rules=YES and ipfw_force_kldload=NO should be exactly as it is at
present with firewall_enable=YES - module still gets loaded if it's needed.
ipfw_load_rules is of course just firewall_enable with a less confusing
name.
There is no need for an option to disable ipfw entirely - LINT already tells
you how to handle the situation where you have ipfw loaded
Perhaps LINT should also remind users that ipfw_type=open is useless unless
ipfw_load_rules=YES is also specified. Perhaps also the tip should be
duplicated in rc.conf(5)
I also quite like the idea of reducing the magic in the
firewall_type/firewall_script pair... a couple of other proposals have come
close but one bloated too far whereas the other removed existing
functionality. I'd settle for:
ipfw_type={open,closed,client,simple,script,ruleset}
ipfw_script_file=<path to script>
ipfw_ruleset_file=<path to ruleset>
Matthew
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?SQ5323WMGH94GE51S204VULSNEA.3c56fdd9>
