aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nl_NL.ISO8859-1/articles/Makefile4
-rw-r--r--nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml1036
2 files changed, 506 insertions, 534 deletions
diff --git a/nl_NL.ISO8859-1/articles/Makefile b/nl_NL.ISO8859-1/articles/Makefile
index a876c620d9..3d62a9816d 100644
--- a/nl_NL.ISO8859-1/articles/Makefile
+++ b/nl_NL.ISO8859-1/articles/Makefile
@@ -1,7 +1,7 @@
-# $FreeBSD: doc/nl_NL.ISO8859-1/articles/Makefile,v 1.4 2008/12/27 20:34:02 rene Exp $
+# $FreeBSD$
# %SOURCE% en_US.ISO8859-1/articles/Makefile
-# %SRCID% 1.60
+# %SRCID% 1.61
SUBDIR =
SUBDIR+= contributing
diff --git a/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml b/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml
index 280a1f4f03..80edffac58 100644
--- a/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml
+++ b/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml
@@ -2,10 +2,9 @@
The FreeBSD Dutch Documentation Project
$FreeBSD$
- $FreeBSDnl: doc/nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml,v 1.33 2006/01/05 21:13:21 siebrand Exp $
%SOURCE% en_US.ISO8859-1/books/handbook/firewalls/chapter.sgml
- %SRCID% 1.86
+ %SRCID% 1.90
-->
<chapter id="firewalls">
@@ -30,6 +29,10 @@
<surname>Mazeland</surname>
<contrib>Vertaald door </contrib>
</author>
+ <author>
+ <firstname>Ren&eacute;</firstname>
+ <surname>Ladan</surname>
+ </author>
</authorgroup>
</chapterinfo>
@@ -138,12 +141,24 @@
alleen verkeer toe dat past bij de regels en blokkeert al het
overige verkeer.</para>
- <para>Inclusieve firewalls zijn in het algemeen veiliger dan
- exclusieve firewalls omdat ze het risico op het toestaan van
- ongewild verkeer door een firewall aanzienlijk reduceren.</para>
+ <para>Een inclusieve firewall biedt veel betere controle over het
+ uitgaande verkeer, waardoor het een betere keuze is voor systemen
+ die diensten op het publieke Internet aanbieden. Het beheert ook
+ het type verkeer dat van het publieke Internet afkomt en toegang
+ heeft tot uw priv&eacute;-netwerk. Al het verkeer dat niet aan
+ de regels voldoet wordt geblokkeerd en gelogd, dat is zo
+ ontworpen. Inclusieve firewalls zijn over het algemeen veiliger
+ dan exclusieve firewalls omdat ze het risico dat ongewenst verkeer
+ door ze heen gaat aanzienlijk verminderen.</para>
+
+ <note>
+ <para>Tenzij anders aangegeven, cre&euml;eren alle configuraties
+ en voorbeelden van regelverzamelingen in dit hoofdstuk inclusieve
+ firewalls.</para>
+ </note>
<para>De beveiliging kan nog verder vergroot worden met een
- <quote>stateful firewall</quote>. Een stateful firewall houdt
+ <quote>stateful firewall</quote>. Dit type firewall houdt
bij welke connecties er door de firewall tot stand zijn gekomen
en laat alleen verkeer door dat bij een bestaande connectie hoort
of onderdeel is van een connectie in opbouw. Het nadeel van een
@@ -166,15 +181,14 @@
beheersen van bandbreedtegebruik): &man.altq.4; en
&man.dummynet.4;. Dummynet is traditioneel sterk verbonden met
<acronym>IPFW</acronym> en <acronym>ALTQ</acronym> met
- <acronym>PF</acronym>. Het vormgeven van verkeer voor
- <acronym>IPFILTER</acronym> kan momenteel gedaan worden met
- <acronym>IPFILTER</acronym> voor NAT en filtering en
+ <acronym>PF</acronym>. Het vormgeven van verkeer voor IPFILTER kan
+ momenteel gedaan worden met IPFILTER voor NAT en filtering en
<acronym>IPFW</acronym> met &man.dummynet.4;
<emphasis>of</emphasis> door <acronym>PF</acronym> met
<acronym>ALTQ</acronym> te gebruiken. IPFW en PF
gebruiken allemaal regels om de toegang van pakketten tot een
- systeem te regelen, hoewel ze dat op andere manieren doen en de
- syntaxis voor regels anders is.</para>
+ systeem te regelen, hoewel ze dat op andere manieren doen en ze
+ een andere regelsyntaxis hebben.</para>
<para>De reden dat er meerdere firewallpakketten in &os; zitten is
dat verschillende mensen verschillende eisen en voorkeuren
@@ -188,7 +202,7 @@
<para>Omdat alle firewalls gebaseerd zijn op het inspecteren van
aangegeven controlevelden in pakketten, moet iemand die sets van
- firewallregels opstelt begrijpen hoe <acronym>TCP</acronym>/IP
+ firewallregels opstelt begrijpen hoe <acronym>TCP/IP</acronym>
werkt, welke waarde de controlevelden kunnen hebben en hoe die
waarden gebruikt worden in normaal verkeer. Op de volgende
webpagina wordt een prima uitleg gegeven: <ulink
@@ -207,8 +221,7 @@
</authorgroup>
</sect1info>
- <title>De OpenBSD Packet Filter (PF) en
- <acronym>ALTQ</acronym></title>
+ <title>De OpenBSD Packet Filter (PF) en <acronym>ALTQ</acronym></title>
<indexterm>
<primary>firewall</primary>
@@ -243,14 +256,14 @@
<title>De laadbare kernelmodule voor PF gebruiken</title>
<para>Sinds de uitgave van &os;&nbsp;5.3 wordt PF geleverd in de
- basisinstallatie als een aparte runtime laadbare module. Het
+ basisinstallatie als een aparte tijdens runtime laadbare module. Het
systeem zal de PF kernelmodule dynamisch laden wanneer het
statement <literal>pf_enable="YES"</literal> voor
&man.rc.conf.5; aanwezig is. De <acronym>PF</acronym> module
- zal echter niet laden als het systeem geen instellingenbestand
- met een <acronym>PF</acronym> ruleset kan vinden. De
+ zal echter niet geladen worden als het systeem geen instellingenbestand
+ met een <acronym>PF</acronym>-regelverzameling kan vinden. De
standaardplaats is <filename>/etc/pf.conf</filename>. Indien uw
- <acronym>PF</acronym> ruleset ergens anders staat, voeg dan
+ <acronym>PF</acronym>-regelverzameling ergens anders staat, voeg dan
<literal>pf_rules="<replaceable>/pad/pf.rules</replaceable>"</literal>
aan uw instellingenbestand <filename>/etc/rc.conf</filename> toe
om de plaats te specificeren.</para>
@@ -306,8 +319,8 @@
<acronym>PF</acronym> wordt gebruikt prijsgeeft. Het kan worden
gecombineerd met &man.carp.4; om failover firewalls aan te maken
die gebruik maken van <acronym>PF</acronym>. Meer informatie
- over <acronym>CARP</acronym> kan gevonden worden in <link
- linkend="carp">hoofdstuk 29</link> van het handboek.</para>
+ over <acronym>CARP</acronym> kan gevonden worden in <xref
+ linkend="carp"> van het Handboek.</para>
<para>De kernelopties voor <acronym>PF</acronym> kunnen gevonden
worden in <filename>/usr/src/sys/conf/NOTES</filename> en zijn
@@ -444,7 +457,7 @@ pflog_flags="" # aanvullende vlaggen voor opstarten pflogd</pro
<entry><command>pfctl <option>-vnf</option> /etc/pf.conf</command></entry>
<entry>Controleer <filename>/etc/pf.conf</filename> op
- fouten, maar laad de ruleset niet</entry>
+ fouten, maar laad de regelverzameling niet</entry>
</row>
</tbody>
</tgroup>
@@ -474,34 +487,34 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<para><literal>options ALTQ</literal> schakelt het
<acronym>ALTQ</acronym> raamwerk in.</para>
- <para><literal>options ALTQ_CBQ</literal> schakelt Class Based
- Queuing (<acronym>CBQ</acronym>) in. Met
+ <para><literal>options ALTQ_CBQ</literal> schakelt <emphasis>Class Based
+ Queuing</emphasis> (<acronym>CBQ</acronym>) in. Met
<acronym>CBQ</acronym> kan de bandbreedte van een verbinding
worden opgedeeld in verschillende klassen of wachtrijen om
verkeer te prioriteren op basis van filterregels.</para>
- <para><literal>options ALTQ_RED</literal> schakelt Random Early
- Detection (<acronym>RED</acronym>) in. <acronym>RED</acronym>
- wordt gebruikt om netwerkverstopping te voorkomen.
- <acronym>RED</acronym> doet dit door de lengte van de wachtrij
- te meten en die te vergelijken met de minimale en maximale
+ <para><literal>options ALTQ_RED</literal> schakelt <emphasis>Random Early
+ Detection</emphasis> (<acronym>RED</acronym>) in.
+ <acronym>RED</acronym> wordt gebruikt om netwerkverstopping te
+ voorkomen. <acronym>RED</acronym> doet dit door de lengte van de
+ wachtrij te meten en die te vergelijken met de minimale en maximale
drempelwaarden voor de wachtrij. Als de wachtrij groter is
dan de maximale waarde worden alle nieuwe pakketten genegeerd.
Het werkt naar zijn naam, dus <acronym>RED</acronym> negeert
willekeurig pakketten van verschillende verbindingen.</para>
- <para><literal>options ALTQ_RIO</literal> schakelt Random Early
- Detection In and Out in.</para>
+ <para><literal>options ALTQ_RIO</literal> schakelt <emphasis>Random Early
+ Detection In and Out</emphasis> in.</para>
<para><literal>options ALTQ_HFSC</literal> schakelt de
- Hierarchical Fair Service Curve Packet Scheduler in. Meer
- informatie over <acronym>HFSC</acronym> staat op <ulink
+ <emphasis>Hierarchical Fair Service Curve Packet Scheduler</emphasis>
+ in. Meer informatie over <acronym>HFSC</acronym> staat op <ulink
url="http://www-2.cs.cmu.edu/~hzhang/HFSC/main.html"></ulink>.</para>
- <para><literal>options ALTQ_PRIQ</literal> schakelt Priority
- Queuing (<acronym>PRIQ</acronym>) in. <acronym>PRIQ</acronym>
- laat verkeerd dat in een hogere wachtrij staat altijd eerder
- door.</para>
+ <para><literal>options ALTQ_PRIQ</literal> schakelt <emphasis>Priority
+ Queuing</emphasis> (<acronym>PRIQ</acronym>) in.
+ <acronym>PRIQ</acronym> laat verkeer dat in een hogere wachtrij staat
+ altijd eerder door.</para>
<para><literal>options ALTQ_NOPCC</literal> schakelt
<acronym>SMP</acronym> ondersteuning voor
@@ -519,11 +532,6 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<secondary>IPFILTER</secondary>
</indexterm>
- <note>
- <para>Aan dit onderdeel wordt nog gewerkt. De inhoud is wellicht
- niet altijd volledig en juist.</para>
- </note>
-
<para>Darren Reed is de auteur van IPFILTER, dat niet afhankelijk
is van &eacute;&eacute;n besturingssysteem. Het is een open
source applicatie die is geporteerd naar &os;, NetBSD, OpenBSD,
@@ -549,10 +557,10 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
<literal>quick</literal> en <literal>keep state</literal>
toegevoegd waarmee de logica van het verwerken van regels
drastisch is gemoderniseerd. In de offici&euml;le documentatie
- van IPF worden de verouderde regels en verwerkingslogica
+ van IPF worden alleen de regels en verwerkingslogica
behandeld. De moderne functies worden alleen behandeld als
- opties, waardoor hun nut dat er een veiliger firewall mee te
- maken volledig onderbelicht blijft.</para>
+ opties, waardoor hun nut dat er een veel betere en veiligere firewall mee
+ te maken volledig onderbelicht blijft.</para>
<para>De instructies in dit hoofdstuk zijn gebaseerd op regels die
gebruik maken van de optie <literal>quick</literal> en de
@@ -560,16 +568,6 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
raamwerk waarmee een set van inclusieve firewallregels wordt
samengesteld.</para>
- <para>Een inclusieve firewall staat alleen pakketten toe die
- voldoen aan de regels. Op die manier kan er in de hand
- gehouden worden welke diensten van binnen de firewall naar
- buiten mogen en welke diensten op het private netwerk vanaf
- het Internet bereikbaar zijn. Al het andere verkeer wordt
- vanuit het ontwerp standaard geblokkeerd en gelogd.
- Inclusieve firewalls zijn veel veiliger dan exclusieve
- firewalls. Het is ook de enige wijze voor de opzet van een
- firewall die in dit hoofdstuk wordt behandeld.</para>
-
<para>Voor een gedetailleerde uitleg over de verwerking van de
verouderde regels zie
<ulink
@@ -602,8 +600,8 @@ options ALTQ_NOPCC # Required for SMP build</programlisting>
pass all</literal> ingeschakeld. IPF hoeft niet in de
kernel gecompileerd te worden om het standaardgedrag te
wijzigen naar <literal>block all</literal>. Dat is mogelijk
- door als laatste regel een regel toe te voegen die al het
- verkeer blokkeert.</para>
+ door op het einde van de regelverzameling een regel <literal>block
+ all</literal> toe te voegen die al het verkeer blokkeert.</para>
</sect2>
<sect2>
@@ -669,8 +667,8 @@ options IPFILTER_DEFAULT_BLOCK</programlisting>
<sect2>
<title>Beschikbare opties voor rc.conf</title>
- <para>De volgende instellingen moeten in <filename>/etc/rc.conf
- </filename> staan om IPF bij het booten te activeren:</para>
+ <para>De volgende instellingen moeten in <filename>/etc/rc.conf</filename>
+ staan om IPF bij het opstarten te activeren:</para>
<programlisting>ipfilter_enable="YES" # Start ipf firewall
ipfilter_rules="/etc/ipf.rules" # laad regels uit het doelbestand
@@ -681,9 +679,9 @@ ipmon_flags="-Ds" # D = start als daemon
# n = vertaal IP &amp; poort naar namen</programlisting>
<para>Als er een LAN achter de firewall staat dat gebruik maakt
- van <acronym>IP</acronym> adressen uit de privaat reeks, dan
+ van <acronym>IP</acronym>-adressen uit de private reeks, dan
moet de volgende optie ook ingesteld worden om
- <acronym>NAT</acronym> functionaliteit in te schakelen:</para>
+ <acronym>NAT</acronym>-functionaliteit in te schakelen:</para>
<programlisting>gateway_enable="YES" # Schakel in als LAN gateway
ipnat_enable="YES" # Start ipnat functie
@@ -695,7 +693,7 @@ ipnat_rules="/etc/ipnat.rules" # bestand met regels voor ipnat</programlistin
<indexterm><primary><command>ipf</command></primary></indexterm>
- <para>&man.ipf.8; wordt gebruikt om het bestand met
+ <para>Het commando &man.ipf.8; wordt gebruikt om het bestand met
firewallregels te laden. Gewoonlijk wordt er een bestand
aangemaakt waarin de situatieafhankelijke regels staan
waarmee in &eacute;&eacute;n keer de bestaande regels kunnen
@@ -768,9 +766,9 @@ Fastroute successes: 0 failures: 0
Packet log flags set: (0)</screen>
<para>Als er als optie <option>-i</option> voor inkomend of
- <option>-o</option> voor uitgaand wordt meegegeven, dan wordt
- de juiste lijst met regels die de kernel op dat moment gebruikt
- weergegeven.</para>
+ <option>-o</option> voor uitgaand wordt meegegeven, dan zal het
+ commando de juiste lijst met regels die de kernel op dat moment gebruikt
+ wordt weergeven.</para>
<para><command>ipfstat &ndash;in</command> toont de tabel met
regels voor inkomend verkeer met regelnummers</para>
@@ -802,7 +800,7 @@ Packet log flags set: (0)</screen>
<command>ipfstat</command> is de vlag <option>-t</option>
waarmee de staat-tabel wordt getoond op een wijze die
vergelijkbaar is met de wijze waarop &man.top.1; de draaiende
- &os; procestabel toont. Als een firewall wordt aangevallen dan
+ &os; procestabel toont. Als een firewall wordt aangevallen, dan
geeft deze functie de mogelijkheid om de pakketten van de
aanvaller te identificeren en nader te onderzoeken. De
optionele subvlaggen bieden de mogelijkheid om een bron of
@@ -835,9 +833,10 @@ Packet log flags set: (0)</screen>
IPFILTER ingesteld om samen te werken. &os; heeft ingebouwde
mogelijkheden om automatisch syslogs te roteren. Daarom is
het beter om de uitvoer naar &man.syslogd.8; te schrijven
- dan naar een gewoon bestand. In <filename>rc.conf</filename>
- is te zien dat de instelling <literal>ipmon_flags</literal>
- de waarde <option>-Ds</option> heeft:</para>
+ dan naar een gewoon bestand. In de standaardversie van het bestand
+ <filename>rc.conf</filename> is te zien dat de instelling
+ <literal>ipmon_flags</literal> de waarde <option>-Ds</option>
+ heeft:</para>
<programlisting>ipmon_flags="-Ds" # D = start als daemon
# s = log naar syslog
@@ -849,11 +848,11 @@ Packet log flags set: (0)</screen>
pakketten heeft de firewall laten vallen, waar kwamen ze
vandaan en waar gingen ze heen? Dit zijn allemaal voordelen
als het gaat om uitvinden waar een aanvaller vandaan komt en
- wat hij heeft geprobeerd.</para>
+ wat deze heeft geprobeerd.</para>
- <para>Zelfs als loggen is ingeschakeld logt IPF nog niets uit
- zichzelf. De beheerder van de firewall beslist welke actieve
- regels iets weg moeten schrijven door het sleutelwoord
+ <para>Zelfs als loggen is ingeschakeld, logt IPF nog niets uit
+ zichzelf. De beheerder van de firewall beslist welke regels in de
+ regelverzameling iets weg moeten schrijven door het sleutelwoord
<literal>log</literal> aan die regels toe te voegen.
Gewoonlijk worden alleen <literal>deny</literal> regels
gelogd.</para>
@@ -887,16 +886,17 @@ LOG_ERR &ndash; gelogde pakketten die een verkeerde opbouw hebben, "short"</scre
<para>Om IPFILTER alle gelogde gegevens naar
<filename>/var/log/ipfilter.log</filename> te laten schrijven,
- dient dat bestand te bestaan. Dat kan met het volgende
+ dient dat bestand vooraf te bestaan. Dat kan met het volgende
commando:</para>
<screen>&prompt.root; <userinput>touch /var/log/ipfilter.log</userinput></screen>
- <para>De syslogfunctie wordt beheerd met instellingen in
- <filename>/etc/syslog.conf</filename>.
+ <para>De functionaliteit van &man.syslogd.8; wordt beheerd met
+ instellingen in <filename>/etc/syslog.conf</filename>.
<filename>syslog.conf</filename> biedt aanzienlijke
- flexibiliteit in hoe syslog omgaat met systeemberichten die
- door softwaretoepassingen als IPF worden gegeven.</para>
+ flexibiliteit in hoe <application>syslog</application> omgaat met
+ systeemberichten die door softwaretoepassingen als IPF worden
+ gegeven.</para>
<para>Zo kan de volgende instelling toegevoegd worden aan
<filename>/etc/syslog.conf</filename>:</para>
@@ -908,9 +908,9 @@ LOG_ERR &ndash; gelogde pakketten die een verkeerde opbouw hebben, "short"</scre
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
+ <filename>/etc/syslog.conf</filename> actief te maken kan er opnieuw
+ opgestart worden of is het mogelijk de daemon &man.syslogd.8; een schop
+ te geven zodat <filename>/etc/syslog.conf</filename> opnieuw
wordt ingelezen met <command>/etc/rc.d/syslogd
reload</command>. Het PID (procesnummer) is te achterhalen
door een overzicht van taken te tonen met
@@ -975,10 +975,9 @@ LOG_ERR &ndash; gelogde pakketten die een verkeerde opbouw hebben, "short"</scre
<listitem>
<para>De adressen. Dit zijn eigenlijk drie velden: het
- bronadres en poort gescheiden door een komma het symbool
- -&gt; en het bestemmingsadres en poort.
- <literal>209.53.17.22,80 -&gt;
- 198.73.220.17,1722</literal>.</para>
+ bronadres en poort gescheiden door een komma, het symbool
+ -&gt; en het bestemmingsadres en poort, bijvoorbeeld:
+ <literal>209.53.17.22,80 -&gt; 198.73.220.17,1722</literal>.</para>
</listitem>
<listitem>
@@ -1015,8 +1014,8 @@ LOG_ERR &ndash; gelogde pakketten die een verkeerde opbouw hebben, "short"</scre
regels bevat en stellen dat op zo'n manier op dat het
uitgevoerd kan worden als een script met substitutie. Het
grote voordeel van deze werkwijze is dat er dan alleen de
- waarde van een variabele gewijzigd hoeft te worden en dat
- als het script opnieuw wordt uitgevoerd, op alle plaatsen
+ waarde geassocieerd met een symbolische naam gewijzigd hoeft te worden
+ en dat als het script opnieuw wordt uitgevoerd, op alle plaatsen
waar de variabele wordt gebruikt, de nieuwe waarde in de
regels wordt opgenomen. Omdat het een script is, kan
substitutie gebruik worden om vaak voorkomende waarden
@@ -1025,8 +1024,7 @@ LOG_ERR &ndash; gelogde pakketten die een verkeerde opbouw hebben, "short"</scre
onderstaande voorbeeld.</para>
<para>De syntaxis die in het script wordt gebruikt is
- compatibel met de shells <command>sh</command>,
- <command>csh</command> en <command>tcsh</command>.</para>
+ compatibel met de shells &man.sh.1;, &man.csh.1; en &man.tcsh.1;.</para>
<para>Velden waarvoor substitutie van toepassing is worden
vooraf gegaan door het dollarteken
@@ -1076,9 +1074,8 @@ EOF
voorbeeld, maar tonen hoe substitutievelden worden
gedefinieerd en hoe ze worden gebruikt. Als het bovenstaande
voorbeeld de inhoud van
- <filename>/etc/ipf.rules.script</filename> was, dan kon het
- geladen worden door het vanaf de commandoregel aan te
- roepen:</para>
+ <filename>/etc/ipf.rules.script</filename> was, dan konden deze regels
+ herladen worden door het vanaf de commandoregel aan te roepen:</para>
<screen>&prompt.root; <userinput>sh /etc/ipf.rules.script</userinput></screen>
@@ -1107,11 +1104,11 @@ EOF
<filename>/etc/rc.conf</filename> (dit is de
standaardwaarde).</para>
- <para>Voeg een script zoals de volgende toe aan de
- <filename>/usr/local/etc/rc.d</filename> opstart
- directory. Het script zou een duidelijke naam
- moeten hebben zoals <filename>ipf.loadrules.sh</filename>.
- De <filename>.sh</filename> is noodzakelijk.</para>
+ <para>Voeg een script zoals de volgende toe aan de opstartmap
+ <filename class="directory">/usr/local/etc/rc.d</filename>. Het
+ script zou een duidelijke naam moeten hebben zoals
+ <filename>ipf.loadrules.sh</filename>. De uitbreiding
+ <filename>.sh</filename> is noodzakelijk.</para>
<programlisting>#!/bin/sh
sh /etc/ipf.rules.script</programlisting>
@@ -1130,21 +1127,22 @@ sh /etc/ipf.rules.script</programlisting>
<sect2>
<title>Sets van IPF regels</title>
- <para>Een set regels is een groep <command>ipf</command> regels
+ <para>Een set regels is een groep IPF-regels
die is gemaakt om pakketten toe te staan of te blokkeren op
basis van de eigenschappen van dat pakket. De
bi-directionele uitwisseling van pakketten tussen hosts
bestaat uit een gesprek dat een sessie heet. De set van
- firewallregels beoordeelt pakketten twee keer: als het
- aankomt van de host op het publieke Internet en als het de
- host weer verlaat op de weg terug naar de host op het
- publieke Internet. Iedere <acronym>TCP</acronym>/IP dienst
- als telnet, www, mail, etc, heeft zijn eigen protocol, bron
- <acronym>IP</acronym> adres en bestemmings
- <acronym>IP</acronym> adres of de bron- en bestemmingspoort.
- Deze attributen vormen de basis voor het opstellen van regels
- waarmee diensten toegelaten of geblokkeerd kunnen
- worden.</para>
+ firewallregels verwerkt zowel de pakketten die arriveren van het
+ publieke Internet, als de pakketten die door het systeem zijn
+ geproduceerd als een antwoord erop. Elke
+ <acronym>TCP/IP</acronym>-dienst (i.e. telnet, www, mail, enz.) is
+ vooraf gedefinieerd door een protocol en bevoorrechte (luister)poort.
+ Pakketten bedoeld voor een speciale dienst beginnen bij het bronadres
+ gebruik makend van een onbevoorrechte (hogere orde) poort en komen aan
+ bij de specifieke dienstpoort op het bestemmingsadres. Alle
+ bovengenoemde parameters (poorten en adressen) kunnen gebruikt worden
+ als selectiecriteria om regels aan te maken die diensten zullen toestaan
+ of blokkeren.</para>
<indexterm>
<primary>IPFILTER</primary>
@@ -1161,21 +1159,11 @@ sh /etc/ipf.rules.script</programlisting>
gemoderniseerd.</para>
<para>De instructies in dit hoofdstuk zijn gebaseerd op regels
- die gebruik maken van de optie <parameter>quick</parameter>
- en de stateful optie <parameter>keep state</parameter>. Dit
+ die gebruik maken van de optie <quote>quick</quote>
+ en de stateful optie <quote>keep state</quote>. Dit
is het raamwerk waarmee een set van inclusieve firewallregels
wordt samengesteld.</para>
- <para>Een inclusieve firewall staat alleen diensten toe die
- voldoen aan de regels. Op die manier kan er in de hand
- gehouden worden welke diensten van binnen de firewall naar
- buiten mogen en welke diensten op het private netwerk vanaf
- het Internet bereikbaar zijn. Al het andere verkeer wordt
- vanuit het ontwerp standaard geblokkeerd en gelogd.
- Inclusieve firewalls zijn veel veiliger dan exclusieve
- firewalls. Het is ook de enige wijze voor de opzet van een
- firewall die in dit hoofdstuk wordt behandeld.</para>
-
<warning>
<para>Werk bij het wijzigen van firewallregels <emphasis>zeer
voorzichtig</emphasis>. Met sommige instellingen is een
@@ -1268,9 +1256,10 @@ sh /etc/ipf.rules.script</programlisting>
<para>Een verplicht onderdeel voor iedere filterregel waarin
expliciet wordt aangegeven op welke zijde van de in/uit
- hij van toepassing is. Het volgende sleutelwoord moet
- <parameter>in</parameter> of <parameter>out</parameter>
- zijn, anders is de regel syntactisch onjuist.</para>
+ deze van toepassing is. Het volgende sleutelwoord moet
+ <literal>in</literal> of <literal>out</literal>
+ zijn en &eacute;&eacute;n van de twee moet gecodeerd worden, anders
+ is de regel syntactisch onjuist.</para>
<para><literal>in</literal> betekent dat de regel van
toepassing is op inkomende pakketten.</para>
@@ -1309,8 +1298,8 @@ sh /etc/ipf.rules.script</programlisting>
(<literal>in</literal>/<literal>out</literal>). Ook deze
optie is verplicht voor de moderne regels.</para>
- <para>Als een pakket wordt gelogd, dan wordt de kop van het
- pakket weggeschreven naar het <devicename>ipl</devicename>
+ <para>Als een pakket wordt gelogd, dan worden de koppen van het
+ pakket weggeschreven naar het <acronym>ipl</acronym>
pakketloggende pseudo&ndash;apparaat. Direct na het
sleutelwoord <literal>log</literal> mogen de volgende opties
gebruikt worden (in de aangegeven volgorde):</para>
@@ -1320,8 +1309,8 @@ sh /etc/ipf.rules.script</programlisting>
kop.</para>
<para><literal>first</literal>; als het sleutelwoord
- <literal>log</literal> samen met <parameter>keep
- state</parameter> wordt gebruikt, wordt het aangeraden om
+ <literal>log</literal> samen met een optie <literal>keep
+ state</literal> wordt gebruikt, wordt het aangeraden om
deze optie ook te gebruiken zodat alleen het pakket dat als
eerste in de sessie van toepassing was en niet ook alle
pakketten die daarna in de sessie volgens
@@ -1355,9 +1344,9 @@ sh /etc/ipf.rules.script</programlisting>
<literal>udp</literal>, <literal>icmp</literal> of ieder
ander protocol dat in <filename>/etc/protocols</filename>
staat wordt herkend en kan gebruikt worden. Het bijzondere
- protocol sleutelwoord <literal>tcp/udp</literal> kan gebruikt
- worden om zowel voor <acronym>TCP</acronym> als
- UDP pakketten van toepassing te laten zijn. Het is
+ protocolsleutelwoord <literal>tcp/udp</literal> kan gebruikt
+ worden om zowel voor <acronym>TCP</acronym>- als
+ <acronym>UDP</acronym>-pakketten van toepassing te laten zijn. Het is
toegevoegd voor het gemak om vrijwel gelijke regels te
voorkomen.</para>
</sect3>
@@ -1369,28 +1358,25 @@ sh /etc/ipf.rules.script</programlisting>
hetzelfde als <literal>from any to any</literal> zonder
overige parameters.</para>
- <para><literal>from bron to dest</literal>; de
+ <para><literal>from bron to bestemming</literal>; de
sleutelwoorden <literal>from</literal> en
<literal>to</literal> worden gebruikt om te testen op
- <acronym>IP</acronym> adressen. In regels moet zowel een
- bron als bestemmings <acronym>IP</acronym> adres
+ <acronym>IP</acronym>-adressen. In regels moet
+ <emphasis>zowel</emphasis> een bron- <emphasis>als</emphasis>
+ bestemmings-<acronym>IP</acronym>-adres
aangegeven worden. <literal>any</literal> is een
- bijzonder sleutelwoord dat van toepassing is voor ieder
- <acronym>IP</acronym> adres als in <literal>from any to
- any</literal> of <literal>from 0.0.0.0/0 to any</literal>
- of <literal>from any to 0.0.0.0/0</literal> of
- <literal>from 0.0.0.0 to any</literal> of <literal>from
- any to 0.0.0.0</literal>.</para>
-
- <para><acronym>IP</acronym> adressen mogen ingevoerd worden
- in de vorm numeriek, door punten gescheiden
- adres/maskerlengte of als een enkelvoudig
- <acronym>IP</acronym> adres in de vorm numeriek, door
- punten gescheiden.</para>
-
- <para>Het is vaak lastig om te komen tot een reeks adressen
- in de vorm adres/masker. De volgende webpagina kan daar
- wellicht bij helpen: <ulink
+ bijzonder sleutelwoord dat van toepassing is op ieder
+ <acronym>IP</acronym>-adres. Voorbeelden van gebruik: <literal>from
+ any to any</literal> of <literal>from 0.0.0.0/0 to any</literal> of
+ <literal>from any to 0.0.0.0/0</literal> of <literal>from 0.0.0.0 to
+ any</literal> of <literal>from any to 0.0.0.0</literal>.</para>
+
+ <para>Het is vaak lastig om te komen tot een reeks IP-adressen die zich
+ niet gemakkelijk laten uitdrukken met de gepunte numerieke vorm/
+ maskerlengte notatie. De port <filename
+ role="package">net-mgmt/ipcalc</filename> kan gebruikt worden om de
+ berekeningen te vereenvoudigen. Aanvullende informatie is beschikbaar
+ op de webpagina van het gereedschap: <ulink
url="http://jodies.de/ipcalc"></ulink>.</para>
</sect3>
@@ -1399,9 +1385,10 @@ sh /etc/ipf.rules.script</programlisting>
<para>Als in een regel op een poort wordt gecontroleerd, voor
bron- of bestemmingspoort of beiden, dan is dat alleen van
- toepassing op <acronym>TCP</acronym> en UDP pakketten. Bij
- het maken van poortvergelijkingen kunnen zowel de dienstnamen
- uit <filename>/etc/services</filename> als een uit een
+ toepassing op <acronym>TCP</acronym>- en
+ <acronym>UDP</acronym>-pakketten. Bij het maken van
+ poortvergelijkingen kunnen zowel de dienstnamen uit
+ <filename>/etc/services</filename> als een uit een
natuurlijk getal bestaand poortnummer ingesteld worden. Als
de poort onderdeel is van het <literal>from</literal> object
dan wordt het vergeleken met het poortnummer van de bron en
@@ -1411,17 +1398,15 @@ sh /etc/ipf.rules.script</programlisting>
is in de moderne regels verplicht en neemt de vorm aan van
<literal>from any to any port = 80</literal>.</para>
- <para>Poortvergelijkingen kunnen op verschillende manieren
- ingesteld worden met een aantal verschillende operators.
+ <para>Enkelvoudige poortvergelijkingen kunnen op verschillende manieren
+ gedaan worden met een aantal verschillende operatoren.
Er kunnen ook reeksen van poorten ingesteld worden.</para>
- <para><literal>port =</literal> of een van de volgende
- operators: <literal>!=, &lt;, &gt;, &lt;, &gt;=, eq, ne,
- lt, gt, le, ge</literal>.</para>
+ <para>poort "=" | "!=" | "&lt;" | "&gt;" | "&lt;=" | "&gt;=" |
+ "eq" | "ne" | "lt" | "gt" | "le" | "ge"</para>
<para>Reeksen van poorten worden met de volgende optie
- aangegeven: <parameter>port &lt;&gt;</parameter> of
- <parameter>&gt;&lt;</parameter>.</para>
+ aangegeven: poort &lt;&gt; | &gt;&lt;</para>
<warning>
<para>De volgende twee parameters die betrekking hebben op
@@ -1431,12 +1416,12 @@ sh /etc/ipf.rules.script</programlisting>
</sect3>
<sect3>
- <title>TCP_VLAG</title>
+ <title><acronym>TCP</acronym>_VLAG</title>
<para>Vlaggen zijn alleen beschikbaar voor het filteren
van <acronym>TCP</acronym>. De letters staan voor
de mogelijke vlaggen die bekeken kunnen worden in de
- kop van een <acronym>TCP</acronym> pakket.</para>
+ kop van een <acronym>TCP</acronym>-pakket.</para>
<para>In de moderne regels wordt de optie <literal>flags
S</literal> gebruikt om het verzoek tot het starten van
@@ -1475,9 +1460,10 @@ sh /etc/ipf.rules.script</programlisting>
pakketten die niet passen in de sessie, worden automatisch
geblokkeerd.</para>
- <para><literal>keep state</literal> staat ook ICMP pakketten toe
- die gerelateerd zijn aan een <acronym>TCP</acronym> of UDP
- sessie. Dus als er een ICMP type 3 code 4 komt in antwoord op
+ <para><literal>keep state</literal> staat ook
+ <acronym>ICMP</acronym>-pakketten toe die gerelateerd zijn aan een
+ <acronym>TCP</acronym>- of <acronym>UDP</acronym>-sessie. Dus als er
+ een <acronym>ICMP</acronym>-type 3 code 4 komt in antwoord op
websurfen, dat wordt toegestaan van binnen naar buiten door een
<literal>keep state</literal> regel, dan wordt dat toegelaten.
Pakketten waarvan IPF zeker is dat ze onderdeel zijn van de
@@ -1489,19 +1475,20 @@ sh /etc/ipf.rules.script</programlisting>
vergeleken met de dynamische staattabel. Als een pakket
voldoet aan de verwachting van het volgende pakket in de
sessie, dan mag het de firewall verlaten en wordt de
- staattabel bijgewerkt. De overige pakketten worden
- vergeleken met de set van regels voor uitgaand
- verkeer.</para>
+ toestand van de sessie in de dynamische toestandstabel bijgewerkt.
+ Pakketten die niet bij een reeds actieve sessie horen, worden tegen de
+ uitgaande regelverzameling gecontroleerd.</para>
<para>Pakketten die binnenkomen op de interface die met
Internet is verbonden worden eerst vergeleken met de
dynamische staattabel. Als een pakket voldoet aan de
verwachting van het volgende pakket in de sessie, dan mag het
- de firewall verlaten en wordt de staattabel bijgewerkt. De
- overige pakketten worden vergeleken met de set van regels
- voor uitgaand verkeer.</para>
+ de firewall verlaten en wordt de toestand van de sessie in de dynamische
+ toestandstabel bijgewerkt. Pakketten die niet bij een reeds actieve
+ sessie horen, worden vergeleken met de regelverzameling voor
+ binnenkomend verkeer.</para>
- <para>Als de sessie wordt be&euml;indigd wordt hij uit de
+ <para>Als de sessie wordt be&euml;indigd wordt het uit de
dynamische staattabel verwijderd.</para>
<para>Met stateful filteren is het mogelijk om de focus te
@@ -1522,10 +1509,16 @@ sh /etc/ipf.rules.script</programlisting>
<para>De onderstaande regels zijn een voorbeeld van hoe een
erg veilige inclusieve firewall opgezet kan worden. Een
inclusieve firewall staat alleen diensten toe die passen bij
- de <parameter>pass</parameter> regels en blokkeert al het
- overige verkeer. Alle firewalls hebben tenminste twee
- interfaces waarop regels van toepassing zijn om de firewall
- te laten werken.</para>
+ de <literal>pass</literal>-regels en blokkeert al het
+ overige verkeer. Firewalls die bedoeld zijn om andere machines te
+ beschermen, ook wel <quote>netwerk-firewalls</quote> genoemd, dienen
+ tenminste twee interfaces te hebben, die over het algemeen zijn
+ ingesteld om de ene kant te vertrouwen (het <acronym>LAN</acronym>) maar
+ niet de andere (het publieke Internet). Ook kan een firewall worden
+ ingesteld om alleen het systeem te beschermen waarop het
+ draait&mdash;dit wordt een <quote>host-gebaseerde firewall</quote>
+ genoemd, en is in het bijzonder geschikt voor servers op een onvertrouwd
+ netwerk.</para>
<para>Alle &unix; systemen en dus ook &os; zijn zo ontworpen
dat ze voor interne communicatie de interface
@@ -1535,21 +1528,20 @@ sh /etc/ipf.rules.script</programlisting>
vinden.</para>
<para>Voor de interface die is verbonden met het publieke
- Internet worden regels gemaakt waarmee sessies naar het
- Internet mogelijk gemaakt worden en toegang wordt gegeven
- voor pakketten die uit die sessies terug komen. Dit kan
- de PPP interface <devicename>tun0</devicename> zijn of de
- netwerkkaart die is verbonden met een xDSL of
- kabelmodem.</para>
+ Internet worden regels gemaakt waarmee de toegang voor uitgaande en
+ binnenkomende verbindingen worden geautoriseerd en beheerst.
+ Dit kan de PPP-interface <devicename>tun0</devicename> zijn of de
+ netwerkkaart die is verbonden met een xDSL- of kabelmodem.</para>
<para>In gevallen dat er &eacute;&eacute;n of meer netwerkkaarten
- zijn aangesloten op het LAN achter de firewall, dan moeten er
- op de firewall regels zijn om het verkeer tussen die interfaces
- vrije doorgang te geven.</para>
+ zijn aangesloten op private netwerksegmenten kunnen er regels
+ op de firewall nodig zijn om pakketten die van die LAN-interfaces
+ afkomen vrije doorgang te geven naar elkaar en/of naar buiten
+ (het Internet).</para>
- <para>De regels worden opgedeeld in drie onderdelen: alle
- interfaces met vrije doorgang, uitgaand op publieke
- interfaces en inkomend op publieke interfaces.</para>
+ <para>De regels worden opgedeeld in drie onderdelen: eerst de vertrouwde
+ interfaces, dan het publieke uitgaande interface en als laatste het
+ onvertrouwde publieke binnenkomende interfaces.</para>
<para>In iedere sectie moeten zo staan dat de regels die het
meest gebruikt worden v&oacute;&oacute;r de regels die minder
@@ -1558,70 +1550,74 @@ sh /etc/ipf.rules.script</programlisting>
richting geblokkeerd en gelogd moet worden.</para>
<para>In het onderdeel Uitgaand staan alleen regels met
- <parameter>pass</parameter> die parameters bevatten om
- individuele diensten beschikbaar te maken zodat er Internet
- toegang is. Al die regels moeten gebruik maken van
- <parameter>quick</parameter>, <parameter>on</parameter>,
- <parameter>proto</parameter>, <parameter>port</parameter> en
- <parameter>keep state</parameter>. De regels met
- <parameter>proto tcp</parameter> maken ook gebruik van
- <parameter>flag</parameter> om te bekijken of het een pakket
+ <literal>pass</literal> die parameters bevatten om
+ uniek individuele diensten identificeren die het publieke Internet mogen
+ benaderen. Bij al die regels staan de opties
+ <literal>quick</literal>, <literal>on</literal>,
+ <literal>proto</literal>, <literal>port</literal> en
+ <literal>keep state</literal> aan. De regels met
+ <literal>proto tcp</literal> maken ook gebruik van de optie
+ <literal>flag</literal> om te bekijken of het een pakket
betreft voor het opzetten van een sessie om de stateful
functionaliteit aan te sturen.</para>
- <para>In het onderdeel Inkomend staan alle regels voor het
- blokkeren van ongewenste pakketten eerst om twee redenen.
- Als eerste kan het zo zijn dat wat er wordt geblokkeerd
- later toegestaan zou worden door regels die diensten
- toestaan. De tweede reden is dat nu ongewenste pakketten
- die vaak voor komen en die bij voorkeur niet in de
- logboeken voor komen niet meer van toepassing zijn op de
- laatste regel van het onderdeel waarin ze zouden worden
- gelogd. Met de laatste regel van dit onderdeel worden
- alle overige pakketten geblokkeerd en gelogd en ze kunnen
- bewijsmateriaal zijn in een zaak tegen iemand die heeft
- geprobeerd een systeem aan te vallen.</para>
-
- <para>Voor al het verkeer dat wordt geweigerd wordt geen
- antwoord gestuurd. De pakketten verdwijnen gewoon. Zo weet
- een aanvaller niet of een pakket het doelsysteem wel heeft
- bereikt. Zo kan een aanvaller geen informatie verzamelen
+ <para>In het onderdeel Inkomend staan eerst alle regels voor het
+ blokkeren van ongewenste pakketten, om twee redenen.
+ Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk
+ overeenkomen met legitiem verkeer. Deze pakketten moeten worden
+ weggegooid in plaats van binnengelaten te worden, gebaseerd op hun
+ gedeeltelijke match met de <literal>allow</literal>-regels. De tweede
+ reden is dat bekende en oninteressante verwerpingen stil geblokkeerd
+ kunnen worden in plaats van gevangen en gelogd te worden door de
+ laatste regels in de sectie. De laatste regel in elke sectie blokkeert
+ en logt alle pakketten en kan worden gebruikt voor het wettelijke bewijs
+ nodig om degenen die uw systeem aanvallen aan te klagen.</para>
+
+ <para>Waar ook gezorgd voor moet worden is dat al het verkeer dat wordt
+ geweigerd geen antwoord verstuurd. Ongeldige pakketten dienen gewoon te
+ verdwijnen. Zo weet een aanvaller niet of een pakket het doelsysteem
+ wel heeft bereikt. Zo kan een aanvaller geen informatie verzamelen
over een systeem: hoe minder informatie er over een systeem
beschikbaar is, hoe meer tijd iemand erin moet steken voordat
- er iets slechts gedaan kan worden. Zo wordt bijvoorbeeld
- een inkomend verzoek van een <quote>nmap OS fingerprint</quote>
- gelogd omdat een aanvaller zoiets zou proberen.</para>
-
- <para>We raden aan om als er logmeldingen komen van een regel
+ er iets slechts gedaan kan worden. Regels die een optie <literal>log
+ first</literal> bevatten, zullen alleen de eerste keer dat de
+ gebeurtenis voorkomt de gebeurtenis loggen. Deze optie is opgenomen in
+ de voorbeeldregel <literal>nmap OS fingerpint</literal>. Het
+ gereedschap <filename role="package">security/nmap</filename> wordt vaak
+ door aanvallers gebruikt om het besturingssysteem van uw server
+ proberen te achterhalen.</para>
+
+ <para>We raden aan om telkens als er logmeldingen komen van een regel
met <literal>log first</literal> het commando
<command>ipfstat&nbsp;-hio</command> uit te voeren om te
- bekijken hoe vaak de regel van toepassing is geweest om te
- kijken of de firewall overspoeld wordt, m.a.w. aangevallen
- wordt.</para>
+ bekijken hoe vaak de regel van toepassing is geweest. Een groot aantal
+ overeenkomsten geeft gewoonlijk aan dat de firewall overspoeld wordt,
+ m.a.w. aangevallen wordt.</para>
- <para>Als er pakketten gelogd worden waarvan de beheerder het
- poortnummer niet herkent, dan is de functie van dat poortnummer
- na te zoeken in <filename>/etc/services</filename> of op <ulink
- url="http://www.securitystats.com/tools/portsearch.php"></ulink>.</para>
+ <para>Het bestand <filename>/etc/services</filename> kan gebruikt worden
+ om onbekende poortnummers op te zoeken. Ook kan <ulink
+ url="http://www.securitystats.com/tools/portsearch.php"></ulink>
+ worden bezocht en het poortnummer worden opgezocht om het doel van een
+ bepaalde poort uit te vinden.</para>
<para>Op de volgende link worden poortnummers van Trojans
beschreven: <ulink
url="http://www.simovits.com/trojans/trojans.html"></ulink>.</para>
<para>De onderstaande set regels is een complete en erg veilige
- inclusieve set met regels voor een firewall die de auteur
- zelf heeft gebruikt op zijn systeem. Deze set met regels is
- een aanrader en eenvoudig aan te passen door commentaar te
- maken van een regel voor een dienst die niet gewenst
+ <literal>inclusieve</literal> set met regels voor een firewall die is
+ getest op productiesystemen. Deze set met regels is eenvoudig aan te
+ passen voor uw eigen systeem. Maak gewoon commentaar van elke
+ <literal>pass</literal>-regel voor een dienst die niet gewenst
is.</para>
- <para>Logberichten die niet gewenst zijn, zijn uit te sluiten
- door ze met een regel te blokkeren in het begin van het
+ <para>Logberichten die niet gewenst zijn, zijn uit te sluiten door een
+ <literal>block</literal>-regel toe te voegen in het begin van het
onderdeel Inkomend.</para>
<para>Voor de onderstaande regels dient de
<devicename>dc0</devicename> interfacenaam in iedere regel
- vervangen te worden door de interfacenaam van de netwerkkaart
+ vervangen te worden door de echte interfacenaam van de netwerkkaart
in het systeem die met het publieke Internet is verbonden.
Voor gebruikers van PPP zou dat <devicename>tun0</devicename>
zijn.</para>
@@ -1646,8 +1642,8 @@ pass out quick on lo0 all
#################################################################
# Interface aan het publieke Internet (onderdeel Uitgaand).
# Inspecteer verzoeken om een sessie te starten van achter de
-# firewall op het private netwerk of vanaf de server zelf naar
-# het publieke Internet.
+# firewall op het private netwerk of vanaf deze gateway-server
+# naar het publieke Internet.
#################################################################
# Geef toegang tot de DNS server van de ISP.
@@ -1679,41 +1675,41 @@ pass out quick on dc0 proto tcp from any to any port = 25 flags S keep state
# Sta Time toe.
pass out quick on dc0 proto tcp from any to any port = 37 flags S keep state
-# Sta NNTP nieuws toe.
+# Sta uitgaand NNTP nieuws toe.
pass out quick on dc0 proto tcp from any to any port = 119 flags S keep state
-# Sta lokale en LAN gebruiker toe niet beveiligde FTP te gebruiken
+# Sta uitgaande lokale niet beveiligde FTP (ook van LAN-gebruikers) toe
# (zowel passieve als actieve modes). Deze functie maakt gebruik van
-# de in IPNAT ingebouwde FTP proxy die in het bestand met nat regels
+# de in IP-NAT ingebouwde FTP-proxy die in het bestand met NAT-regels
# staat om dit in &eacute;&eacute;n regel te laten werken. Als er met
# pkg_add pakketten toegevoegd moeten kunnen worden op een systeem, dan
# is deze regel nodig.
pass out quick on dc0 proto tcp from any to any port = 21 flags S keep state
-# Sta beveiligde FTP, Telnet en SCP toe.
+# Sta uitgaande SSH/SFTP/SCP toe (vervangingen van telnet/rlogin/FTP)
# Deze functie maakt gebruik van SSH (secure shell)
pass out quick on dc0 proto tcp from any to any port = 22 flags S keep state
# Sta uitgaande niet beveiligde telnet toe.
pass out quick on dc0 proto tcp from any to any port = 23 flags S keep state
-# Sta de &os; CVSUP functie toe.
+# Sta de &os; CVSUP-functie toe.
pass out quick on dc0 proto tcp from any to any port = 5999 flags S keep state
# Sta ping toe naar het publieke Internet.
pass out quick on dc0 proto icmp from any to any icmp&ndash;type 8 keep state
-# Sta whois toe vanaf overal naar het publieke Internet.
+# Sta whois toe vanaf het LAN naar het publieke Internet.
pass out quick on dc0 proto tcp from any to any port = 43 flags S keep state
# Blokkeer en log het eerste voorkomen van al het andere dat probeert
-# buiten te komen. Deze regel dwingt de 'block all' logica af.
+# buiten te komen. Deze regel implementeert de standaard-blokkade.
block out log first quick on dc0 all
#################################################################
# Interface aan het publieke Internet (onderdeel Inkomend).
# Inspecteert pakketten die van het publieke Internet komen
-# met als bestemming de host zelf of het private netwerk.
+# met als bestemming deze gateway-server of het private netwerk.
#################################################################
# Blokkeer al het verkeer voor niet&ndash;routeerbare of gereserveerde
@@ -1742,7 +1738,7 @@ block in quick on dc0 all with opt lsrr
block in quick on dc0 all with opt ssrr
# Blokkeer pogingen voor nmap OS fingerprint.
-# Log first occurrence of these so I can get their IP address
+# Blokkeer het eerste voorkomen ervan voor de IP-adressen
block in log first quick on dc0 proto tcp from any to any flags FUP
# Blokkeer alles met speciale opties.
@@ -1780,14 +1776,14 @@ pass in quick on dc0 proto tcp from any to any port = 80 flags S keep state
#pass in quick on dc0 proto tcp from any to any port = 23 flags S keep state
# Sta beveiligde FTP, telnet en SCP toe vanaf Internet.
-# Deze functie gebruik SSH (secure shell).
+# Deze functie gebruikt SSH (secure shell).
pass in quick on dc0 proto tcp from any to any port = 22 flags S keep state
# Blokkeer en log het eerste voorkomen van al het andere dat probeert
# binnen te komen. Het loggen van alleen het eerste voorkomen stopt
# een ontzegging van dienst aanval die gericht is op het laten
-# vollopen van de partitie waarop de logboeken staan. Deze regel dwingt
-# de 'block all' logica af.
+# vollopen van de partitie waarop de logboeken staan. Deze regel implementeert
+# de standaard blokkade.
block in log first quick on dc0 all
################### Einde van de regels ###################################</programlisting>
</sect2>
@@ -1815,8 +1811,8 @@ block in log first quick on dc0 all
<see>NAT</see>
</indexterm>
- <para><acronym>NAT</acronym> staat voor Network Address
- Translation (netwerkadres vertaling). In &linux; heet dit IP
+ <para><acronym>NAT</acronym> staat voor <emphasis>Network Address
+ Translation</emphasis> (netwerkadres vertaling). In &linux; heet dit IP
Masquerading. Een van de vele mogelijkheden die IPF
<acronym>NAT</acronym> kan bieden is het delen van
&eacute;&eacute;n <acronym>IP</acronym> adres op het publieke
@@ -1826,11 +1822,10 @@ block in log first quick on dc0 all
ISP's wijzen normaliter namelijk dynamisch een
<acronym>IP</acronym> adres toe aan hun niet-commerci&euml;le
gebruikers. Dynamisch betekent hier dat het
- <acronym>IP</acronym> adres iedere dat er wordt ingebeld of
- dat de kabel- of xDSL-modem uit- en aangeschakeld wordt
- anders kan zijn. Dit <acronym>IP</acronym> adres is het
- adres waarmee een netwerkapparaat bekend is op het publieke
- Internet.</para>
+ <acronym>IP</acronym>-adres iedere dat er wordt ingebeld of
+ dat het kabel- of xDSL-modem uit- en aangeschakeld wordt
+ anders kan zijn. Dit dynamische <acronym>IP</acronym>-adres wordt
+ gebruikt om uw systeem op het publieke Internet te identificeren.</para>
<para>Stel dat er vijf PC's in een huis staan en iedere
computer in dat huis heeft toegang tot Internet nodig. Dan
@@ -1838,28 +1833,18 @@ block in log first quick on dc0 all
en vijf telefoonlijnen om dat te realiseren.</para>
<para>Met <acronym>NAT</acronym> is er maar &eacute;&eacute;n
- account bij een ISP nodig en moeten er vier PC's met kabels
- op een switch aangesloten waarop ook een &os; systeem is
- aangesloten dat als gateway gaat opereren.
+ account bij een ISP nodig. De andere vier PC's moeten met kabels
+ op een switch worden aangesloten waarop ook een &os; systeem is
+ aangesloten dat binnen uw LAN als gateway gaat opereren.
<acronym>NAT</acronym> zal automatisch de private LAN
<acronym>IP</acronym> adressen van alle PC's vertalen naar
- een enkel publiek <acronym>IP</acronym> adres als de
+ een enkel publiek <acronym>IP</acronym>-adres als de
pakketten de firewall naar het Internet verlaten.</para>
- <para><acronym>NAT</acronym> wordt vaak gebruikt zonder
- toestemming of wetenschap van een ISP en in de meeste
- gevallen is het, als het wordt ontdekt, grond voor een ISP
- om de account op te zeggen. Commerci&euml;le gebruikers
- betalen veel meer voor hun Internet verbindingen en krijgen
- vaak een reeks statische <acronym>IP</acronym> adressen die
- nooit verandert. Een ISP verwacht en staat toe dat
- commerci&euml;le gebruikers <acronym>NAT</acronym> inzetten
- voor connectiviteit voor hun interne netwerk.</para>
-
- <para>Er is een speciale reeks van <acronym>IP</acronym>
- adressen gereserveerd voor <acronym>NAT</acronym> op LANs.
+ <para>Er is een speciale reeks van <acronym>IP</acronym>-adressen
+ gereserveerd voor <acronym>NAT</acronym> op private LANs.
Volgens RFC 1918 kunnen de volgende reeksen
- <acronym>IP</acronym> adressen gebruikt worden op private
+ <acronym>IP</acronym>-adressen gebruikt worden op private
netwerken die nooit direct op het publieke Internet
gerouteerd worden.</para>
@@ -1925,12 +1910,12 @@ block in log first quick on dc0 all
</filename>. Meer details staan in &man.ipnat.1;.</para>
<para>Bij het maken van wijzigingen aan de
- <acronym>NAT</acronym> regels nadat <acronym>NAT</acronym>
+ <acronym>NAT</acronym>-regels nadat <acronym>NAT</acronym>
gestart is, wordt aangeraden de wijziging aan het bestand met
- regels te maken en daarna met <command>ipnat</command>
- <option>-CF</option> alle actieve <acronym>NAT</acronym> regels
- te wissen. Daarna kunnen de regels uit het bestand weer als
- volgt geladen worden:</para>
+ regels te maken en daarna het commando <command>ipnat</command>
+ <option>-CF</option> te gebruiken om alle actieve
+ <acronym>NAT</acronym>-regels te wissen. Daarna kunnen de regels uit
+ het bestand weer als volgt geladen worden:</para>
<screen>&prompt.root; <userinput>ipnat -CF -f /etc/ipnat.rules</userinput></screen>
@@ -2079,7 +2064,7 @@ block in log first quick on dc0 all
te veel adressen zijn om te bedienen met &eacute;&eacute;n
<acronym>IP</acronym> adres. Als er een blok van publiekelijke
IP adressen beschikbaar is, dan kunnen deze adressen
- gebruikt worden in een poel, welke door
+ gebruikt worden in een <quote>poel</quote>, welke door
IP<acronym>NAT</acronym> gebruikt kan worden om
&eacute;&eacute;n van de adressen te gebruiken als uitgaand
adres.</para>
@@ -2111,11 +2096,11 @@ block in log first quick on dc0 all
verkeer bij de juiste computer terecht komt.
IP<acronym>NAT</acronym> gebruikt daarvoor de opties in
<acronym>NAT</acronym> waarmee verkeer omgeleid kan worden.
- Als bijvoorbeeld een webserver op <hostid
- role="ipaddr">10.0.10.25</hostid> draait en het publieke
+ Als bijvoorbeeld een webserver op het LAN-adres <hostid
+ role="ipaddr">10.0.10.25</hostid> draait en het enkele publieke
<acronym>IP</acronym> adres zou <hostid
- role="ipaddr">20.20.20.5</hostid> zijn, dan zou dit mogelijk
- zijn met &eacute;&eacute;n van de volgende twee regels:</para>
+ role="ipaddr">20.20.20.5</hostid> zijn, dan zou de regel er als volgt
+ uit zien:</para>
<programlisting>rdr dc0 20.20.20.5/32 port 80 -&gt; 10.0.10.25 port 80</programlisting>
@@ -2143,17 +2128,16 @@ block in log first quick on dc0 all
FTP is er in twee smaken: actief en passief. Het verschil
zit 'm in hoe het datakanaal wordt opgezet. De passieve
variant is veiliger voor een gebruiker omdat bij deze variant
- beide communicatiekanalen door de client zelf worden opgezet.
- Op de volgende link zijn details over FTP na te lezen:
- <ulink
+ beide communicatiekanalen door de cli&euml;nt zelf worden opgezet.
+ Op de volgende pagina zijn details over FTP na te lezen: <ulink
url="http://www.slacksite.com/other/ftp.html"></ulink>.</para>
<sect3>
- <title>IP<acronym>NAT</acronym> regels</title>
+ <title>IP<acronym>NAT</acronym>-regels</title>
- <para>IP<acronym>NAT</acronym> heeft een een speciale FTP proxy
+ <para>IP<acronym>NAT</acronym> heeft een een speciale FTP-proxy
ingebouwd die kan worden ingeschakeld met een
- <acronym>NAT</acronym> <literal>map</literal> regel. Die kan
+ <acronym>NAT</acronym>-<literal>map</literal>-regel. Die kan
al het uitgaande verkeer monitoren wat betreft
opstartverzoeken voor sessies voor actieve en passieve FTP en
dynamisch tijdelijke filterregels maken die alleen het
@@ -2177,7 +2161,7 @@ block in log first quick on dc0 all
<programlisting>map dc0 10.0.10.0/29 -&gt; 0/32</programlisting>
- <para>De FTP <parameter>map</parameter> regel hoort voor de
+ <para>De FTP-afbeeldregel hoort voor de
normale regels te staan. Alle pakketten worden als eerste
vergeleken met de eerste regel en zo verder. Eerst wordt
gekeken over de interfacenaam overeenkomt, daarna het
@@ -2196,9 +2180,9 @@ block in log first quick on dc0 all
<sect3>
<title>IP<acronym>NAT</acronym> FTP filterregels</title>
- <para>Als de <acronym>NAT</acronym> FTP proxy wordt gebruikt
+ <para>Als de <acronym>NAT</acronym>-FTP-proxy wordt gebruikt
is er maar &eacute;&eacute;n filterregel voor FTP
- nodig. Zonder de FTP proxy zouden er drie regels nodig
+ nodig. Zonder de FTP-proxy zouden er drie regels nodig
zijn:</para>
<programlisting># Sta LAN client toe te FTP-en naar Internet
@@ -2223,8 +2207,8 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<secondary>IPFW</secondary>
</indexterm>
- <para>IPFIREWALL (IPFW) is een firewall die binnen &os; wordt
- ontwikkeld en onderhouden door vrijwilligers, leden van de
+ <para>IPFIREWALL (<acronym>IPFW</acronym>) is een firewall die binnen &os;
+ wordt ontwikkeld en onderhouden door vrijwillige leden van de
staf. Het maakt gebruik van verouderde staatloze regels en een
verouderde techniek om te realiseren wat eenvoudige stateful
logica zou kunnen heten.</para>
@@ -2248,15 +2232,15 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
gebruiker veel weten over de verschillende protocollen en
de wijze waarop pakketten in elkaar zitten. Het tot op dat
niveau behandelen van stof valt buiten de doelstellingen van
- dit boek.</para>
+ dit Handboek.</para>
<para>IPFW bestaat uit zeven componenten: de verwerkingseenheid
voor de firewallregels, verantwoording, loggen, regels met
- <parameter>divert</parameter> (omleiden) waarmee
+ <literal>divert</literal> (omleiden) waarmee
<acronym>NAT</acronym> gebruikt kan worden en de speciale
- gevorderde mogelijkheden voor bandbreedte management DUMMYNET, de
- 'fwd rule' forward-mogelijkheid, de bridge-mogelijkheden en de
- ipstealth-mogelijkheden. IPFW ondersteunt zowel IPv4 als
+ gevorderde mogelijkheden voor bandbreedtebeheer met DUMMYNET, de
+ <literal>fwd rule</literal> forward-mogelijkheid, de bridge-mogelijkheden
+ en de ipstealth-mogelijkheden. IPFW ondersteunt zowel IPv4 als
IPv6.</para>
<sect2 id="firewalls-ipfw-enable">
@@ -2269,8 +2253,8 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
</indexterm>
<para>IPFW zit bij de basisinstallatie van &os; als een losse
- in runtime laadbare module. Het systeem laadt de kernel
- module dynamisch als in <filename>rc.conf</filename>
+ tijdens runtime laadbare module. Het systeem laadt de kernelmodule
+ dynamisch als in <filename>rc.conf</filename> de regel
<literal>firewall_enable="YES"</literal> staat. IPFW hoeft
niet in de &os; kernel gecompileerd te worden, tenzij het
nodig is dat <acronym>NAT</acronym> beschikbaar is.</para>
@@ -2283,11 +2267,13 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<screen>ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging disabled</screen>
<para>In de laadbare module zit de mogelijkheid om te loggen
- gecompileerd. In <filename>/etc/sysctl.conf</filename> kan een
- instelling gemaakt worden waardoor loggen na volgende herstarts
- wordt ingeschakeld:</para>
+ gecompileerd. Er is een knop in <filename>/etc/sysctl.conf</filename>
+ om loggen aan te zetten en de uitgebreide loglimiet in te stellen. Door
+ deze regels toe te voegen, staat loggen aan bij toekomstige
+ herstarts:</para>
- <programlisting>net.inet.ip.fw.verbose_limit=5</programlisting>
+ <programlisting>net.inet.ip.fw.verbose=1
+net.inet.ip.fw.verbose_limit=5</programlisting>
</sect2>
<sect2 id="firewalls-ipfw-kernel">
@@ -2320,9 +2306,7 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<para>Het is niet verplicht om IPFW in te schakelen door het
mee te compileren in de &os; kernel, tenzij de
<acronym>NAT</acronym> functionaliteit beschikbaar moet zijn.
- Dit wordt alleen beschreven als achtergrondinformatie.
- Door IPFW in de kernel te compileren wordt de laadbare module
- niet gebruikt.</para>
+ Dit wordt alleen beschreven als achtergrondinformatie.</para>
<programlisting>options IPFIREWALL</programlisting>
@@ -2333,8 +2317,8 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<para>Met <literal>IPFIREWALL_VERBOSE</literal> wordt het
loggen van pakketten die worden verwerkt met IPFW mogelijk
- als het sleutelwoord <option>log</option> in een regel
- staat.</para>
+ die het sleutelwoord <literal>log</literal> in een regel hebben
+ staan.</para>
<programlisting>options IPFIREWALL_VERBOSE_LIMIT=5</programlisting>
@@ -2342,7 +2326,7 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
via &man.syslogd.8;. Deze optie kan gebruikt worden in
vijandige omgevingen waar de activiteit van een firewall gelogd
moet worden. Hierdoor kan een mogelijke ontzegging van dienst
- aanval door syslog flooding voorkomen worden.</para>
+ aanval door het vol laten lopen van syslog voorkomen worden.</para>
<indexterm>
<primary>kernelopties</primary>
@@ -2368,12 +2352,12 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<para>Met <literal>IPDIVERT</literal> wordt de
<acronym>NAT</acronym> functionaliteit ingeschakeld.</para>
- <warning>
- <para>Als <literal>IPFIREWALL_DEFAULT_TO_ACCEPT</literal>
- niet wordt gebruikt of de regels van de firewall staan geen
- verkeer toe, dan worden alle pakketten van en naar de
- machine waar dit voor geldt geblokkeerd.</para>
- </warning>
+ <note>
+ <para>De firewall zal alle binnenkomende en uitgaande pakketten
+ blokkeren als de kerneloptie
+ <literal>IPFIREWALL_DEFAULT_TO_ACCEPT</literal> of een regel om deze
+ verbindingen expliciet toe te staan ontbreekt.</para>
+ </note>
</sect2>
<sect2 id="firewalls-ipfw-rc">
@@ -2394,7 +2378,7 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<itemizedlist>
<listitem>
- <para><literal>open</literal> &mdash; pass all traffic.</para>
+ <para><literal>open</literal> &mdash; laat al het verkeer door.</para>
</listitem>
<listitem>
@@ -2408,18 +2392,19 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
</listitem>
<listitem>
- <para><literal>closed</literal> &mdash; blokkeert alle IP
- verkeer, behalve voor lokaal verkeer.</para>
+ <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>
+ de firewall-regels.</para>
</listitem>
<listitem>
- <para><filename>bestandsnaam</filename> &mdash; absoluut pad
- naar een bestand dat firewall regels bevat.</para>
+ <para><filename><replaceable>bestandsnaam</replaceable></filename>
+ &mdash; absoluut pad naar een bestand dat firewall-regels
+ bevat.</para>
</listitem>
</itemizedlist>
@@ -2428,27 +2413,28 @@ pass in quick on rl0 proto tcp from any to any port = 20 flags S keep state</pro
<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>
+ pad van een bestand, welke <emphasis>firewall-regels</emphasis>
+ bevat, zonder enige specifieke opties voor &man.ipfw.8;. Het volgende
+ is een eenvoudig voorbeeld van een bestand met regelverzamelingen dat
+ al het inkomend en uitgaand verkeer blokkeert:</para>
- <programlisting>add block in all
-add block out all</programlisting>
+ <programlisting>add deny in
+add deny out</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
+ <para>Aan de andere kant is het mogelijk om de variabele
+ <literal>firewall_script</literal> in te stellen op een
+ absoluut pad van een uitvoerbaar script, welke inclusief
<command>ipfw</command> commando's uitgevoerd wordt tijdens het
- opstarten van het systeem. Een geldig ruleset script dat
- gelijkwaardig is aan het ruleset bestand hierboven, zou het
+ opstarten van het systeem. Een geldig script met regels dat
+ gelijkwaardig is aan het bestand met regels hierboven, zou het
volgende zijn:</para>
<programlisting>#!/bin/sh
ipfw -q flush
-ipfw add block in all
-ipfw add block out all</programlisting>
+ipfw add deny in
+ipfw add deny out</programlisting>
<note>
<para>Als <literal>firewall_type</literal> is gezet naar
@@ -2491,10 +2477,10 @@ ipfw add block out all</programlisting>
<indexterm><primary><command>ipfw</command></primary></indexterm>
- <para><command>ipfw</command> wordt gebruikt om met de hand
- regels toe te voegen of te verwijderen als IPFW actief is.
- Het probleem met deze methode is dat, als het systeem down
- wordt gebracht, alle regels die gewijzigd of verwijderd zijn
+ <para>Gewoonlijk wordt <command>ipfw</command> gebruikt om met de hand
+ enkelvoudige regels toe te voegen of te verwijderen als IPFW actief is.
+ Het probleem met deze methode is dat, als het systeem wordt uitgezet
+ alle regels die gewijzigd of verwijderd zijn
verloren gaan. Door alle regels in een bestand op te nemen
dat bij het booten wordt geladen of door het bestand waarin
de wijzigingen zijn gemaakt als een machine draait te laden
@@ -2504,8 +2490,9 @@ ipfw add block out all</programlisting>
de firewall op het scherm getoond worden. De
verantwoordingsmogelijkeden van &man.ipfw.8; maken
dynamisch tellers aan voor iedere regel en houden die bij
- voor alle pakketten die van toepassing zijn op die regel.
- Dit biedt ook een mogelijkheid om een regel te testen.</para>
+ voor alle pakketten die van toepassing zijn op die regel. Tijdens het
+ testen van een regel is het afbeelden van de regel met zijn teller
+ een van de manieren om te bepalen of de regel werkt.</para>
<para>Om alle regels in volgorde te tonen:</para>
@@ -2539,30 +2526,30 @@ ipfw add block out all</programlisting>
<screen>&prompt.root; <userinput>ipfw zero</userinput></screen>
- <para>Alleen de tellers voor regel
+ <para>Alleen de tellers voor regel met nummer
<replaceable>NUM</replaceable> op nul stellen:</para>
- <screen>&prompt.root; <userinput>ipfw zero NUM</userinput></screen>
+ <screen>&prompt.root; <userinput>ipfw zero <replaceable>NUM</replaceable></userinput></screen>
</sect2>
<sect2 id="firewalls-ipfw-rules">
<title>Sets van IPFW regels</title>
- <para>Een set regels is een groep &man.ipfw.8; regels die is
+ <para>Een verzameling regels is een groep IPFW-regels die is
gemaakt om pakketten toe te staan of te blokkeren op basis
- van de eigenschappen van dat pakket. De bi-directionele
+ van de inhoud van dat pakket. De bi-directionele
uitwisseling van pakketten tussen hosts bestaat uit een
- gesprek dat een sessie heet. De set van firewallregels
- beoordeelt pakketten twee keer: als het aankomt van de host
- op het publieke Internet en als het de host weer verlaat op
- de weg terug naar de host op het publieke Internet. Iedere
- <acronym>TCP</acronym>/<acronym>IP</acronym> dienst als
- telnet, www, mail, etc, heeft zijn eigen protocol, bron
- <acronym>IP</acronym> adres en bestemmings
- <acronym>IP</acronym> adres of de bron- en bestemmingspoort.
- Deze attributen vormen de basis voor het opstellen van
- regels waarmee diensten toegelaten of geblokkeerd kunnen
- worden.</para>
+ gesprek dat een sessie heet. De verzameling van firewallregels
+ beoordeelt zowel de pakketten die aankomen van de host
+ op het publieke Internet als de pakketten die op het systeem ontstaan
+ als antwoord daarop. Iedere <acronym>TCP/IP</acronym>-dienst als
+ telnet, www, mail, etc, heeft zijn eigen protocol en bevoorrechte
+ (luister)poort. Pakketten bestemd voor een specifieke poort verlaten
+ het bronadres via een onbevoorrechte (hogere) poort en doelen op de
+ specifieke dienstpoort op het bestemmingsadres. Alle bovenstaande
+ parameters (poorten en adressen) kunnen gebruikt worden als
+ selectiecriteria om regels aan te maken die diensten doorlaten of
+ blokkeren.</para>
<indexterm>
<primary>IPFW</primary>
@@ -2577,8 +2564,8 @@ ipfw add block out all</programlisting>
actieveld van de regel uitgevoerd. Dit wordt de
<quote>de eerst passende regel wint</quote> zoekmethode
genoemd. Als een pakket bij geen enkele regel past, dan
- wordt de standaardregel 65535 toegepast, die alle pakketten
- weigert zonder een antwoord terug te sturen naar de
+ wordt de verplichte standaardregel 65535 van IPFW toegepast, die alle
+ pakketten weigert zonder een antwoord terug te sturen naar de
verzender.</para>
<note>
@@ -2588,26 +2575,15 @@ ipfw add block out all</programlisting>
</note>
<para>De instructies in dit onderdeel zijn gebaseerd op regels
- die gebruik maken van de stateful opties <parameter>keep
- state</parameter>, <parameter>limit</parameter>,
- <parameter>in</parameter>/<parameter>out</parameter> en
- <parameter>via</parameter>. Dit is het raamwerk waarmee een
+ die gebruik maken van de stateful opties <literal>keep
+ state</literal>, <literal>limit</literal>,
+ <literal>in</literal>, <literal>out</literal> en
+ <literal>via</literal>. Dit is het raamwerk waarmee een
set van inclusieve firewallregels wordt samengesteld.</para>
- <para>Een inclusieve firewall staat alleen diensten toe die
- voldoen aan de regels. Op die manier kan er in de hand
- gehouden worden welke diensten van binnen de firewall naar
- buiten mogen en welke diensten op het private netwerk vanaf
- het Internet bereikbaar zijn. Al het andere verkeer wordt
- vanuit het ontwerp standaard geblokkeerd en gelogd.
- Inclusieve firewalls zijn veel veiliger dan exclusieve
- firewalls. Het is ook de enige wijze voor de opzet van een
- firewall die in dit hoofdstuk wordt behandeld.</para>
-
<warning>
- <para>Er wordt aangeraden voorzichtig te zijn als er vanaf
- het netwerk aan de firewallregels wordt gewerkt omdat het
- gevaar bestaat buitengesloten te worden.</para>
+ <para>Wees voorzichtig tijdens het werken met firewall-regels, het is
+ gemakkelijk om uzelf uit te sluiten.</para>
</warning>
<sect3 id="firewalls-ipfw-rules-syntax">
@@ -2673,14 +2649,11 @@ ipfw add block out all</programlisting>
<para>Vergelijkt het pakket met de tabel met dynamische
regels. Als het erin staat, dan wordt de actie van
de dynamisch door deze regel gemaakte regel uitgevoerd.
- Anders wordt er verder gezocht door de regels. Een
- regel met <parameter>check&ndash;state</parameter> heeft
- geen selectiecriteria. Als er geen regel met
- <parameter>check&ndash;state</parameter> in de set met
- regels staat, dan wordt de tabel met dynamische regels
- bij het eerste voorkomen van
- <parameter>keep&ndash;state</parameter> of
- <parameter>limit</parameter> gecontroleerd.</para>
+ Anders wordt er verder gezocht door de regels. Een regel met
+ check&ndash;state heeft geen selectiecriteria. Als er geen regel
+ met check&ndash;state in de set met regels staat, dan wordt de
+ tabel met dynamische regels bij het eerste voorkomen van
+ keep&ndash;state of limit gecontroleerd.</para>
<para><parameter>deny | drop</parameter></para>
@@ -2696,21 +2669,19 @@ ipfw add block out all</programlisting>
<parameter>logamount</parameter></para>
<para>Als een regel met het sleutelwoord
- <parameter>log</parameter> van toepassing is op een
+ <literal>log</literal> van toepassing is op een
pakket, dan wordt er een bericht naar &man.syslogd.8;
geschreven met de faciliteitsnaam SECURITY. Er wordt alleen
een bericht geschreven als het aantal voor die regel
- gelogde pakketten niet groter is dan de instelling
- <parameter>logamount</parameter>. Als
- <parameter>logamount</parameter> niet is ingesteld, dan
- wordt de limiet uit de &man.sysctl.8; variabele
- net.inet.ip.fw.verbose_limit gehaald. In beide gevallen
- bestaat er in het geval de waarde nul is geen limiet.
+ gelogde pakketten niet groter is dan de instelling van de parameter
+ logamount. Als er geen <literal>logamount</literal> is ingesteld,
+ dan wordt de limiet uit de &man.sysctl.8; variabele
+ <literal>net.inet.ip.fw.verbose_limit</literal> gehaald. In beide
+ gevallen bestaat er in het geval de waarde nul is geen limiet.
Als de limiet is bereikt, dan kan het loggen weer
ingeschakeld worden door de teller voor het loggen weer
- op nul te stellen voor die regel met
- <command>ipfw</command>
- <parameter>zero</parameter>.</para>
+ op nul te zetten voor die regel met het commando
+ <command>ipfw reset log</command>.</para>
<note>
<para>Er wordt gelogd als een pakket zeker past bij een
@@ -2726,7 +2697,7 @@ ipfw add block out all</programlisting>
<title>Selectie</title>
<para>De sleutelwoorden in deze paragraaf beschrijven de
- attributen van een pakket die bekeken worden bij het
+ attributen van een pakket die gecontroleerd worden bij het
bepalen of een regel wel of niet op een pakket van
toepassing is. De attributen waarop gecontroleerd kan
worden moeten in de beschreven volgorde gebruikt
@@ -2744,37 +2715,38 @@ ipfw add block out all</programlisting>
<para>De sleutelwoorden <literal>from</literal> en
<literal>to</literal> worden gebruikt om te bekijken
- of een regel van toepassing is op <acronym>IP</acronym>
- adressen. Een regel moet zowel bron- als
+ of een regel van toepassing is op <acronym>IP</acronym>-adressen.
+ Een regel moet <emphasis>zowel</emphasis> bron- als
bestemmingsadressen bevatten. <literal>any</literal> is
een bijzonder sleutelwoord dat van toepassing is op alle
- <acronym>IP</acronym> adressen. <literal>me</literal> is
+ <acronym>IP</acronym>-adressen. <literal>me</literal> is
een bijzonder sleutelwoord dat van toepassing is op alle
- <acronym>IP</acronym> adressen die ingesteld zijn op
- interfaces van een &os; systeem. Zo kan dit onderdeel dus
+ <acronym>IP</acronym>-adressen die ingesteld zijn op
+ interfaces van een &os; systeem om de PC waarop de firewall draait
+ te vertegenwoordigen (deze machine). Zo kan dit onderdeel
bijvoorbeeld de volgende vormen aannemen:
<literal>from me to any</literal>,
<literal>from any to me</literal>,
<literal>from 0.0.0.0/0 to any</literal>,
<literal>from any to 0.0.0.0/0</literal>,
<literal>from 0.0.0.0 to any</literal>,
- <literal>from any to 0.0.0.0</literal>,
+ <literal>from any to 0.0.0.0</literal> of
<literal>from me to 0.0.0.0</literal>.
- <acronym>IP</acronym> adressen mogen ingevoerd worden
+ <acronym>IP</acronym>-adressen mogen ingevoerd worden
in de vorm numeriek, door punten gescheiden
- adres/maskerlengte of als een enkelvoudig
- <acronym>IP</acronym> adres in de vorm numeriek, door
- punten gescheiden. De volgende link kan hulp verschaffen
- bij het schrijven van <acronym>IP</acronym> adressen in
- de vorm adres/maskerlengte: <ulink
- url="http://jodies.de/ipcalc"></ulink> Dit attribuut
- is verpicht.</para>
+ adres/maskerlengte (CIDR-notatie) of als een enkelvoudig
+ <acronym>IP</acronym>-adres in de vorm numeriek, door
+ punten gescheiden. De port <filename
+ role="package">net-mgmt/ipcalc</filename> kan gebruikt worden om
+ de berekeningen e vereenvoudigen. Aanvullende informatie is
+ beschikbaar op de webpagina van het programma: <ulink
+ url="http://jodies.de/ipcalc"></ulink>.</para>
<para><parameter>poortnummer</parameter></para>
<para>Wordt gebruikt voor protocollen die poortnummers
- ondersteunen (als <acronym>TCP</acronym> en UDP). Het
- gebruik van een poortnummer is verplicht. Er mogen ook
+ ondersteunen (als <acronym>TCP</acronym> en <acronym>UDP</acronym>).
+ Het gebruik van een poortnummer is verplicht. Er mogen ook
dienstnamen uit <filename>/etc/services</filename>
gebruikt worden in plaats van nummers.</para>
@@ -2817,7 +2789,7 @@ ipfw add block out all</programlisting>
bestemmingspoort gebruikt worden.
<parameter>limit</parameter> en
<parameter>keep&ndash;state</parameter> kunnen niet in
- dezelfde regel gebruikt worden.
+ dezelfde regel gebruikt worden. De optie
<parameter>limit</parameter> geeft dezelfde mogelijkheden
als <parameter>keep&ndash;state</parameter> en voegt daar
zijn eigen mogelijkheden aan toe.</para>
@@ -2841,8 +2813,8 @@ ipfw add block out all</programlisting>
verwachting van een sessie passen worden automatisch als
fout geblokkeerd.</para>
- <para><parameter>check&ndash;state</parameter> wordt gebruikt
- om aan te geven waar IPFW regels tegen de mogelijkheden
+ <para>De optie <literal>check&ndash;state</literal> wordt gebruikt
+ om aan te geven waar IPFW-regels tegen de mogelijkheden
voor dynamische regels gehouden moeten worden. Als er
een passende regel bij een pakket wordt gevonden, dan kan
dat pakket de firewall verlaten en wordt een nieuwe regel
@@ -2855,7 +2827,7 @@ ipfw add block out all</programlisting>
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 de optie
- <parameter>limit</parameter> beschikbaar. Met deze
+ <literal>limit</literal> 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,
@@ -2881,14 +2853,14 @@ ipfw add block out all</programlisting>
<para>Zelfs als logging is ingeschakeld logt IPFW nog niets
uit zichzelf. De beheerder van de firewall beslist welke
actieve regels iets weg moeten schrijven door het
- sleutelwoord <parameter>log</parameter> aan die regels toe
+ sleutelwoord <literal>log</literal> aan die regels toe
te voegen. Gewoonlijk worden alleen
- <parameter>deny</parameter> regels gelogd. Dit geldt
- bijvoorbeeld voor de <parameter>deny</parameter> regel
+ <literal>deny</literal>-regels gelogd. Dit geldt
+ bijvoorbeeld voor de <literal>deny</literal>-regel
voor inkomende <acronym>ICMP</acronym> pings. Het is
- gebruikelijk om de standaard <command>ipfw</command> regel
- te dupliceren, daar <parameter>log</parameter> in op te
- nemen, en deze als laatste in de set met regels te
+ gebruikelijk om de standaardregel <quote>ipfw default deny
+ everything</quote> te dupliceren, daar <literal>log</literal> in op
+ te nemen, en deze als laatste in de verzameling met regels te
plaatsen. Zo zijn alle pakketten te zien die niet voldeden
aan ook maar &eacute;&eacute;n regel.</para>
@@ -2897,8 +2869,8 @@ ipfw add block out all</programlisting>
die uiteindelijk een schijf kunnen vullen. Een DoS aanval
om een schijf met logs te vullen is een van de oudst bekende
typen DoS aanvallen. Logberichten van de firewall worden
- niet alleen naar &man.syslogd.8; geschreven, maar ook op
- het <username>root</username> console getoond waar ze snel
+ niet alleen naar <application>syslogd</application> geschreven, maar
+ ook op het <username>root</username> console getoond waar ze snel
erg vervelend kunnen worden.</para>
<para>De kerneloptie
@@ -2908,7 +2880,7 @@ ipfw add block out all</programlisting>
Als deze optie is ingeschakeld, worden in dit geval
maximaal vijf berichten voor dezelfde regel gemeld. Als er
meer berichten op dezelfde regel zouden zijn, zou dat als
- volgt aan &man.syslogd.8; gemeld worden:</para>
+ volgt aan <application>syslogd</application> gemeld worden:</para>
<programlisting>last message repeated 45 times</programlisting>
@@ -2924,21 +2896,20 @@ ipfw add block out all</programlisting>
waarin de regels staan en stellen dat zo op dat het als
script uitgevoerd kan worden. Het grootste voordeel van
deze methode is dat de firewallregels allemaal vervangen
- kunnen worden zonder dat het systeem geboot moet worden.
+ kunnen worden zonder dat het systeem opnieuw gestart moet worden.
Deze methode is ook erg geschikt voor het testen van regels
omdat de procedure zo vaak als nodig uitgevoerd kan worden.
Omdat het een script is, kan er gebruik gemaakt worden van
substitutie zodat veel gebruikte waarden verduidelijkt
- kunnen worden. In het volgende voorbeeld wordt hier
- gebruik van gemaakt.</para>
+ en in meerdere regels toegepast kunnen worden. In het volgende
+ voorbeeld wordt hier gebruik van gemaakt.</para>
<para>De syntaxis die in het script wordt gebruikt is
- compatibel met de shells <command>sh</command>,
- <command>csh</command> en <command>tcsh</command>. Velden
- waarvoor substitutie van toepassing is worden vooraf gegaan
+ compatibel met de shells &man.sh.1;, &man.csh.1; en &man.tcsh.1;.
+ Velden waarvoor substitutie van toepassing is worden vooraf gegaan
door het dollarteken &dollar;. Definities worden niet
vooraf gegaan door het voorvoegsel &dollar;. De waarden
- van een definitie moet omsloten worden door "dubbele
+ van een substitutie moet omsloten worden door "dubbele
aanhalingstekens".</para>
<para>Een bestand met regels kan als volgt beginnen:</para>
@@ -2964,7 +2935,7 @@ ks="keep&ndash;state" # Te lui om iedere keer in te typen.
een voorbeeld om het gebruik van substitutie te
illustreren.</para>
- <para>Als het bovenstaande voorbeeld het de inhoud van
+ <para>Als het bovenstaande voorbeeld de inhoud van
<filename>/etc/ipfw.rules</filename> was, dan kon het
herladen worden met het volgende commando:</para>
@@ -2986,16 +2957,17 @@ ks="keep&ndash;state" # Te lui om iedere keer in te typen.
</sect3>
<sect3>
- <title>Set met stateful regels</title>
+ <title>Verzameling van stateful regels</title>
- <para>De volgende set met regels, waarin geen gebruik gemaakt
+ <para>De volgende verzameling van regels, waarin geen gebruik gemaakt
wordt van <acronym>NAT</acronym>, is een voorbeeld van hoe
een erg veilige inclusieve firewall kan worden opgezet.
Een inclusieve firewall laat alleen diensten toe waarvoor
- <parameter>pass</parameter> regels van toepassing zijn en
- blokkeert al het andere verkeer. Alle firewalls hebben
- tenminste twee interfaces waarvoor regels moeten zijn die
- de firewall in staat stellen zijn werk te doen.</para>
+ <literal>pass</literal> regels van toepassing zijn en
+ blokkeert al het andere verkeer. Firewalls die ontworpen zijn om
+ hele netwerksegmenten te beschermen hebben tenminste twee interfaces
+ waarvoor regels moeten zijn die de firewall in staat stellen zijn
+ werk te doen.</para>
<para>Alle &unix; systemen en dus ook &os; zijn zo ontworpen
dat ze voor interne communicatie de interface
@@ -3008,13 +2980,14 @@ ks="keep&ndash;state" # Te lui om iedere keer in te typen.
Internet worden regels gemaakt waarmee sessies naar het
Internet mogelijk gemaakt worden en toegang wordt gegeven
voor pakketten die uit die sessies terug komen. Dit kan
- de PPP interface <devicename>tun0</devicename> zijn of de
+ de gebruikers-<acronym>PPP</acronym>-interface
+ <devicename>tun0</devicename> zijn of de
netwerkkaart die is verbonden met een xDSL of
kabelmodem.</para>
<para>In gevallen dat er meer dan &eacute;&eacute;n
netwerkkaart is aangesloten op het private netwerk achter
- de firewall, moeten er op de firewall regels zijn om het
+ de firewall, moeten er op de firewall-regels zijn om het
verkeer tussen die interfaces vrije doorgang te
geven.</para>
@@ -3030,23 +3003,25 @@ ks="keep&ndash;state" # Te lui om iedere keer in te typen.
interface in die richting geblokkeerd en gelogd moet
worden.</para>
- <para>In het onderdeel Uitgaand staan alleen regels met
- <parameter>allow</parameter> die parameters bevatten om
- individuele diensten beschikbaar te maken zodat er Internet
- toegang is. Al die regels moeten gebruik maken van
- <parameter>proto</parameter>, <parameter>port</parameter>,
- <parameter>in/out</parameter>, <parameter>via</parameter>
- en <parameter>keep-state</parameter>. De regels met
- <parameter>proto tcp</parameter> maken ook gebruik van
- <parameter>setup</parameter> om te bekijken of het een
+ <para>In het onderdeel Uitgaand van de volgende verzameling regels staan
+ alleen regels met <literal>allow</literal> die parameters bevatten om
+ individuele diensten beschikbaar te maken die publieke toegang
+ tot Internet mogen hebben Al die regels moeten gebruik maken van de
+ opties <literal>proto</literal>, <literal>port</literal>,
+ <literal>in/out</literal>, <literal>via</literal>
+ en <literal>keep-state</literal>. De regels met
+ <literal>proto tcp</literal> maken ook gebruik van
+ <literal>setup</literal> om te bekijken of het een
pakket betreft voor het opzetten van een sessie om de
stateful functionaliteit aan te sturen.</para>
- <para>In het onderdeel Inkomend staan alle regels voor het
- blokkeren van ongewenste pakketten eerst om twee redenen.
- Als eerste kan het zo zijn dat wat er wordt geblokkeerd
- later toegestaan zou worden door regels die diensten
- toestaan. De tweede reden is dat nu ongewenste pakketten
+ <para>In het onderdeel Inkomend staan als eerste alle regels voor het
+ blokkeren van ongewenste pakketten, om twee redenen.
+ Als eerste kan het zo zijn dat kwaadaardige pakketten gedeeltelijk
+ overeenkomen met legitiem verkeer. Deze regels moeten worden
+ geblokkeerd in plaats van te worden binnengelaten, gebaseerd op hun
+ gedeeltelijke overeenkomst met <literal>allow</literal>-regels.
+ De tweede reden is dat nu ongewenste pakketten
die vaak voorkomen en die bij voorkeur niet in de logboeken
voorkomen niet meer van toepassing zijn op de laatste regel
van het onderdeel waarin ze zouden worden gelogd. Met de
@@ -3055,15 +3030,15 @@ ks="keep&ndash;state" # Te lui om iedere keer in te typen.
bewijsmateriaal zijn in een zaak tegen iemand die heeft
geprobeerd een systeem aan te vallen.</para>
- <para>Voor al het verkeer dat wordt geweigerd wordt geen
- antwoord gestuurd. Die pakketten verdwijnen gewoon. Zo
- weet een aanvaller niet of een pakket het doelsysteem wel
+ <para>Iets waarop u ook moet letten is dat voor al het verkeer dat wordt
+ geweigerd geen antwoord wordt gestuurd. Die pakketten verdwijnen
+ gewoon. Zo weet een aanvaller niet of een pakket het doelsysteem wel
heeft bereikt. Zo kan een aanvaller geen informatie
verzamelen over een systeem: hoe minder informatie er over
een systeem beschikbaar is, hoe veiliger het is. Als er
- pakketten gelogd worden waarvan de beheerder het poortnummer
- niet herkent, dan is de functie van dat poortnummer na te
- zoeken in <filename>/etc/services</filename> of op <ulink
+ pakketten gelogd worden met een onbekend poortnummer, dan is de
+ functie van dat poortnummer na te zoeken in
+ <filename>/etc/services</filename> of op <ulink
url="http://www.securitystats.com/tools/portsearch.php"></ulink>.
Op de volgende link worden poortnummers van Trojans
beschreven: <ulink
@@ -3073,43 +3048,43 @@ ks="keep&ndash;state" # Te lui om iedere keer in te typen.
<sect3>
<title>Voorbeeld van een set inclusieve regels</title>
- <para>Het volgende voorbeeld is een complete inclusieve set
+ <para>Het volgende voorbeeld is een complete inclusieve verzameling van
regels die geen gebruik maakt van <acronym>NAT</acronym>.
- Deze set met regels is een aanrader en eenvoudig aan te
- passen door commentaar te maken van een regel voor een
- dienst die niet gewenst is. Logberichten die niet gewenst
- zijn, zijn uit te sluiten door ze met een regel te
- blokkeren in het begin van het onderdeel Inkomend. Voor de
- onderstaande regels dient de <devicename>dc0</devicename>
- interfacenaam in iedere regel vervangen te worden door de
- interfacenaam van de netwerkkaart in het systeem die met
+ Deze verzameling van regels is veilig om deze regels op uw eigen
+ systemen te gebruiken. Dit kan door commentaar te maken van een
+ <literal>pass</literal>-regel voor een dienst die niet gewenst is.
+ Logberichten die niet gewenst zijn, zijn uit te sluiten door een
+ <literal>deny</literal>-regel toe te voegen aan het onderdeel
+ Inkomend. Voor de onderstaande regels dient de interfacenaam
+ <devicename>dc0</devicename> in iedere regel vervangen te worden door
+ de interfacenaam van de netwerkkaart in het systeem die met
het publieke Internet is verbonden. Voor gebruikers van
- PPP zou dat <devicename>tun0</devicename> zijn.</para>
+ <acronym>PPP</acronym> zou dat <devicename>tun0</devicename>
+ zijn.</para>
- <para>Er zit een structuur in de regels:</para>
+ <para>Er zit een merkbare structuur in het gebruik van deze
+ regels:</para>
<itemizedlist>
<listitem>
- <para>Alle regels die controleren op het verzoek voor het
- opzetten van een sessie gebruiken
- <parameter>keep&ndash;state</parameter>.</para>
+ <para>Alle regels die een verzoek zijn voor het opzetten van een
+ sessie gebruiken <literal>keep&ndash;state</literal>.</para>
</listitem>
<listitem>
- <para>Alle diensten die vanaf Internet bereikbaar zijn
- gebruiken <parameter>limit</parameter> om
- <quote>flooding</quote> te voorkomen.</para>
+ <para>Alle diensten die vanaf Internet bereikbaar zijn gebruiken de
+ optie <literal>limit</literal> om <quote>flooding</quote> te
+ voorkomen.</para>
</listitem>
<listitem>
- <para>Alle regels gebruiken <parameter>in</parameter> of
- <parameter>out</parameter> om de richting aan te
- geven.</para>
+ <para>Alle regels gebruiken <literal>in</literal> of
+ <literal>out</literal> om de richting aan te geven.</para>
</listitem>
<listitem>
- <para>Alle regels gebruiken <parameter>via
- interfacenaam</parameter> om aan te geven op welke
+ <para>Alle regels gebruiken <literal>via</literal>
+ <replaceable>interfacenaam</replaceable> om aan te geven op welke
interface de regel van toepassing is.</para>
</listitem>
</itemizedlist>
@@ -3224,7 +3199,7 @@ pif="dc0" # Interfacenaam van NIC die verbinding
&dollar;cmd 00315 deny tcp from any to any 113 in via &dollar;pif
# Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie.
-# Netbios is de Windows® bestandsdeeldienst.
+# Netbios is de Windows&reg; bestandsdeeldienst.
# Blokkeer Windows hosts2 name server verzoeken 81.
&dollar;cmd 00320 deny tcp from any to any 137 in via &dollar;pif
&dollar;cmd 00321 deny tcp from any to any 138 in via &dollar;pif
@@ -3279,8 +3254,8 @@ pif="dc0" # Interfacenaam van NIC die verbinding
<para>Om <acronym>NAT</acronym> met IPFW te gebruiken moeten
een extra aantal instellingen gemaakt worden. In het
instellingenbestand voor de kernel moet <literal>option
- IPDIVERT</literal> toegevoegd worden aan de andere
- IPFIREWALL opties.</para>
+ IPDIVERT</literal> toegevoegd worden aan de andere opties van
+ IPFIREWALL.</para>
<para>Naast de normale IPFW opties in
<filename>/etc/rc.conf</filename> zijn de volgende
@@ -3290,18 +3265,18 @@ pif="dc0" # Interfacenaam van NIC die verbinding
natd_interface="rl0" # interfacenaam voor de publieke Internet NIC
natd_flags="&ndash;dynamic &ndash;m" # &ndash;m = behoud poortnummers als mogelijk</programlisting>
- <para>Stateful regels samen met de
- <parameter>divert</parameter> natd regel gebruiken maakt
- het schrijven van regels veel gecompliceerder. De plaats
- van de regels met <parameter>check&ndash;state</parameter>
- en <parameter>divert natd</parameter> zijn van kritiek
+ <para>Stateful regels samen met de regel
+ <literal>divert natd</literal> (Network Address Translation) gebruiken
+ maakt het schrijven van regels veel gecompliceerder. De plaats
+ van de regels met <literal>check&ndash;state</literal>
+ en <literal>divert natd</literal> zijn van kritiek
belang. De logica bestaat niet langer uit het eenvoudigweg
van boven naar beneden doorwerken van de regels. Er wordt
dan ook een nieuw type actie gebruik:
- <parameter>skipto</parameter>. Bij het gebruik van
- <parameter>skipto</parameter> is het verplicht iedere regel
+ <literal>skipto</literal>. Bij het gebruik van
+ <literal>skipto</literal> is het verplicht iedere regel
te nummeren zodat duidelijk is waar een
- <parameter>skipto</parameter> precies heen springt.</para>
+ <literal>skipto</literal> precies heen springt.</para>
<para>Hieronder staat een groep regels zonder commentaar
waarin een manier om pakketten door de groep regels te
@@ -3310,58 +3285,55 @@ natd_flags="&ndash;dynamic &ndash;m" # &ndash;m = behoud poortnummers
<para>De verwerking begint met de eerste regel en er wordt
steeds een volgende regel gecontroleerd tot het einde
wordt bereikt of totdat een regel op het gecontroleerde
- pakket van toepassing is, op dat pakket wordt toegepast
- en de verwerking van regels daardoor stopt. In het
- voorbeeld zijn de regels 100, 101, 450, 500, en 510 van
- belang. Die regels regelen de vertaling van inkomende en
+ pakket van toepassing is, en het pakket uit de firewall wordt
+ vrijgelaten. In het voorbeeld zijn de regels 100, 101, 450, 500, en
+ 510 van belang. Die regels regelen de vertaling van inkomende en
uitgaande pakketten zodat er in de tabel met de
- dynamische <parameter>keep&ndash;state</parameter> regels
- altijd het private <acronym>IP</acronym> adres staat.
+ dynamische <literal>keep&ndash;state</literal>-regels
+ altijd het private <acronym>IP</acronym>-adres staat.
Daarnaast is het van belang op te merken dat er in alle
- <parameter>allow</parameter> en
- <parameter>deny</parameter> regels de richting van het
- pakket wordt gecontroleerd (inkomend of uitgaand) en over
- welke interface het pakket gaat. Merk ook op dat alle
+ <literal>allow</literal>- en <literal>deny</literal>-regels de
+ richting van het pakket wordt gecontroleerd (inkomend of uitgaand) en
+ over welke interface het pakket gaat. Merk ook op dat alle
uitgaande verzoeken voor het starten van een sessie met
- een <parameter>skipto</parameter> naar regel 500 gaan voor
+ een <literal>skipto</literal> naar regel 500 gaan voor
<acronym>NAT</acronym>.</para>
<para>Stel dat een gebruiker zijn webbrowser gebruikt om een
- webpagina op te halen. Webpagina's gebruiken poort 80 voor
- communicatie. Er komt een pakket de firewall binnen dat
- niet past bij regel 100 omdat het naar buiten gaat en niet
- naar binnen. Het komt voorbij regel 101 omdat dit het
- eerste pakket is en er dus nog niets voor in de dynamische
- keep-state tabel staat. Als het pakket bij 125 aankomt
+ webpagina op te halen. Webpagina's worden over poort 80 verzonden.
+ Er komt een pakket de firewall binnen dat niet past bij regel 100
+ omdat het naar buiten gaat en niet naar binnen. Het komt voorbij
+ regel 101 omdat dit het eerste pakket is en er dus nog niets over in
+ de dynamische keep-state tabel staat. Als het pakket bij 125 aankomt
blijkt het te passen bij die regel. Het gaat naar buiten
door de interface aan het publieke Internet. Het pakket
- heeft dan nog steeds het bron <acronym>IP</acronym> adres
+ heeft dan nog steeds het bron-<acronym>IP</acronym>-adres
van het private LAN. Als blijkt dat deze regel geldt, dan
gebeuren er twee dingen: door
- <parameter>keep&ndash;state</parameter> wordt er een regel
+ <literal>keep&ndash;state</literal> wordt er een regel
in de dynamische keep&ndash;state tabel gezet en wordt de
aangegeven actie uitgevoerd. De actie is onderdeel van de
informatie uit de dynamische tabel. In dit geval is het
- <literal>skipto 500</literal>. In regel 500 wordt
- <acronym>NAT</acronym> op het <acronym>IP</acronym> adres
- van het pakket toegepast en dan kan het weg. Het volgende
+ <literal>skipto rule 500</literal>. In regel 500 wordt
+ <acronym>NAT</acronym> op het <acronym>IP</acronym>-adres
+ van het pakket toegepast en dan kan het weg. Dit
is van groot belang. Dit pakket komt aan op zijn
- bestemming en als er een antwoord terug komt, dan begint de
- verwerking van dat pakket weer van voor af aan. Nu voldoet
+ bestemming en als er een pakket als antwoord terug komt, dan begint de
+ verwerking van het antwoordpakket weer van voor af aan. Nu voldoet
het aan regel 100 en dus wordt het bestemmingsadres
- vertaald naar het bijbehorende <acronym>IP</acronym> adres
+ vertaald naar het bijbehorende <acronym>IP</acronym>-adres
op het LAN. Daarna past het bij de
- <parameter>check&ndash;state</parameter> regel en wordt een
+ <literal>check&ndash;state</literal>-regel en wordt een
vermelding in de tabel gevonden wat betekent dat er een
bestaande sessie is en wordt het doorgelaten naar het LAN.
Het gaat dan naar de PC op het LAN die als eerste een
pakket heeft verzonden en die verstuurt een nieuw pakket
- met de vraag om een volgend segment met data naar de
+ met de vraag om een volgend segment met gegevens naar de
server. Nu blijkt bij controle van de
- <parameter>check&ndash;state</parameter> regel dat die op
+ <literal>check&ndash;state</literal>-regel dat die op
het pakket van toepassing moet zijn en er staat een
vermelding in de tabel voor uitgaand verkeer. Daarom wordt
- de bijbehorende actie <parameter>skipto 500</parameter>
+ de bijbehorende actie <literal>skipto rule 500</literal>
uitgevoerd. Het pakket springt naar regel 500, er wordt
<acronym>NAT</acronym> op toegepast en het kan zijn weg
vervolgen.</para>
@@ -3369,27 +3341,27 @@ natd_flags="&ndash;dynamic &ndash;m" # &ndash;m = behoud poortnummers
<para>Wat betreft binnenkomende pakketten wordt alles dat
onderdeel is van een bestaande sessie automatisch
afgehandeld door de
- <literal>check&ndash;state</literal> regel en de juist
- geplaatste <literal>divert natd</literal> regels. Nu hoeven
- alleen de foute pakketten nog geweigerd te worden en moet
- ondersteuning voor inkomende diensten ingesteld worden. In
- dit geval draait er een Apache server op de gateway machine
+ <literal>check&ndash;state</literal>-regel en de correct
+ geplaatste <literal>divert natd</literal>-regels. Nu hoeven
+ alleen de foute pakketten nog geweigerd te worden en moeten
+ de inkomende diensten doorgelaten worden. In
+ dit geval draait er een Apache server op de firewall-machine
die vanaf Internet bereikbaar moet zijn. Het nieuwe
inkomende pakket past bij regel 100 en het
- <acronym>IP</acronym> adres wordt aangepast aan het interne
- <acronym>IP</acronym> adres van de gateway machine. Dat
+ <acronym>IP</acronym>-adres wordt aangepast aan het interne
+ <acronym>IP</acronym>-adres van de firewall-machine. Dat
pakket wordt dan gecontroleerd op alle ongewenste
eigenschappen en komt uiteindelijk aan bij regel 425 die
van toepassing blijkt te zijn. In dat geval kunnen er twee
dingen gebeuren: de pakketregel wordt in de dynamische
keep&ndash;state tabel gezet, maar nu wordt het aantal nieuwe
- sessies dat van het bron <acronym>IP</acronym> adres komt
- gelimiteerd tot twee. Dit is een bescherming tegen DoS
- aanvallen op de dienst die op dat poortnummer wordt
- aangeboden. De actie is <literal>allow</literal>, dus het
- pakket wordt tot het LAN toegelaten. Voor het antwoord
- herkent de <literal>check&ndash;state</literal> regel dat het
- pakket bij een bestaande sessie hoort, stuurt het naar regel
+ sessies dat van het bron <acronym>IP</acronym>-adres komt
+ gelimiteerd tot twee. Dit is een bescherming tegen DoS-aanvallen
+ op de dienst die op dat poortnummer wordt aangeboden. De actie is
+ <literal>allow</literal>, dus het pakket wordt tot het LAN toegelaten.
+ Voor het pakket dat als antwoord wordt verstuurd herkent de
+ <literal>check&ndash;state</literal> regel dat het
+ pakket bij een bestaande sessie hoort. Het stuurt het naar regel
500 voor <acronym>NAT</acronym> en stuurt het via de
uitgaande interface weg.</para>
@@ -3533,8 +3505,8 @@ pif="rl0" # Interfacenaam van NIC die verbinding
#################################################################
# Interface aan het publieke Internet (onderdeel Inkomend).
-# Inspecteert pakketten die van het publieke Internet komen
-# met als bestemming de host zelf of het private netwerk.
+# Inspecteert pakketten die van het publieke Internet komen met
+# als bestemming deze gateway-server zelf of het private netwerk.
#################################################################
# Blokkeer al het verkeer voor niet-routeerbare of gereserveerde