source: postlfs/security/firewalling.xml@ bbdb0ff4

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since bbdb0ff4 was bbdb0ff4, checked in by Randy McMurchy <randy@…>, 19 years ago

Removed excess multiple spaces from the ends of lines

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4493 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 24.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6]>
7
8<sect1 id="fw-firewall" xreflabel="Firewalling">
9 <?dbhtml filename="firewall.html"?>
10
11 <sect1info>
12 <othername>$LastChangedBy$</othername>
13 <date>$Date$</date>
14 </sect1info>
15
16 <title>Setting Up a Network Firewall</title>
17
18 <para>Before you read this part of the chapter, you should have
19 already installed iptables as described in the previous section.</para>
20
21 <sect2 id="fw-intro" xreflabel="Firewalling Introduction">
22 <title>Introduction to Firewall Creation</title>
23
24 <para>The general purpose of a firewall is to protect a computer or
25 a network against malicious access.</para>
26
27 <para>In a perfect world, every daemon or service on every machine
28 is perfectly configured and immune to flaws such as buffer overflows
29 or other problems regarding its security. Furthermore, you trust
30 every user accessing your services. In this world, you do not need
31 to have a firewall.</para>
32
33 <para>In the real world however, daemons may be misconfigured and
34 exploits against essential services are freely available. You may
35 wish to choose which services are accessible by certain machines or
36 you may wish to limit which machines or applications are allowed
37 external access. Alternatively, you may simply not trust some of
38 your applications or users. You are probably connected to the
39 Internet. In this world, a firewall is essential.</para>
40
41 <para>Don't assume however, that having a firewall makes careful
42 configuration redundant, or that it makes any negligent
43 misconfiguration harmless. It doesn't prevent anyone from exploiting
44 a service you intentionally offer but haven't recently updated or
45 patched after an exploit went public. Despite having a firewall, you
46 need to keep applications and daemons on your system properly
47 configured and up to date. A firewall is not a cure all, but should
48 be an essential part of your overall security startegy.</para>
49
50 </sect2>
51
52 <sect2>
53 <title>Meaning of the Word "Firewall"</title>
54
55 <para>The word firewall can have several different meanings.</para>
56
57 <sect3>
58 <title><xref linkend="fw-persFw"/></title>
59
60 <para>This is a hardware device or software program commercially
61 sold by companies such as Symantec which claims that it secures
62 a home or desktop computer with Internet access. This type of
63 firewall is highly relevant for users who do not know how their
64 computers might be accessed via the Internet or how to disable
65 that access, especially if they are always online and connected
66 via broadband links.</para>
67
68 </sect3>
69
70 <sect3>
71 <title><xref linkend="fw-masqRouter"/></title>
72
73 <para>This is a system placed between the Internet and an intranet.
74 To minimize the risk of compromising the firewall itself, it should
75 generally have only one role&mdash;that of protecting the intranet.
76 Although not completely risk free, the tasks of doing the routing and
77 IP masquerading (rewriting IP headers of the packets it routes from
78 clients with private IP addresses onto the Internet so that they seem
79 to come from the firewall itself) are commonly considered relatively
80 secure.</para>
81
82 </sect3>
83
84 <sect3>
85 <title><xref linkend="fw-busybox"/></title>
86
87 <para>This is often an old computer you may have retired and nearly
88 forgotten, performing masquerading or routing functions, but offering
89 non-firewall services such as a web-cache or mail. This may be used
90 for home networks, but is not be considered as secure as a firewall
91 only machine because the combination of server and router/firewall on
92 one machine raises the complexity of the setup.</para>
93
94 </sect3>
95
96 <sect3>
97 <title>Firewall with a Demilitarized Zone [Not Further
98 Described Here]</title>
99
100 <para>This box performs masquerading or routing, but grants public
101 access to some branch of your network which, because of public IP's
102 and a physically separated structure, is essentially a separate
103 network with direct Internet access. The servers on this network are
104 those which must be easily accessible from both the Internet and
105 intranet. The firewall protects both networks. This type of firewall
106 has a minimum of three network interfaces.</para>
107
108 </sect3>
109
110 <sect3>
111 <title>Packetfilter</title>
112
113 <para>This type of firewall does routing or masquerading, but does
114 not maintain a state table of ongoing communication streams. It is
115 fast, but quite limited in its ability to block inappropriate packets
116 without blocking desired packets.</para>
117
118 </sect3>
119
120 </sect2>
121
122 <sect2 id="fw-writing" xreflabel="writing the firewalling-setup-scripts">
123 <title>Now You Can Start to Build your Firewall</title>
124
125 <caution>
126 <para>This introduction on how to setup a firewall is not a
127 complete guide to securing systems. Firewalling is a complex
128 issue that requires careful configuration. The scripts quoted
129 here are simply intended to give examples of how a firewall
130 works. They are not intended to fit into any particular
131 configuration and may not provide complete protection from
132 an attack.</para>
133
134 <para>Customization of these scripts for your specific situation
135 will be necessary for an optimal configuration, but you should
136 make a serious study of the iptables documentation and creating
137 firewalls in general before hacking away. Have a look at the
138 list of <xref linkend="fw-library"/> at the end of this section for
139 more details. There you will find a list of URLs that contain quite
140 comprehensive information about building your own firewall.</para>
141 </caution>
142
143 <para>The firewall configuration script installed in the last section
144 differs from the standard configuration script. It only has two of
145 the standard targets: start and status. The other targets are clear
146 and lock. For instance when you run:</para>
147
148<screen role="root"><userinput>/etc/rc.d/init.d/iptables start</userinput></screen>
149
150 <para>the firewall will be restarted just as it is upon system startup.
151 The status target will present a list of all currently implemented
152 rules. The clear target turns off all firewall rules and the lock
153 target will block all packets in and out of the computer with the
154 exception of the loopback interface.</para>
155
156 <para>The main startup firewall is located in the file
157 <filename>/etc/rc.d/rc.iptables</filename>. The sections below provide
158 three different approaches that can be used for a system.</para>
159
160 <note>
161 <para>You should always run your firewall rules from a script.
162 This ensures consistency and a record of what was done. It also
163 allows retention of comments that are essential for understanding
164 the rules long after they were written.</para>
165 </note>
166
167 <sect3 id="fw-persFw" xreflabel="Personal Firewall">
168 <title>Personal Firewall</title>
169
170 <para>A Personal Firewall is designed to let you access all the
171 services offered on the Internet, but keep your box secure and
172 your data private.</para>
173
174 <para>Below is a slightly modified version of Rusty Russell's
175 recommendation from the <ulink
176 url="http://www.netfilter.org/documentation/HOWTO/packet-filtering-HOWTO.html">
177 Linux 2.4 Packet Filtering HOWTO</ulink>. It is still applicable
178 to the Linux 2.6 kernels.</para>
179
180<screen role="root"><userinput>cat &gt; /etc/rc.d/rc.iptables &lt;&lt; "EOF"
181<literal>#!/bin/sh
182
183# Begin $rc_base/rc.iptables
184
185# Insert connection-tracking modules
186# (not needed if built into the kernel)
187modprobe ip_tables
188modprobe iptable_filter
189modprobe ip_conntrack
190modprobe ip_conntrack_ftp
191modprobe ipt_state
192modprobe ipt_LOG
193
194# Enable broadcast echo Protection
195echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
196
197# Disable Source Routed Packets
198echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_source_route
199
200# Enable TCP SYN Cookie Protection
201echo 1 &gt; /proc/sys/net/ipv4/tcp_syncookies
202
203# Disable ICMP Redirect Acceptance
204echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_redirects
205
206# Don¹t send Redirect Messages
207echo 0 &gt; /proc/sys/net/ipv4/conf/all/send_redirects
208
209# Drop Spoofed Packets coming in on an interface, where responses
210# would result in the reply going out a different interface.
211echo 1 &gt; /proc/sys/net/ipv4/conf/all/rp_filter
212
213# Log packets with impossible addresses.
214echo 1 &gt; /proc/sys/net/ipv4/conf/all/log_martians
215
216# be verbose on dynamic ip-addresses (not needed in case of static IP)
217echo 2 &gt; /proc/sys/net/ipv4/ip_dynaddr
218
219# disable Explicit Congestion Notification
220# too many routers are still ignorant
221echo 0 &gt; /proc/sys/net/ipv4/tcp_ecn
222
223# Set a known state
224iptables -P INPUT DROP
225iptables -P FORWARD DROP
226iptables -P OUTPUT DROP
227
228# These lines are here in case rules are already in place and the
229# script is ever rerun on the fly. We want to remove all rules and
230# pre-exisiting user defined chains before we implement new rules.
231iptables -F
232iptables -X
233iptables -Z
234
235iptables -t nat -F
236
237# Allow local-only connections
238iptables -A INPUT -i lo -j ACCEPT
239
240# Free output on any interface to any ip for any service
241# (equal to -P ACCEPT)
242iptables -A OUTPUT -j ACCEPT
243
244# Permit answers on already established connections
245# and permit new connections related to established ones
246# (e.g. port mode ftp)
247iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
248
249# Log everything else. What's Windows' latest exploitable vulnerability?
250iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT "
251
252# End $rc_base/rc.iptables</literal>
253EOF</userinput></screen>
254
255 <para>This script is quite simple, it drops all traffic coming
256 in into your computer that wasn't initiated from your box, but
257 as long as you are simply surfing the Internet you are unlikely
258 to exceed its limits.</para>
259
260 <para>If you frequently encounter certain delays at accessing
261 ftp-servers, take a look at <xref linkend="fw-BB-4"/>.</para>
262
263 <para>Even if you have daemons or services running on your system,
264 these will be inaccessible everywhere but from your computer itself.
265 If you want to allow access to services on your machine, such as
266 <command>ssh</command> or <command>ping</command>, take a look at
267 <xref linkend="fw-busybox"/>.</para>
268
269 </sect3>
270
271 <sect3 id="fw-masqRouter" xreflabel="Masquerading Router">
272 <title>Masquerading Router</title>
273
274 <para>A true Firewall has two interfaces, one connected to an
275 intranet, in this example <emphasis role="strong">eth0</emphasis>,
276 and one connected to the Internet, here <emphasis
277 role="strong">ppp0</emphasis>. To provide the maximum security
278 for the firewall itself, make sure that there are no unnecessary
279 servers running on it such as <application>X11</application> et
280 al. As a general principle, the firewall itself should not access
281 any untrusted service (Think of a remote server giving answers that
282 makes a daemon on your system crash, or, even worse, that implements
283 a worm via a buffer-overflow).</para>
284
285<screen role="root"><userinput>cat &gt; /etc/rc.d/rc.iptables &lt;&lt; "EOF"
286<literal>#!/bin/sh
287
288# Begin $rc_base/rc.iptables
289
290echo
291echo "You're using the example configuration for a setup of a firewall"
292echo "from Beyond Linux From Scratch."
293echo "This example is far from being complete, it is only meant"
294echo "to be a reference."
295echo "Firewall security is a complex issue, that exceeds the scope"
296echo "of the configuration rules below."
297echo "You can find additional information"
298echo "about firewalls in Chapter 4 of the BLFS book."
299echo "http://www.linuxfromscratch.org/blfs"
300echo
301
302# Insert iptables modules (not needed if built into the kernel).
303
304modprobe ip_tables
305modprobe iptable_filter
306modprobe ip_conntrack
307modprobe ip_conntrack_ftp
308modprobe ipt_state
309modprobe iptable_nat
310modprobe ip_nat_ftp
311modprobe ipt_MASQUERADE
312modprobe ipt_LOG
313modprobe ipt_REJECT
314
315# Enable broadcast echo Protection
316echo 1 &gt; /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
317
318# Disable Source Routed Packets
319echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_source_route
320
321# Enable TCP SYN Cookie Protection
322echo 1 &gt; /proc/sys/net/ipv4/tcp_syncookies
323
324# Disable ICMP Redirect Acceptance
325echo 0 &gt; /proc/sys/net/ipv4/conf/all/accept_redirects
326
327# Don¹t send Redirect Messages
328echo 0 &gt; /proc/sys/net/ipv4/conf/all/send_redirects
329
330# Drop Spoofed Packets coming in on an interface where responses
331# would result in the reply going out a different interface.
332echo 1 &gt; /proc/sys/net/ipv4/conf/all/rp_filter
333
334# Log packets with impossible addresses.
335echo 1 &gt; /proc/sys/net/ipv4/conf/all/log_martians
336
337# Be verbose on dynamic ip-addresses (not needed in case of static IP)
338echo 2 &gt; /proc/sys/net/ipv4/ip_dynaddr
339
340# Disable Explicit Congestion Notification
341# Too many routers are still ignorant
342echo 0 &gt; /proc/sys/net/ipv4/tcp_ecn
343
344# Set a known state
345iptables -P INPUT DROP
346iptables -P FORWARD DROP
347iptables -P OUTPUT DROP
348
349# These lines are here in case rules are already in place and the
350# script is ever rerun on the fly. We want to remove all rules and
351# pre-exisiting user defined chains before we implement new rules.
352iptables -F
353iptables -X
354iptables -Z
355
356iptables -t nat -F
357
358# Allow local connections
359iptables -A INPUT -i lo -j ACCEPT
360iptables -A OUTPUT -o lo -j ACCEPT
361
362# Allow forwarding if the initiated on the intranet
363iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
364iptables -A FORWARD -i ! ppp+ -m state --state NEW -j ACCEPT
365
366# Do masquerading
367# (not needed if intranet is not using private ip-addresses)
368iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE
369
370# Log everything for debugging
371# (last of all rules, but before policy rules)
372iptables -A INPUT -j LOG --log-prefix "FIREWALL:INPUT "
373iptables -A FORWARD -j LOG --log-prefix "FIREWALL:FORWARD"
374iptables -A OUTPUT -j LOG --log-prefix "FIREWALL:OUTPUT "
375
376# Enable IP Forwarding
377echo 1 &gt; /proc/sys/net/ipv4/ip_forward</literal>
378EOF</userinput></screen>
379
380 <para>With this script your intranet should be reasonably secure
381 against external attacks. No one should be able to setup a new
382 connection to any internal service and, if it's masqueraded,
383 makes your intranet invisible to the Internet. Furthermore, your
384 firewall should be relatively safe because there are no services
385 running that a cracker could attack.</para>
386
387 <note>
388 <para>If the interface you're connecting to the Internet
389 doesn't connect via ppp, you will need to change
390 <replaceable>ppp+</replaceable> to the name of the interface,
391 e.g. <emphasis role="strong">eth1</emphasis>, which you are
392 using.</para>
393 </note>
394
395 </sect3>
396
397 <sect3 id="fw-busybox" xreflabel="BusyBox">
398 <title>BusyBox</title>
399
400 <para>This scenario isn't too different from the <xref
401 linkend="fw-masqRouter"/>, but additionally offers some
402 services to your intranet. Examples of this can be when
403 you want to administer your firewall from another host on
404 your intranet or use it as a proxy or a name server.</para>
405
406 <note>
407 <para>Outlining a true concept of how to protect a server that
408 offers services on the Internet goes far beyond the scope of
409 this document. See the references at the end of this section
410 for more information.</para>
411 </note>
412
413 <para>Be cautious. Every service you have enabled makes your
414 setup more complex and your firewall less secure. You are
415 exposed to the risks of misconfigured services or running
416 a service with an exploitable bug. A firewall should generally
417 not run any extra services. See the introduction to the
418 <xref linkend="fw-masqRouter"/> for some more details.</para>
419
420 <para>If you want to add services such as internal samba or
421 name servers that do not need to access the Internet themselves,
422 the additional statements are quite simple and should still be
423 acceptable from a security standpoint. Just add the following lines
424 into the script <emphasis>before</emphasis> the logging rules.</para>
425
426<screen><literal>iptables -A INPUT -i ! ppp+ -j ACCEPT
427iptables -A OUTPUT -o ! ppp+ -j ACCEPT</literal></screen>
428
429 <para>If daemons, such as squid, have to access the Internet
430 themselves, you could open OUTPUT generally and restrict
431 INPUT.</para>
432
433<screen><literal>iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
434iptables -A OUTPUT -j ACCEPT</literal></screen>
435
436 <para>However, it is generally not advisable to leave OUTPUT
437 unrestricted. You lose any control over trojans who would like
438 to "call home", and a bit of redundancy in case you've
439 (mis-)configured a service so that it broadcasts its existence
440 to the world.</para>
441
442 <para>To accomplish this, you should restrict INPUT and OUTPUT
443 on all ports except those that it's absolutely necessary to have
444 open. Which ports you have to open depends on your needs: mostly
445 you will find them by looking for failed accesses in your log
446 files.</para>
447
448 <itemizedlist spacing="compact" role='iptables'>
449 <title>Have a Look at the Following Examples:</title>
450 <listitem>
451 <para>Squid is caching the web:</para>
452
453<screen><literal>iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
454iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED \
455 -j ACCEPT</literal></screen>
456
457 </listitem>
458 <listitem>
459 <para>Your caching name server (e.g., named) does its
460 lookups via udp:</para>
461
462<screen><literal>iptables -A OUTPUT -p udp --dport 53 -j ACCEPT</literal></screen>
463
464 </listitem>
465 <listitem>
466 <para>You want to be able to ping your box to
467 ensure it's still alive:</para>
468
469<screen><literal>iptables -A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
470iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT</literal></screen>
471
472 </listitem>
473 <listitem>
474 <para><anchor id='fw-BB-4' xreflabel="BusyBox example number 4"/>If
475 you are frequently accessing ftp servers or enjoy chatting, you might
476 notice certain delays because some implementations of these daemons
477 have the feature of querying an identd on your system to obtain
478 usernames. Although there's really little harm in this, having an
479 identd running is not recommended because many security experts feel
480 the service gives out too much additional information.</para>
481
482 <para>To avoid these delays you could reject the requests
483 with a 'tcp-reset':</para>
484
485<screen><literal>iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset</literal></screen>
486
487 </listitem>
488 <listitem>
489 <para>To log and drop invalid packets (packets
490 that came in after netfilter's timeout or some types of
491 network scans):</para>
492
493<screen><literal>iptables -I INPUT -p tcp -m state --state INVALID \
494 -j LOG --log-prefix "FIREWALL:INVALID"
495iptables -I INPUT -p tcp -m state --state INVALID -j DROP</literal></screen>
496
497 </listitem>
498 <listitem>
499 <para>Anything coming from the outside should not have a
500 private address, this is a common attack called IP-spoofing:</para>
501
502<screen><literal>iptables -A INPUT -i ppp+ -s 10.0.0.0/8 -j DROP
503iptables -A INPUT -i ppp+ -s 172.16.0.0/12 -j DROP
504iptables -A INPUT -i ppp+ -s 192.168.0.0/16 -j DROP</literal></screen>
505
506 <para>There are other addresses that you may also want to
507 drop: 0.0.0.0/8, 127.0.0.0/8, 224.0.0.0/3 (multicast and
508 experimental), 169.254.0.0/16 (Link Local Networks), and
509 192.0.2.0/24 (IANA defined test network).</para>
510 </listitem>
511 <listitem>
512 <para>If your firewall is a DHCP client, you need to allow
513 those packets:</para>
514
515<screen><literal>iptables -A INPUT -i ppp0 -p udp -s 0.0.0.0 --sport 67 \
516 -d 255.255.255.255 --dport 68 -j ACCEPT</literal></screen>
517
518 </listitem>
519 <listitem>
520 <para>To simplify debugging and be fair to anyone who'd like
521 to access a service you have disabled, purposely or by mistake,
522 you could REJECT those packets that are dropped.</para>
523
524 <para>Obviously this must be done directly after logging as the very
525 last lines before the packets are dropped by policy:</para>
526
527<screen><literal>iptables -A INPUT -j REJECT</literal></screen>
528
529 </listitem>
530 </itemizedlist>
531
532 <para>These are only examples to show you some of the capabilities
533 of the firewall code in Linux. Have a look at the man page of iptables.
534 There you will find much more information. The port numbers needed for
535 this can be found in <filename>/etc/services</filename>, in case you
536 didn't find them by trial and error in your log file.</para>
537
538 </sect3>
539
540 </sect2>
541
542 <sect2 id="fw-finale" xreflabel="Conclusion">
543 <title>Conclusion</title>
544
545 <para>Finally, there is one fact you must not forget: The effort spent
546 attacking a system corresponds to the value the cracker expects to gain
547 from it. If you are responsible for valuable information, you need to
548 spend the time to protect it properly.</para>
549
550 </sect2>
551
552 <sect2 id="postlfs-security-fw-extra" xreflabel="Extra Information">
553 <title>Extra Information</title>
554
555 <sect3 id="fw-library" xreflabel="Links for further reading">
556 <title>Where to Start with Further Reading on Firewalls.</title>
557
558 <blockquote>
559 <literallayout>
560<ulink url="http://www.netfilter.org/">www.netfilter.org - Homepage of the netfilter/iptables project</ulink>
561<ulink url="http://www.netfilter.org/documentation/FAQ/netfilter-faq.html">Netfilter related FAQ</ulink>
562<ulink url="http://www.netfilter.org/documentation/index.html#HOWTO">Netfilter related HOWTO's</ulink>
563<ulink url="http://en.tldp.org/LDP/nag2/x-087-2-firewall.html">en.tldp.org/LDP/nag2/x-087-2-firewall.html</ulink>
564<ulink url="http://en.tldp.org/HOWTO/Security-HOWTO.html">en.tldp.org/HOWTO/Security-HOWTO.html</ulink>
565<ulink url="http://en.tldp.org/HOWTO/Firewall-HOWTO.html">en.tldp.org/HOWTO/Firewall-HOWTO.html</ulink>
566<ulink url="http://www-106.ibm.com/developerworks/security/library/s-fire.html">www.ibm.com/developerworks/security/library/s-fire.html</ulink>
567<ulink url="http://www-106.ibm.com/developerworks/security/library/s-fire2.html">www.ibm.com/developerworks/security/library/s-fire2.html</ulink>
568<ulink url="http://www.interhack.net/pubs/fw-faq/">www.interhack.net/pubs/fw-faq/</ulink>
569<ulink url="http://www.linuxsecurity.com/docs/">www.linuxsecurity.com/docs/</ulink>
570<ulink url="http://www.little-idiot.de/firewall">www.little-idiot.de/firewall (German &amp; outdated, but very comprehensive)</ulink>
571<ulink url="http://www.linuxgazette.com/issue65/stumpel.html">www.linuxgazette.com/issue65/stumpel.html</ulink>
572<ulink url="http://linux.oreillynet.com/pub/a/linux/2000/03/10/netadmin/ddos.html">linux.oreillynet.com/pub/a/linux/2000/03/10/netadmin/ddos.html</ulink>
573<ulink url="http://staff.washington.edu/dittrich/misc/ddos">staff.washington.edu/dittrich/misc/ddos</ulink>
574<ulink url="http://www.e-infomax.com/ipmasq">www.e-infomax.com/ipmasq</ulink>
575<ulink url="http://www.circlemud.org/~jelson/writings/security/index.htm">www.circlemud.org/~jelson/writings/security/index.htm</ulink>
576<ulink url="http://www.securityfocus.com">www.securityfocus.com</ulink>
577<ulink url="http://www.cert.org/tech_tips/">www.cert.org - tech_tips</ulink>
578<ulink url="http://security.ittoolbox.com/">security.ittoolbox.com</ulink>
579<ulink url="http://www.linux-firewall-tools.com/linux/">www.linux-firewall-tools.com/linux/</ulink>
580<ulink url="http://logi.cc/linux/athome-firewall.php3">logi.cc/linux/athome-firewall.php3</ulink>
581<ulink url="http://www.insecure.org/reading.html">www.insecure.org/reading.html</ulink>
582<ulink url="http://www.robertgraham.com/pubs/firewall-seen.html">www.robertgraham.com/pubs/firewall-seen.html</ulink>
583 </literallayout>
584 </blockquote>
585
586 </sect3>
587
588 </sect2>
589
590</sect1>
591
Note: See TracBrowser for help on using the repository browser.