shorewall_code/Shorewall-docs/seattlefirewall_index.htm
2003-12-22 04:41:56 +00:00

276 lines
19 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta content="HTML Tidy, see www.w3.org" name="generator" />
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<title>Shoreline Firewall (Shorewall) 1.4</title>
<base target="_self" />
</head>
<body><div align="center"> <center> <table border="0" cellpadding="0"
cellspacing="0" id="AutoNumber4"
style="border-collapse: collapse; width: 100%; height: 100%;"><tbody><tr><td
width="90%"><h2>Site Problem</h2> The server that normally hosts
www.shorewall.net and ftp.shorewall.net is currently down. Until it is back
up, a small server with very limited bandwidth is being used temporarly. You
will likely experience better response time from the <a
href="http://shorewall.sourceforge.net" target="_top">Sourceforge site</a>
or from one of the other <a href="shorewall_mirrors.htm">mirrors</a>. Sorry
for the inconvenience.<br /> <br /> <h2>Introduction to Shorewall</h2>
<h3>This is the Shorewall 1.4 Web Site</h3> The information on this site
applies only to 1.4.x releases of Shorewall. For older versions:<br />
<ul><li>The 1.3 site is <a href="http://www.shorewall.net/1.3" target="_top">here.</a></li><li>The
1.2 site is <a href="http://shorewall.net/1.2/" target="_top">here</a>.</li></ul>
<h3>Glossary</h3> <ul><li><a href="http://www.netfilter.org">Netfilter</a> -
the packet filter facility built into the 2.4 and later Linux kernels.</li><li>ipchains
- the packet filter facility built into the 2.2 Linux kernels. Also the name
of the utility program used to configure and control that facility.
Netfilter can be used in ipchains compatibility mode.</li><li>iptables - the
utility program used to configure and control Netfilter. The term
&#39;iptables&#39; is often used to refer to the combination of
iptables+Netfilter (with Netfilter not in ipchains compatibility mode).</li></ul>
<h3>What is Shorewall?</h3> The Shoreline Firewall, more commonly known as
&#34;Shorewall&#34;, is high-level tool for configuring Netfilter. You
describe your firewall/gateway requirements using entries in a set of
configuration files. Shorewall reads those configuration files and with the
help of the iptables utility, Shorewall configures Netfilter to match your
requirements. Shorewall can be used on a dedicated firewall system, a
multi-function gateway/router/server or on a standalone GNU/Linux system.
Shorewall does not use Netfilter&#39;s ipchains compatibility mode and can
thus take advantage of Netfilter&#39;s connection state tracking
capabilities.<br /> <br /> Shorewall is <span
style="text-decoration: underline;">not</span> a daemon. Once Shorewall has
configured Netfilter, it&#39;s job is complete although the <a
href="starting_and_stopping_shorewall.htm">/sbin/shorewall program can be
used at any time to monitor the Netfilter firewall</a>.<br /> <h3>Getting
Started with Shorewall</h3> New to Shorewall? Start by selecting the <a
href="shorewall_quickstart_guide.htm">QuickStart Guide</a> that most closely
match your environment and follow the step by step instructions.<br />
<h3>Looking for Information?</h3> The <a
href="shorewall_quickstart_guide.htm#Documentation">Documentation Index</a>
is a good place to start as is the Quick Search in the frame above.
<h3>License</h3> This program is free software; you can redistribute it
and/or modify it under the terms of <a
href="http://www.gnu.org/licenses/gpl.html">Version 2 of the GNU General
Public License</a> as published by the Free Software Foundation.<br />
<p>This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
more detail.</p> <p>You should have received a copy of the GNU General
Public License along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA</p> Permission is
granted to copy, distribute and/or modify this document under the terms of
the GNU Free Documentation License, Version 1.2 or any later version
published by the Free Software Foundation; with no Invariant Sections, with
no Front-Cover, and with no Back-Cover Texts. A copy of the license is
included in the section entitled <a>&#34;GNU Free Documentation License&#34;</a>.<p>Copyright
© 2001-2003 Thomas M. Eastep </p> <h3>Running Shorewall on Mandrake with a
two-interface setup?</h3> If so, the documentation <b></b>on this site will
not apply directly to your setup. If you want to use the documentation that
you find here, you will want to consider uninstalling what you have and
installing a setup that matches the documentation on this site. See the <a
href="two-interface.htm">Two-interface QuickStart Guide</a> for details.<br />
<h2>News</h2> <p><b>12/07/2003 - Shorewall 1.4.9 Beta 1</b> <b><img
alt="(New)" src="images/new10.gif"
style="border: 0px solid ; width: 28px; height: 12px;" title="" /> </b></p>
<div style="margin-left: 40px;"><a
href="http://shorewall.net/pub/shorewall/Beta">http://shorewall.net/pub/shorewall/Beta</a><br />
<a href="ftp://shorewall.net/pub/shorewall/Beta" target="_top">ftp://shorewall.net/pub/shorewall/Beta</a>
</div> <p>Problems Corrected since version 1.4.8:</p> <ol><li>There has been
a low continuing level of confusion over the terms &#34;Source NAT&#34;
(SNAT) and &#34;Static NAT&#34;. To avoid future confusion, all instances of
&#34;Static NAT&#34; have been replaced with &#34;One-to-one NAT&#34; in the
documentation and configuration files.</li><li>The description of NEWNOTSYN
in shorewall.conf has been reworded for clarity.</li><li>Wild-card rules
(those involving &#34;all&#34; as SOURCE or DEST) will no longer produce an
error if they attempt to add a rule that would override a NONE policy. The
logic for expanding these wild-card rules now simply skips those
(SOURCE,DEST) pairs that have a NONE policy.</li></ol> <p>Migration Issues:<br />
&#x00A0;&#x00A0;&#x00A0; None.<br /> <br /> New Features: </p> <ol><li>To
cut down on the number of &#34;Why are these ports closed rather than
stealthed?&#34; questions, the SMB-related rules in
/etc/shorewall/common.def have been changed from &#39;reject&#39; to
&#39;DROP&#39;.</li><li>For easier identification, packets logged under the
&#39;norfc1918&#39; interface option are now logged out of chains named
&#39;rfc1918&#39;. Previously, such packets were logged under chains named
&#39;logdrop&#39;.</li><li>Distributors and developers seem to be regularly
inventing new naming conventions for kernel modules. To avoid the need to
change Shorewall code for each new convention, the MODULE_SUFFIX option has
been added to shorewall.conf. MODULE_SUFFIX may be set to the suffix for
module names in your particular distribution. If MODULE_SUFFIX is not set in
shorewall.conf, Shorewall will use the list &#34;o gz ko o.gz&#34;.<br />
<br /> To see what suffix is used by your distribution:<br /> <br /> ls
/lib/modules/$(uname -r)/kernel/net/ipv4/netfilter<br /> <br /> All of the
files listed should have the same suffix (extension). Set MODULE_SUFFIX to
that suffix.<br /> <br /> Examples:<br /> <br />
&#x00A0;&#x00A0;&#x00A0;&#x00A0; If all files end in &#34;.kzo&#34; then set
MODULE_SUFFIX=&#34;kzo&#34;<br /> &#x00A0;&#x00A0;&#x00A0;&#x00A0; If all
files end in &#34;.kz.o&#34; then set MODULE_SUFFIX=&#34;kz.o&#34;</li><li>Support
for user defined rule ACTIONS has been implemented through two new files:<br />
<br /> /etc/shorewall/actions - used to list the user-defined ACTIONS.<br />
/etc/shorewall/action.template - For each user defined &#60;action&#62;,
copy this file to /etc/shorewall/action.&#60;action&#62; and add the
appropriate rules for that &#60;action&#62;. Once an &#60;action&#62; has
been defined, it may be used like any of the builtin ACTIONS (ACCEPT, DROP,
etc.) in /etc/shorewall/rules.<br /> <br /> Example: You want an action that
logs a packet at the &#39;info&#39; level and accepts the connection.<br />
<br /> In /etc/shorewall/actions, you would add:<br /> <br />
&#x00A0;&#x00A0;&#x00A0;&#x00A0; LogAndAccept<br /> <br /> You would then
copy /etc/shorewall/action.template to /etc/shorewall/LogAndAccept and in
that file, you would add the two rules:<br />
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0; LOG:info<br />
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0; ACCEPT<br />
<br /></li></ol> <p><b>12/03/2003 - Support Torch Passed</b> <b><img
alt="(New)" src="images/new10.gif"
style="border: 0px solid ; width: 28px; height: 12px;" title="" /></b></p>
Effective today, I am reducing my participation in the day-to-day support of
Shorewall. As part of this shift to community-based Shorewall support a new
<a href="https://lists.shorewall.net/mailman/listinfo/shorewall-newbies">Shorewall
Newbies mailing list</a> has been established to field questions and
problems from new users. I will not monitor that list personally. I will
continue my active development of Shorewall and will be available via the
development list to handle development issues -- Tom. <p><b>11/07/2003 -
Shorewall 1.4.8</b><b><br /> <br /> </b> Problems Corrected since version
1.4.7:<br /> </p> <ol><li>Tuomo Soini has supplied a correction to a problem
that occurs using some versions of &#39;ash&#39;. The symptom is that
&#34;shorewall start&#34; fails with:<br /> &#x00A0;<br /> &#x00A0;&#x00A0;
local: --limit: bad variable name<br /> &#x00A0;&#x00A0; iptables v1.2.8:
Couldn&#39;t load match `-j&#39;:/lib/iptables/libipt_-j.so:<br />
&#x00A0;&#x00A0; cannot open shared object file: No such file or directory<br />
&#x00A0;&#x00A0; Try `iptables -h&#39; or &#39;iptables --help&#39; for more
information.</li><li>Andres Zhoglo has supplied a correction that avoids
trying to use the multiport match iptables facility on ICMP rules.<br />
&#x00A0;<br /> &#x00A0;&#x00A0; Example of rule that previously caused
&#34;shorewall start&#34; to fail:<br /> &#x00A0;<br />
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
ACCEPT&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0; loc&#x00A0; $FW&#x00A0;
icmp&#x00A0;&#x00A0;&#x00A0; 0,8,11,12<br /> <br /></li><li>Previously, if
the following error message was issued, Shorewall was left in an
inconsistent state.<br /> &#x00A0;<br /> &#x00A0;&#x00A0; Error: Unable to
determine the routes through interface xxx<br /> <br /></li><li>Handling of
the LOGUNCLEAN option in shorewall.conf has been corrected.</li><li>In
Shorewall 1.4.2, an optimization was added. This optimization involved
creating a chain named &#34;&#60;zone&#62;_frwd&#34; for most zones defined
using the /etc/shorewall/hosts file. It has since been discovered that in
many cases these new chains contain redundant rules and that the
&#34;optimization&#34; turns out to be less than optimal. The implementation
has now been corrected.</li><li>When the MARK value in a tcrules entry is
followed by &#34;:F&#34; or &#34;:P&#34;, the &#34;:F&#34; or &#34;:P&#34;
was previously only applied to the first Netfilter rule generated by the
entry. It is now applied to all entries.</li><li>An incorrect comment
concerning Debian&#39;s use of the SUBSYSLOCK option has been removed from
shorewall.conf.</li><li>Previously, neither the &#39;routefilter&#39;
interface option nor the ROUTE_FILTER parameter were working properly. This
has been corrected (thanks to Eric Bowles for his analysis and patch). The
definition of the ROUTE_FILTER option has changed however. Previously,
ROUTE_FILTER=Yes was documented as enabling route filtering on all
interfaces (which didn&#39;t work). Beginning with this release, setting
ROUTE_FILTER=Yes will enable route filtering of all interfaces brought up
while Shorewall is started. As a consequence, ROUTE_FILTER=Yes can coexist
with the use of the &#39;routefilter&#39; option in the interfaces file.</li><li>If
MAC verification was enabled on an interface with a /32 address and a
broadcast address then an error would occur during startup.</li><li>he NONE
policy&#39;s intended use is to suppress the generating of rules that
can&#39;t possibly be traversed. This means that a policy of NONE is
inappropriate where the source or destination zone is $FW or &#34;all&#34;.
Shorewall now generates an error message if such a policy is given in
/etc/shorewall/policy. Previously such a policy caused &#34;shorewall
start&#34; to fail.</li><li>The &#39;routeback&#39; option was broken for
wildcard interfaces (e.g., &#34;tun+&#34;). This has been corrected so that
&#39;routeback&#39; now works as expected in this case.<br /></li></ol>
Migration Issues:<br /> <ol><li>The definition of the ROUTE_FILTER option in
shorewall.conf has changed as described in item 8) above.<br /></li></ol>
New Features:<br /> <ol><li>A new QUEUE action has been introduced for
rules. QUEUE allows you to pass connection requests to a user-space filter
such as ftwall (http://p2pwall.sourceforge.net). The ftwall program allows
for effective filtering of p2p applications such as Kazaa. For example, to
use ftwall to filter P2P clients in the &#39;loc&#39; zone, you would add
the following rules:<br /> <br /> &#x00A0;&#x00A0; QUEUE&#x00A0;&#x00A0;
loc&#x00A0;&#x00A0;&#x00A0; &#x00A0;&#x00A0;&#x00A0;&#x00A0;
net&#x00A0;&#x00A0;&#x00A0; tcp<br /> &#x00A0;&#x00A0; QUEUE&#x00A0;&#x00A0;
loc&#x00A0;&#x00A0;&#x00A0; &#x00A0;&#x00A0;&#x00A0;&#x00A0;
net&#x00A0;&#x00A0;&#x00A0; udp<br /> &#x00A0;&#x00A0; QUEUE&#x00A0;&#x00A0;
loc&#x00A0;&#x00A0;&#x00A0; &#x00A0;&#x00A0;&#x00A0;&#x00A0;
fw&#x00A0;&#x00A0;&#x00A0;&#x00A0; udp<br /> <br /> You would normally want
to place those three rules BEFORE any ACCEPT rules for loc-&#62;net udp or
tcp.<br /> <br /> Note: When the protocol specified is TCP (&#34;tcp&#34;,
&#34;TCP&#34; or &#34;6&#34;), Shorewall will only pass connection requests
(SYN packets) to user space. This is for compatibility with ftwall.</li><li>A
BLACKLISTNEWNONLY option has been added to shorewall.conf. When this option
is set to &#34;Yes&#34;, the blacklists (dynamic and static) are only
consulted for new connection requests. When set to &#34;No&#34; (the default
if the variable is not set), the blacklists are consulted on every packet.<br />
<br /> Setting this option to &#34;No&#34; allows blacklisting to stop
existing connections from a newly blacklisted host but is more expensive in
terms of packet processing time. This is especially true if the blacklists
contain a large number of entries.</li><li>Chain names used in the
/etc/shorewall/accounting file may now begin with a digit ([0-9]) and may
contain embedded dashes (&#34;-&#34;).</li></ol> <p><b>10/26/2003 -
Shorewall 1.4.7a and 1.4.7b win brown paper bag awards</b> <b><img
align="middle" alt="" src="images/j0233056.gif"
style="border: 0px solid ; width: 50px; height: 80px;" title="" />Shorewall
1.4.7c released.</b></p> <ol><li>The saga with &#34;&#60;zone&#62;_frwd&#34;
chains continues. The 1.4.7c script produces a ruleset that should work for
everyone even if it is not quite optimal. My apologies for this ongoing
mess.<br /></li></ol> <p><b>10/24/2003 - Shorewall 1.4.7b</b></p> <p>This is
a bugfx rollup of the 1.4.7a fixes plus:<br /> </p> <ol><li>The fix for
problem 5 in 1.4.7a was wrong with the result that
&#34;&#60;zone&#62;_frwd&#34; chains might contain too few rules. That wrong
code is corrected in this release.<br /></li></ol> <p><b>10/21/2003 -
Shorewall 1.4.7a</b></p> <p>This is a bugfix rollup of the following problem
corrections:<br /> </p> <ol><li>Tuomo Soini has supplied a correction to a
problem that occurs using some versions of &#39;ash&#39;. The symptom is
that &#34;shorewall start&#34; fails with:<br /> &#x00A0;<br />
&#x00A0;&#x00A0; local: --limit: bad variable name<br /> &#x00A0;&#x00A0;
iptables v1.2.8: Couldn&#39;t load match
`-j&#39;:/lib/iptables/libipt_-j.so:<br /> &#x00A0;&#x00A0; cannot open
shared object file: No such file or directory<br /> &#x00A0;&#x00A0; Try
`iptables -h&#39; or &#39;iptables --help&#39; for more information.<br />
<br /></li><li>Andres Zhoglo has supplied a correction that avoids trying to
use the multiport match iptables facility on ICMP rules.<br /> &#x00A0;<br />
&#x00A0;&#x00A0; Example of rule that previously caused &#34;shorewall
start&#34; to fail:<br /> &#x00A0;<br />
&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0;
ACCEPT&#x00A0;&#x00A0;&#x00A0;&#x00A0;&#x00A0; loc&#x00A0; $FW&#x00A0;
icmp&#x00A0;&#x00A0;&#x00A0; 0,8,11,12<br /> <br /></li><li>Previously, if
the following error message was issued, Shorewall was left in an
inconsistent state.<br /> &#x00A0;<br /> &#x00A0;&#x00A0; Error: Unable to
determine the routes through interface xxx<br /> <br /></li><li>Handling of
the LOGUNCLEAN option in shorewall.conf has been corrected.</li><li>In
Shorewall 1.4.2, an optimization was added. This optimization involved
creating a chain named &#34;&#60;zone&#62;_frwd&#34; for most zones defined
using the /etc/shorewall/hosts file. It has since been discovered that in
many cases these new chains contain redundant rules and that the
&#34;optimization&#34; turns out to be less than optimal. The implementation
has now been corrected.</li><li>When the MARK value in a tcrules entry is
followed by &#34;:F&#34; or &#34;:P&#34;, the &#34;:F&#34; or &#34;:P&#34;
was previously only applied to the first Netfilter rule generated by the
entry. It is now applied to all entries.<br /></li></ol> <p><a
href="News.htm">More News</a></p> <p><a href="http://leaf.sourceforge.net"
target="_top"><img alt="(Leaf Logo)" border="0" height="36"
src="images/leaflogo.gif" width="49" /></a> Jacques Nilo and Eric Wolzak
have a LEAF (router/firewall/gateway on a floppy, CD or compact flash)
distribution called <i>Bering</i> that features Shorewall-1.4.2 and
Kernel-2.4.20. You can find their work at: <a
href="http://leaf.sourceforge.net/devel/jnilo">http://leaf.sourceforge.net/devel/jnilo<br />
</a></p> <b>Congratulations to Jacques and Eric on the recent release of
Bering 1.2!!!<br /> <br /> </b> <div style="text-align: center;"> <div
style="text-align: center;"><a href="http://www.shorewall.net" target="_top"><img
alt="(Protected by Shorewall)" src="images/ProtectedBy.png"
style="border: 0px solid ; width: 216px; height: 45px;" title="" /></a></div>
</div> <h2><a name="Donations"></a>Donations</h2> <p
style="text-align: left;"><a href="http://www.starlight.org"><img
align="left" alt="(Starlight Logo)" hspace="10" src="images/newlog.gif"
style="border: 4px solid ; width: 57px; height: 100px;" title="" /></a><br />
<big>Shorewall is free but if you try it and find it useful, please consider
making a donation to <a href="http://www.starlight.org">Starlight
Children&#39;s Foundation</a>. Thanks!</big><br /> <a
href="http://www.starlight.org"></a></p></td></tr></tbody></table> </center>
</div> <p><font size="2">Updated 12/21/2003 - <a href="support.htm">Tom
Eastep</a></font><br /> </p></body>
</html>