aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemko Lodder <remko@FreeBSD.org>2007-12-31 08:01:12 +0000
committerRemko Lodder <remko@FreeBSD.org>2007-12-31 08:01:12 +0000
commit4176be5dd7e0aa99b68c9048eeed63c0acae5a84 (patch)
treeb504021115b04fd6ad43b5bef1586f734ccb3362
parent936d578e7b332958827d40db2aad4a4100b18342 (diff)
Notes
-rw-r--r--nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml284
1 files changed, 160 insertions, 124 deletions
diff --git a/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml
index b5947f85cd..188ff8b9c7 100644
--- a/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml
@@ -3,7 +3,7 @@
$FreeBSD$
$FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml,v 1.33 2006/01/05 21:13:21 siebrand Exp $
- Gebaseerd op: 1.63
+ Gebaseerd op: 1.78
-->
<chapter id="firewalls">
@@ -199,7 +199,7 @@
</indexterm>
<para>Vanaf juli 2003 is de OpenBSD firewalltoepassing
- <acronym>PF</acronym> geporteerd naar &os; wn bwschikbaar gekomen
+ <acronym>PF</acronym> geporteerd naar &os; en beschikbaar gekomen
in de &os; Portscollectie. In november 2004 was &os;&nbsp;5.3 de
eerste release die <acronym>PF</acronym> bevatte is integraal
onderdeel van het basissysteem. <acronym>PF</acronym> is een
@@ -213,70 +213,10 @@
dat niet in dit onderdeel wordt opgenomen omdat dat niet nodig
is.</para>
- <para>Hieronder wordt de beschikbaarheid van PF voor de
- verschillende &os; releases en versies weergegeven:</para>
-
- <informaltable frame="none" pgwide="1">
- <tgroup cols="2">
- <thead>
- <row>
- <entry>&os; Versie</entry>
- <entry>PF Beschikbaarheid</entry>
- </row>
- </thead>
-
- <tbody>
- <row>
- <entry>Pre-4.X versie</entry>
-
- <entry>PF is niet beschikbaar voor uitgaven van &os; ouder
- dan de tak 4.X.</entry>
- </row>
-
- <row>
- <entry>Alle versies van de tak 4.X</entry>
- <entry>PF is beschikbaar als onderdeel van KAME.</entry>
- </row>
-
- <row>
- <entry>5.X uitgaven voor 5.3-RELEASE</entry>
-
- <entry>De port <filename
- role="package">security/pf</filename> kan gebruikt
- worden om PF te installeren op deze versie van &os;.
- Deze uitgaven waren gericht op ontwikkelaars en mensen
- die een voorproefje wilden hebben van vroege versies van
- 5.X. Het wordt sterk aangeraden om te upgraden naar
- 5.3-RELEASE of een nieuwere versie van &os;.</entry>
- </row>
-
- <row>
- <entry>5.3-RELEASE en latere versies</entry>
-
- <entry>PF onderdeel van het basissysteem. Gebruik de port
- <filename role="package">security/pf</filename> op deze
- versies van &os; <emphasis>niet</emphasis>. Dat werkt
- niet en dus dient de &man.pf.4;-ondersteuning uit het
- basissysteem gebruikt te worden.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
-
<para>Meer informatie staat op de <quote>PF voor &os;</quote>
website: <ulink
url="http://pf4freebsd.love2party.net/"></ulink>.</para>
- <para>Het OpenBSD PF gebruikershandboek staat hier: <ulink
- url="http://www.openbsd.org/faq/pf/"></ulink>.</para>
-
- <warning>
- <para>PF in &os;&nbsp;5.X staat op het niveau van OpenBSD versie
- 3.5. De port uit de &os; Portscollectie is op het niveau van
- OpenBSD versie 3.4. Houd dit in gedachten bij het doornemen
- van het gebruikershandboek.</para>
- </warning>
-
<sect2>
<title>PF inschakelen</title>
@@ -290,10 +230,23 @@
<note>
<para>De module verwacht dat <literal>options INET</literal> en
<literal>device bpf</literal> beschikbaar zijn. Tenzij
- <literal>NOINET6</literal> was ingesteld (bijvoorbeeld in
+ <literal>NOINET6</literal> was ingesteld voor &os; versies die
+ dateren voor 6.0-RELEASE, en <literal>NO_INET6</literal> voor
+ latere releases. (bijvoorbeeld in
&man.make.conf.5;) tijdens het bouwen, is ook
<literal>options INET6</literal> nodig.</para>
</note>
+
+ <para>Zora de kernel module geladen is of als PF ondersteuning
+ statisch in de kernel ingebakken is, is het mogelijk om pf met
+ het <command>pfctl</command> commando aan en uit te zetten:</para>
+
+ <screen>&prompt.root; <userinput>pfctl -e</userinput></screen>
+
+ <para>Het <command>pfctl</command> commando levert een manier om
+ te werken met de <application>pf</application> firewall. Het
+ is een goed idee om de &man.pfctl.8; handleiding te bekijken
+ voor meer informatie over het gebruik.</para>
</sect2>
<sect2>
@@ -430,6 +383,38 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<acronym>ALTQ</acronym> in. Deze optie is verplicht op
<acronym>SMP</acronym> systemen.</para>
</sect2>
+
+ <sect2>
+ <title>Filter regels aanmaken</title>
+
+ <para>De pakket filter leest zijn configuratie regels uit het
+ &man.pf.conf.5; bestand en het veranderd, dropt, of accepteert
+ pakketjes zoals gedefinieerd in de filter regels. De &os;
+ installatie komt met een standaard
+ <filename>/etc/pf.conf</filename> waarin nuttige voorbeelden
+ en uitleg staat.</para>
+
+ <para>Ook al heeft &os; zijn eigen <filename>/etc/pf.conf</filename>
+ bestand, de configuratie is hetzelfde als in OpenBSD. Een
+ geweldige bron voor het configureren van
+ <application>pf</application> is geschreven door het OpenBSD
+ team en is beschikbaar op <ulink
+ url="http://www.openbsd.org/faq/pf/"></ulink>.</para>
+
+ <warning>
+ <para>Wanneer door de pf gebruikers handleiding wordt
+ gebladerd, houd er dan rekening mee dat elke &os;
+ versie een andere versie van pf gebruikt. De
+ <application>pf</application> firewall in &os;&nbsp;5.X zit
+ op het niveau van OpenBSD versie 3.5 en in &os;&nbsp;6.X zit
+ het op het niveau van OpenBSD versie 3.7</para>
+ </warning>
+
+ <para>De &a.pf; is een goede plek om vragen te stellen over het
+ configureren en het draaien van de <application>pf</application>.
+ Vergeet niet om eerst de mailing lijst te controleren voor er
+ vragen gesteld worden.</para>
+ </sect2>
</sect1>
<sect1 id="firewalls-ipf">
@@ -502,6 +487,10 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para>De IPF FAQ is te vinden op <ulink
url="http://www.phildev.net/ipf/index.html"></ulink>.</para>
+ <para>Een doorzoekbaar archief van de open-source IPFilter mailing
+ lijst is beschikbaar op <ulink
+ url="http://marc.theaimsgroup.com/?l=ipfilter"></ulink>.</para>
+
<sect2>
<title>IPF inschakelen</title>
@@ -559,9 +548,7 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para>Voorbeeld kernelinstellingen voor IPF staan beschreven in
de <filename>/usr/src/sys/i386/conf/LINT</filename>in de
- kernelbroncode
- (<filename>/usr/src/sys/<replaceable>arch</replaceable>/conf/LINT</filename>
- voor &os;&nbsp;4.X) en worden hier beschreven:</para>
+ kernelbroncode en worden hier beschreven:</para>
<programlisting>options IPFILTER
options IPFILTER_LOG
@@ -792,10 +779,10 @@ Packet log flags set: (0)</screen>
om logboekgegevens te scheiden. Het maakt gebruik van speciale
groepen die <quote>facility</quote> en <quote>level</quote>
heten. &man.ipmon.8; in <option>-Ds</option> mode gebruikt
- <literal>security</literal> (<literal>local0</literal> in 4.X)
+ <literal>security</literal>
als <quote>facility</quote>naam. Alle door &man.ipmon.8;
- gelogde gegevens gaan naar <literal>security</literal>
- (<literal>local0</literal> in 4.X). De nu volgende levels
+ gelogde gegevens gaan naar <literal>security</literal>.
+ De nu volgende levels
kunnen gebruikt worden om de gelogde gegevens nog verder uit
elkaar te trekken als dat gewenst is.</para>
@@ -819,32 +806,24 @@ LOG_ERR &ndash; gelogde pakketten die een verkeerde opbouw hebben, "short"</scre
door softwaretoepassingen als IPF worden gegeven.</para>
<para>Zo kan de volgende instelling toegevoegd worden aan
- <filename>/etc/syslog.conf</filename> voor &os;&nbsp;5.X en
- later:</para>
+ <filename>/etc/syslog.conf</filename>:</para>
<programlisting>security.* /var/log/ipfilter.log</programlisting>
- <para>Voor &os;&nbsp;4.X kan de volgende regel aan
- <filename>/etc/syslog.conf</filename> toegevoegd worden:</para>
-
- <programlisting>local0.* /var/log/ipfilter.log</programlisting>
-
<para>Het deel <literal>security.*</literal>
- (<literal>local0.*</literal> in 4.X) betekent dat alle
- logberichten naar de aangegeven plaats geschreven moeten
- worden.</para>
+ betekent dat alle logberichten naar de aangegeven plaats
+ geschreven moeten worden.</para>
<para>Om de wijzigingen in
<filename>/etc/syslog.conf</filename> actief te maken kan er
gereboot worden of is het mogelijk de syslogtaak een schop te
geven zodat <filename>/etc/syslog.conf</filename> opnieuw
wordt ingelezen met <command>/etc/rc.d/syslogd
- reload</command>. Voor &os;&nbsp;4.X is dit <command>killall
- -HUP syslogd</command>. Het PID
- (procesnummer) is te achterhalen door een overzicht van taken
- te tonen met <command>ps &ndash;ax</command>. Het PID is het
- nummer in de linker kolom voor de regel waarop
- <quote>syslog</quote> staat.</para>
+ reload</command>. Het PID (procesnummer) is te achterhalen
+ door een overzicht van taken te tonen met
+ <command>ps &ndash;ax</command>. Het PID is het nummer in de
+ linker kolom voor de regel waarop <quote>syslog</quote>
+ staat.</para>
<para>Vaak wordt vergeten
<filename>/etc/newsyslog.conf</filename> te wijzigen om het
@@ -2005,19 +1984,24 @@ block in log first quick on dc0 all
<para>In grote netwerken komt er een moment waarop er gewoon
te veel adressen zijn om te bedienen met &eacute;&eacute;n
- <acronym>IP</acronym> adres. De volgende regel vertaalt
- alle verbindingen naar <hostid
- role="ipaddr">204.134.75.1</hostid>:</para>
+ <acronym>IP</acronym> adres. Als er een blok van publiekelijke
+ IP addressen beschikbaar is, dan kunnen deze adressen
+ gebruikt worden in een poel, welke door
+ IP<acronym>NAT</acronym> gebruikt kan worden om
+ &eacute;&eacute;n van de adressen te gebruiken als uitgaand
+ adres.</para>
+
+ <para>Bijvoorbeeld om alle pakketten te verstoppen achter
+ &eacute;&eacute;n een enkel IP adres:</para>
<programlisting>map dc0 192.168.1.0/24 -&gt; 204.134.75.1</programlisting>
- <para>Dit kan gewijzigd worden naar een reeks addressen met
- de volgende regel:</para>
+ <para>Een reeks van publiekelijke IP adressen kan gespecificeerd
+ worden met een netwerkmasker:</para>
<programlisting>map dc0 192.168.1.0/24 -&gt; 204.134.75.1&ndash;10</programlisting>
- <para>Er kan ook een subnet aangegeven worden met een CIDR
- notatie als in het volgende voorbeeld:</para>
+ <para>of door gebruik van de CIDR notatie:</para>
<programlisting>map dc0 192.168.1.0/24 -&gt; 204.134.75.0/24</programlisting>
</sect3>
@@ -2040,8 +2024,11 @@ block in log first quick on dc0 all
role="ipaddr">20.20.20.5</hostid> zijn, dan zou dit mogelijk
zijn met &eacute;&eacute;n van de volgende twee regels:</para>
- <programlisting>rdr dc0 20.20.20.5/32 port 80 -&gt; 10.0.10.25 port 80
-rdr dc0 0/32 port 80 -&gt; 10.0.10.25 port 80</programlisting>
+ <programlisting>rdr dc0 20.20.20.5/32 port 80 -&gt; 10.0.10.25 port 80</programlisting>
+
+ <para>of:</para>
+
+ <programlisting>rdr dc0 0.0.0.0/32 port 80 -&gt; 10.0.10.25 port 80</programlisting>
<para>Voor een DNS server op een LAN die ook vanuit internet
bereikbaar met zijn en die draait op <hostid
@@ -2131,28 +2118,6 @@ pass out quick on rl0 proto tcp from any to any port &gt; 1024 flags S keep stat
# Laat het datakanaal van de FTP server binnen voor actieve mode
pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</programlisting>
</sect3>
-
- <sect3>
- <title>FTP <acronym>NAT</acronym> proxy bug</title>
-
- <para>Vanaf &os;&nbsp;4.9, waar IPFILTER versie 3.4.31 bij zit,
- werkt de FTP proxy volgens de documentatie tot de sessie
- wordt afgesloten. Als dit wordt gedaan dan worden
- pakketten die terug komen van de FTP server geblokkeerd en
- gelogd als inkomend op poort 21. De <acronym>NAT</acronym>
- FTP proxy lijkt zijn tijdelijke regels te vroeg te
- verwijderen, nog voordat het antwoord van de FTP server
- dat de verbinding gesloten kan worden is ontvangen. Er is
- een PR gepost op de ipf mailinglijst.</para>
-
- <para>Hoewel dit niet opgelost kan worden, is het mogelijk
- een regel in te stellen waarmee de ongewilde logboekregels
- niet ontstaan. Als alternatief is het mogelijk ze gewoon
- te negeren. De meeste mensen maken niet zoveel gebruik van
- uitgaande FTP.</para>
-
- <programlisting>block in quick on rl0 proto tcp from any to any port = 21</programlisting>
- </sect3>
</sect2>
</sect1>
@@ -2334,16 +2299,87 @@ options IPV6FIREWALL_DEFAULT_TO_ACCEPT</programlisting>
<sect2 id="firewalls-ipfw-rc">
<title><filename>/etc/rc.conf</filename> opties</title>
- <para>Als IPFW niet in de kernel is gecompileerd, dan moet het
- geladen worden met de volgende instellingen in
- <filename>/etc/rc.conf</filename>:</para>
+ <para>Start de firewall:</para>
<programlisting>firewall_enable="YES"</programlisting>
- <para>Om de firewallregels uit een bestand te laden kan de
- volgende instelling gebruikt worden:</para>
+ <para>Om &eacute;&eacute;n van de standaard firewall types te
+ selecteren die geleverd wordt door &os; lees
+ <filename>/etc/rc.firewall</filename>, maak een selectie en
+ plaats de volgende regel:</para>
+
+ <programlisting>firewall_type="open"</programlisting>
- <programlisting>firewall_script="/etc/ipfw.rules"</programlisting>
+ <para>Beschikbare waardes voor deze instelling zijn:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>open</literal> &mdash; pass all traffic.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>client</literal> &mdash; beschermt alleen deze
+ machine.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>simple</literal> &mdash; beschermt het hele
+ netwerk.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>closed</literal> &mdash; blokkeert alle IP
+ verkeer, behalve voor lokaal verkeer.</para>
+ </listitem>
+
+ <listitem>
+ <para><literal>UNKNOWN</literal> &mdash; voorkomt het laden
+ de firewall regels.</para>
+ </listitem>
+
+ <listitem>
+ <para><filename>bestandsnaam</filename> &mdash; absoluut pad
+ naar een bestand dat firewall regels bevat.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Het is mogelijk om twee verschillende manieren te gebruiken
+ voor speciaal gemaakte regels voor de
+ <application>ipfw</application> firewall. &eacute;&eacute;n
+ daarvan is door het zetten van de
+ <literal>firewall_type</literal> variabele naar een absoluut
+ pad van een bestand, welke <emphasis>firewall regels</emphasis>
+ bevat, zonder enige specifieke opties voor &man.ipfw.8;. Een
+ simpel voorbeeld van een ruleset bestand kan zijn:</para>
+
+ <programlisting>add block in all
+add block out all</programlisting>
+
+ <para>Aan de andere kant is het mogelijk om de
+ <literal>firewall_script</literal> variabele te zetten naar een
+ absoluut pad van een uitvoerbaar bestand, welke inclusief
+ <command>ipfw</command> commandos uitgevoerd wordt tijdens het
+ opstarten van het systeem. Een geldig ruleset script dat
+ gelijkwaardig is aan het ruleset bestand hierboven, zou het
+ volgende zijn:</para>
+
+ <programlisting>#!/bin/sh
+
+ipfw -q flush
+
+ipfw add block in all
+ipfw add block out all</programlisting>
+
+ <note>
+ <para>Als <literal>firewall_type</literal> is gezet naar
+ <literal>client</literal> of <literal>simple</literal> moeten
+ de standaard regels die gevonden kunnen worden in
+ <filename>/etc/rc.firewall</filename> gecontroleerd worden om
+ te zien of deze configuratie voldoet voor de machine. Let
+ ook op dat alle voorbeelden die gebruikt zijn in dit hoofdstuk
+ ervanuit gaan dat de <literal>firewall_script</literal>
+ variabele gezet is naar <filename>/etc/ipfw.rules</filename>.</para>
+ </note>
<para>Om loggen in te schakelen:</para>
@@ -2738,8 +2774,8 @@ options IPV6FIREWALL_DEFAULT_TO_ACCEPT</programlisting>
<para>De mogelijkheden voor dynamische regels zijn kwetsbaar
voor een aanval die SYN&ndash;flood heet, waarmee wordt
geprobeerd een zeer groot aantal regels aan te laten maken.
- Om deze aanval tegen te gaan, is er vanaf &os; versie 4.5
- de optie <parameter>limit</parameter> beschikbaar. Met deze
+ Om deze aanval tegen te gaan, is de optie
+ <parameter>limit</parameter> beschikbaar. Met deze
optie kan het maximaal aantal simultane sessies geregeld
worden op basis van bron en bestemmingsvelden. Als het
aantal sessies gelijk aan het maximale aantal sessies is,