diff options
author | Rene Ladan <rene@FreeBSD.org> | 2009-09-06 20:51:35 +0000 |
---|---|---|
committer | Rene Ladan <rene@FreeBSD.org> | 2009-09-06 20:51:35 +0000 |
commit | c63a71cbab2060151cbeba5af252494d9361c02c (patch) | |
tree | bfeea2ec9c5fdb64c785d396d7e6eed4d2d65b2f | |
parent | 1f59da1ae974987a46953667e9d57ea41c543452 (diff) | |
download | doc-c63a71cbab2060151cbeba5af252494d9361c02c.tar.gz doc-c63a71cbab2060151cbeba5af252494d9361c02c.zip |
MFen:
* articles/Makefile 1.60 -> 1.61 (SRCID bump only)
* firewalls/chapter.sgml 1.86 -> 1.90 (plus local fixes and add translator credit)
Notes
Notes:
svn path=/head/; revision=34683
-rw-r--r-- | nl_NL.ISO8859-1/articles/Makefile | 4 | ||||
-rw-r--r-- | nl_NL.ISO8859-1/books/handbook/firewalls/chapter.sgml | 1036 |
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é</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é-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ë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; 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 éé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ë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 & 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 éé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 –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 – 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 – 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 – 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 - -> en het bestemmingsadres en poort. - <literal>209.53.17.22,80 -> - 198.73.220.17,1722</literal>.</para> + bronadres en poort gescheiden door een komma, het symbool + -> en het bestemmingsadres en poort, bijvoorbeeld: + <literal>209.53.17.22,80 -> 198.73.220.17,1722</literal>.</para> </listitem> <listitem> @@ -1015,8 +1014,8 @@ LOG_ERR – 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 – 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 éé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–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>!=, <, >, <, >=, eq, ne, - lt, gt, le, ge</literal>.</para> + <para>poort "=" | "!=" | "<" | ">" | "<=" | ">=" | + "eq" | "ne" | "lt" | "gt" | "le" | "ge"</para> <para>Reeksen van poorten worden met de volgende optie - aangegeven: <parameter>port <></parameter> of - <parameter>><</parameter>.</para> + aangegeven: poort <> | ><</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ëindigd wordt hij uit de + <para>Als de sessie wordt beë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—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 éé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óó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 -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 éé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–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–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 éé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ë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 éé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ë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ë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 éé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 éé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 éé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 -> 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ë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 -> 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 éé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> — pass all traffic.</para> + <para><literal>open</literal> — 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> — blokkeert alle IP - verkeer, behalve voor lokaal verkeer.</para> + <para><literal>closed</literal> — blokkeert alle IP-verkeer, + behalve voor lokaal verkeer.</para> </listitem> <listitem> <para><literal>UNKNOWN</literal> — voorkomt het laden - de firewall regels.</para> + de firewall-regels.</para> </listitem> <listitem> - <para><filename>bestandsnaam</filename> — absoluut pad - naar een bestand dat firewall regels bevat.</para> + <para><filename><replaceable>bestandsnaam</replaceable></filename> + — 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. éé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–state</parameter> heeft - geen selectiecriteria. Als er geen regel met - <parameter>check–state</parameter> in de set met - regels staat, dan wordt de tabel met dynamische regels - bij het eerste voorkomen van - <parameter>keep–state</parameter> of - <parameter>limit</parameter> gecontroleerd.</para> + Anders wordt er verder gezocht door de regels. Een regel met + check–state heeft geen selectiecriteria. Als er geen regel + met check–state in de set met regels staat, dan wordt de + tabel met dynamische regels bij het eerste voorkomen van + keep–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–state</parameter> kunnen niet in - dezelfde regel gebruikt worden. + dezelfde regel gebruikt worden. De optie <parameter>limit</parameter> geeft dezelfde mogelijkheden als <parameter>keep–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–state</parameter> wordt gebruikt - om aan te geven waar IPFW regels tegen de mogelijkheden + <para>De optie <literal>check–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–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 éé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 $. Definities worden niet vooraf gegaan door het voorvoegsel $. 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–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–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–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 éé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–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–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–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–state</parameter>.</para> + <para>Alle regels die een verzoek zijn voor het opzetten van een + sessie gebruiken <literal>keep–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 $cmd 00315 deny tcp from any to any 113 in via $pif # Blokkeer alle Netbios diensten. 137=naam, 138=datagram, 139=sessie. -# Netbios is de Windows® bestandsdeeldienst. +# Netbios is de Windows® bestandsdeeldienst. # Blokkeer Windows hosts2 name server verzoeken 81. $cmd 00320 deny tcp from any to any 137 in via $pif $cmd 00321 deny tcp from any to any 138 in via $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="–dynamic –m" # –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–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–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="–dynamic –m" # –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–state</parameter> regels - altijd het private <acronym>IP</acronym> adres staat. + dynamische <literal>keep–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–state</parameter> wordt er een regel + <literal>keep–state</literal> wordt er een regel in de dynamische keep–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–state</parameter> regel en wordt een + <literal>check–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–state</parameter> regel dat die op + <literal>check–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="–dynamic –m" # –m = behoud poortnummers <para>Wat betreft binnenkomende pakketten wordt alles dat onderdeel is van een bestaande sessie automatisch afgehandeld door de - <literal>check–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–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–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–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–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 |