regen doc
[opensuse:susefirewall2.git] / doc / EXAMPLES.SuSEfirewall2.html
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>SuSEfirewall2 configuration examples</title><link rel="stylesheet" href="susebooks.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /></head><body><div class="article" title="SuSEfirewall2 configuration examples"><div class="titlepage"><div><div><h2 class="title"><a id="id265940"></a>SuSEfirewall2 configuration examples</h2></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id265976">1. Simple dialup</a></span></dt><dt><span class="section"><a href="#id284314">2. Small home network</a></span></dt><dt><span class="section"><a href="#id284333">3. Small home network with additional WLAN</a></span></dt><dt><span class="section"><a href="#id284353">4. Small company with external mail and web server</a></span></dt><dt><span class="section"><a href="#id284381">5. Company with IPsec tunnel to subsidiary</a></span></dt><dt><span class="section"><a href="#id282086">6. Company with web server in DMZ</a></span></dt><dt><span class="section"><a href="#id294413">7. Complex scenario</a></span></dt><dt><span class="section"><a href="#id266790">8. Laptop in private network but with additional public IP adresses</a></span></dt></dl></div><div class="important" title="Important" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Important</h3><p>
4       All options <span class="emphasis"><em>not</em></span> mentioned in a scenario should be
5       left as they are in the default
6       <code class="filename">sysconfig/SuSEfirewall2</code> config file.
7       Backup default config:
8       <code class="filename">/usr/share/doc/packages/SuSEfirewall2/SuSEfirewall2.sysconfig</code>
9     </p></div><div class="section" title="1. Simple dialup"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id265976"></a>1. Simple dialup</h2></div></div></div><p>
10       A user with his nice SUSE Linux PC wants to be protected when connected to
11       the internet via the ISDN dialup of his ISP. He wants to offer no
12       services to the internet. He is not connected to any other network, nor
13       are any other network cards active.
14
15       </p><div class="informalexample"><pre class="programlisting">
16 FW_DEV_EXT="ippp0"</pre></div><p>
17
18     </p></div><div class="section" title="2. Small home network"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id284314"></a>2. Small home network</h2></div></div></div><p>
19       A family owns multiple PCs, a SUSE Linux PC is connected to the internet
20       via DSL. The family's LAN uses private IPs therefore masquerading has to
21       be used. The Firewall provides no services whatsoever. The address of the
22       LAN is 192.168.10.0/24.
23
24       </p><div class="informalexample"><pre class="programlisting">FW_DEV_EXT="dsl0"
25 FW_DEV_INT="eth0"
26 FW_ROUTE="yes"
27 FW_MASQUERADE="yes"
28 FW_MASQ_NETS="192.168.10.0/24"</pre></div><p>
29
30     </p></div><div class="section" title="3. Small home network with additional WLAN"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id284333"></a>3. Small home network with additional WLAN</h2></div></div></div><p>
31       Same network as above but additionally the Firewall is also connected to
32       a wireless network. Hosts in the wireless network should get internet
33       access but are not allowed to communicate with the internal network. The
34       address of the WLAN is 192.168.20.0/24.
35
36       </p><div class="informalexample"><pre class="programlisting">FW_ZONES="wlan"
37 FW_DEV_EXT="dsl0"
38 FW_DEV_INT="eth0"
39 FW_DEV_wlan="wlan0"
40 FW_ROUTE="yes"
41 FW_MASQUERADE="yes"
42 FW_MASQ_NETS="192.168.10.0/24 192.168.20.0/24"</pre></div><p>
43
44     </p></div><div class="section" title="4. Small company with external mail and web server"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id284353"></a>4. Small company with external mail and web server</h2></div></div></div><p>
45       A company uses it's SUSE Linux PC to access the internet via an ISDN
46       dialup of it's ISP. It has got a static IP address and a web server
47       running on the PC plus it's mail-/pop3-server for the company. Squid is
48       running to cache www traffic. No internal PC should have direct access to
49       the internet. The LAN is connected to the interface
50       <code class="literal">eth0</code>.
51
52       </p><div class="informalexample"><pre class="programlisting">FW_DEV_EXT="ippp0"
53 FW_DEV_INT="eth0"
54 FW_SERVICES_EXT_TCP="smtp www"
55 FW_SERVICES_INT_TCP="smtp domain www pop3 3128"
56 FW_SERVICES_INT_UDP="domain"
57 FW_PROTECT_FROM_INT="yes"</pre></div><p>
58
59     </p></div><div class="section" title="5. Company with IPsec tunnel to subsidiary"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id284381"></a>5. Company with IPsec tunnel to subsidiary</h2></div></div></div><p>
60       A small company wants access to the internet for it's client PCs.
61       Additionally the subsidiariaries client PCs should get access to the
62       local network through an IPsec tunnel. Internet traffic should be
63       masqueraded but not traffic between subsidiaries.
64
65       </p><table border="0" summary="Simple list" class="simplelist"><tr><td>external interface: dsl0</td></tr><tr><td>internal interface: eth0</td></tr><tr><td>internal LAN: 10.10.0.0/16</td></tr><tr><td>remote LAN: 192.168.0.0/24</td></tr></table><p>
66
67       </p><div class="informalexample"><pre class="programlisting">FW_DEV_EXT="dsl0"
68 FW_DEV_INT="eth0"
69 FW_ROUTE="yes"
70 FW_MASQUERADE="yes"
71 FW_SERVICES_EXT_UDP="isakmp"
72 FW_SERVICES_EXT_IP="esp"
73 FW_FORWARD="10.10.0.0/16,192.168.1.0/24,,,ipsec 192.168.1.0/24,10.10.0.0/16,,,ipsec"
74 FW_MASQ_NETS="0/0,!192.168.1.0/24</pre></div><p>
75
76       </p><div class="warning" title="Warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p>
77           Setting up IPsec and a firewall is no guarantee for safe
78           communication! Use packet sniffers such as <code class="literal">tcpdump</code>
79           or <code class="literal">ethereal</code> to verify the traffic is actually sent
80           through the IPsec tunnel. Check the packet counts in the output of
81           <span class="command"><strong>SuSEfirewall2 status</strong></span>. The ESP accepting rule
82           must increase it's counter when encrypted traffic is supposed to
83           flow.
84         </p></div><p>
85
86     </p></div><div class="section" title="6. Company with web server in DMZ"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id282086"></a>6. Company with web server in DMZ</h2></div></div></div><p>
87
88     This company has got a more complex setup:
89
90       </p><pre class="screen">
91 Internet
92 |
93 |           Web server
94 |               |
95 SUSE-Firewall----
96 |
97 |---Mail server
98 |
99 |---Database
100 |
101 Internal LAN
102       </pre><p>
103
104       All Mail is delivered to the firewall. It also provides DNS service for
105       the internal and external networks. There's a DMZ where a Web server
106       resides (port 80 and port 443) which needs to connect to the Firewall to
107       deliver mail to the internal network, send syslog messages and do DNS
108       lookups. It needs also direct access to an internal database (bad idea!).
109       All mail which is delivered to the firewall, is sent to the internal mail
110       server. The mail server sends all mail destined for the internet to the
111       firewall. Internal PCs which access the internet should be masqueraded.
112
113       </p><table border="0" summary="Simple list" class="simplelist"><tr><td>external interface: eth2</td></tr><tr><td>DMZ interface: eth1</td></tr><tr><td>internal interface: eth0</td></tr><tr><td>IP of database: 192.168.1.3</td></tr><tr><td>TCP port of database: 4545</td></tr><tr><td>IP of web server: 200.200.200.200 (an official, assigned address!)</td></tr><tr><td>internal LAN: 192.168.1.0/24</td></tr></table><p>
114
115       </p><div class="note" title="Note" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Note</h3><p>
116           The name server on the firewall needs to be setup "split-brained". See
117           the DNS HOWTO.
118         </p></div><p>
119
120       The mail server on the firewall needs to be setup as a
121       relay for the internal network. The mail server on the internal
122       network has to use the firewall host as relay.
123
124       </p><div class="informalexample"><pre class="programlisting">FW_DEV_EXT="eth2"
125 FW_DEV_INT="eth0"
126 FW_DEV_DMZ="eth1"
127 FW_ROUTE="yes"
128 FW_MASQUERADE="yes"
129 FW_MASQ_NETS="192.168.1.0/24"
130 FW_SERVICES_EXT_TCP="smtp domain"
131 FW_SERVICES_EXT_UDP="domain"
132 FW_SERVICES_DMZ_TCP="smtp domain"
133 FW_SERVICES_DMZ_UDP="domain syslog"
134 FW_SERVICES_INT_TCP="smtp domain"
135 FW_SERVICES_INT_UDP="domain"
136 # access to the web server and allow access from the web server to the database
137 FW_FORWARD="0/0,200.200.200.200,tcp,80 \
138     0/0,200.200.200.200,tcp,443 \
139     200.200.200.200,192.168.1.3,tcp,4545"
140 # all DNS and mail is done by the firewall
141 FW_REDIRECT="192.168.1.0/24,0/0,tcp,53,53 \
142     192.168.1.0/24,0/0,tcp,25,25 \
143     192.168.1.0/24,0/0,udp,53,53"
144 FW_ALLOW_PING_DMZ="yes"</pre></div><p>
145
146         The redirect statements in this example are gimmicks to show how to use
147         them. In this example they send <span class="emphasis"><em>any</em></span> traffic from
148         the internal network, which go via the firewall and a are destined to a
149         target port of 53 (DNS) or 25 (Mail) to the local servers on the
150         firewall.
151
152       </p></div><div class="section" title="7. Complex scenario"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id294413"></a>7. Complex scenario</h2></div></div></div><p>
153
154         </p><pre class="screen">
155 Internet
156 |
157 |      Trusted_Company
158 |      |
159 |      |
160 SUSE-Firewall----Web server
161 |      |
162 |      |
163 |      |
164 |      |-- Admin Network
165 |
166 Internal LAN---Server (for the trusted_company)
167 |
168 Mail server
169       </pre><p>
170
171       The company has a connection to the internet but also to an additional
172       line to a trusted third party company, who needs SSH Access to an internal
173       server ("Server" on the map).
174       There is also a DMZ with a web server (www, https) which sends DNS, mail and
175       syslog to the firewall. The web server has got a private IP Address, hence it
176       must be reverse masqueraded. It gets being administrated with SSH from the
177       Admin LAN.
178       The Admin Network should be masqueraded to the internet and get full access.
179       The Internal LAN should also be masqueraded to the internet but only be allowed
180       to access www, https and ftp.
181       Only TCP connections from the Admin network to the internal LAN should be
182       allowed, not from the internal LAN to the Admin network.
183       No traffic between the internet and the trusted company should be allowed.
184       The firewall receives all mails and sends them to an internal mail server or
185       to the internet. It also provides DNS service to it's internal/dmz networks.
186
187       </p><table border="0" summary="Simple list" class="simplelist"><tr><td>external interface: eth4</td></tr><tr><td>trusted_company interface: eth3</td></tr><tr><td>DMZ interface: eth2</td></tr><tr><td>internal interface: eth1</td></tr><tr><td>admin interface: eth0</td></tr><tr><td>IP of web server : 10.0.10.2</td></tr><tr><td>IP of mail server: 10.0.2.2</td></tr><tr><td>IP of Server (for trusted_company): 10.0.2.3</td></tr><tr><td>Internal LAN: 10.0.2.0/24</td></tr><tr><td>Admin LAN: 10.0.1.0/24</td></tr><tr><td>Trusted_company LAN: 192.168.1.0/24</td></tr></table><p>
188
189       The mail server on the firewall needs to be setup as a
190       relay for the internal network. The mail server on the internal
191       network has to use the firewall host as relay.
192
193       </p><div class="informalexample"><pre class="programlisting">FW_DEV_EXT="eth3 eth4"
194 FW_DEV_INT="eth0 eth1"
195 FW_DEV_DMZ="eth2"
196 FW_ROUTE="yes"
197 FW_MASQUERADE="yes"
198 # full access for Admin LAN, www/https/ftp for internal
199 FW_MASQ_NETS="10.0.1.0/24 10.0.2.0/24,,tcp,21 10.0.2.0/24,,tcp,80 \
200     10.0.2.0/24,,tcp,443"
201 FW_SERVICES_EXT_TCP="smtp"
202 FW_SERVICES_DMZ_TCP="smtp domain"
203 FW_SERVICES_DMZ_UDP="domain syslog"
204 FW_SERVICES_INT_TCP="smtp domain"
205 FW_SERVICES_INT_UDP="domain"
206 FW_FORWARD="10.0.1.0/24,10.0.2.0/24,tcp 10.0.1.0/24,10.0.10.2,tcp,22"
207 # internet access to web server and trusted company access to internal Server
208 FW_FORWARD_MASQ="0/0,10.0.10.2,tcp,80 0/0,10.0.10.2,tcp,443 \
209 192.168.1.0/24,10.0.2.3,tcp,22"</pre></div><p>
210     </p></div><div class="section" title="8. Laptop in private network but with additional public IP adresses"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id266790"></a>8. Laptop in private network but with additional public IP adresses</h2></div></div></div><p>
211
212       </p><pre class="screen">
213 Internet
214 |
215 |
216 |
217 Router
218 |
219 |
220 LAN -- Laptop with SuSEfirewall2
221 |
222 |
223 LAN Server
224       </pre><p>
225
226       The LAN uses private IP addresses, masquerading is performed by a
227       hardware router or another SuSEfirewall2 host. In addition to the LAN IP
228       the laptop got an official IP address as well. The laptop has only one
229       network interface and wants to offer ssh. The router forwards all traffic
230       for that IP address to the laptop.
231
232       </p><table border="0" summary="Simple list" class="simplelist"><tr><td>network interface: eth0</td></tr><tr><td>official IP of laptop: 200.200.200.200</td></tr><tr><td>internal LAN: 192.168.1.0/24</td></tr></table><p>
233
234       Since all traffic is forwarded to the laptop <code class="literal">eth0</code> must
235       be considered untrustworthy, i.e. external.
236
237       </p><div class="informalexample"><pre class="programlisting">FW_DEV_EXT="eth0"
238 FW_SERVICES_EXT_TCP="ssh"
239 FW_TRUSTED_NETS="192.168.1.0/24"</pre></div><p>
240
241       Note that broadcasts are blocked in the external zone by default. You may
242       change that to allow them in this scenario.
243
244       </p></div></div></body></html>