svn commit: r49428 - head/de_DE.ISO8859-1/books/handbook/firewalls
Bjoern Heidotting
bhd at FreeBSD.org
Sun Sep 25 20:08:08 UTC 2016
Author: bhd
Date: Sun Sep 25 20:08:07 2016
New Revision: 49428
URL: https://svnweb.freebsd.org/changeset/doc/49428
Log:
Firewall Update part 4/4 -> IPFILTER
Add bhd as a translator.
Reviewed by: bcr
Differential Revision: https://reviews.freebsd.org/D8026
Modified:
head/de_DE.ISO8859-1/books/handbook/firewalls/chapter.xml
Modified: head/de_DE.ISO8859-1/books/handbook/firewalls/chapter.xml
==============================================================================
--- head/de_DE.ISO8859-1/books/handbook/firewalls/chapter.xml Sat Sep 24 17:05:12 2016 (r49427)
+++ head/de_DE.ISO8859-1/books/handbook/firewalls/chapter.xml Sun Sep 25 20:08:07 2016 (r49428)
@@ -19,6 +19,7 @@
<author><personname><firstname>Michael</firstname><surname>Bunzel</surname></personname><contrib>Übersetzt von </contrib></author>
<author><personname><firstname>Johann</firstname><surname>Kois</surname></personname></author>
<author><personname><firstname>Benjamin</firstname><surname>Lukas</surname></personname></author>
+ <author><personname><firstname>Björn</firstname><surname>Heidotting</surname></personname></author>
</authorgroup>
</info>
@@ -1674,2710 +1675,2138 @@ block drop out quick on $ext_if from any
</sect2>
</sect1>
- <sect1 xml:id="firewalls-ipf">
- <title>Die IPFILTER-Firewall (IPF)</title>
+ <sect1 xml:id="firewalls-ipfw">
+ <title>IPFW</title>
<indexterm>
- <primary>firewall</primary>
+ <primary>Firewall</primary>
- <secondary>IPFILTER</secondary>
+ <secondary>IPFW</secondary>
</indexterm>
- <para>Geschrieben wurde IPFILTER von Darren Reed. IPFILTER ist vom
- Betriebssystem unabhängig: Es ist eine Open Source Anwendung,
- die auf die Betriebssysteme &os;, NetBSD, OpenBSD, &sunos;, HP/UX
- und &solaris; portiert wurde. IPFILTER wird aktiv betreut und
- gepflegt. Es werden regelmäßig neue Versionen
- herausgegeben.</para>
-
- <para>IPFILTER basiert auf einer kernelseitigen Firewall und einem
- <acronym>NAT</acronym> Mechanismus, der durch Anwenderprogramme
- betreut und gesteuert werden kann. Die Regeln der Firewall werden
- mit dem Programm &man.ipf.8; gesetzt oder gelöscht. Für
- die Manipulation der <acronym>NAT</acronym> Regeln verwendet man
- &man.ipnat.8;. Mit &man.ipfstat.8; werden Laufzeitstatistiken der
- kernelseitigen Anteile von IPFILTER aufgelistet. Und mit dem
- Programm &man.ipmon.8; kann man die Aktionen von IPFILTER in die
- Protokolldateien des Systems speichern.</para>
-
- <para>IPF funktionierte ursprünglich mit einer
- Regel-Prozess-Logik à la <quote>die letzte Regel, die
- passt, entscheidet</quote> und verwendete ausschließlich
- Regeln ohne feste Zustände. Inzwischen wurde die
- Regel-Prozess-Logik drastisch modernisiert: Es gibt eine
- <option>quick</option> und eine zustandsorientierte <option>
- keep-state</option> Option. Die offizielle Dokumentation beinhaltet
- leider nur die veralteten Parameter zur Regelerstellung - die neuen
- Funktionen werden nur als Zusatzoptionen aufgelistet, was ihre
- Vorteile beim Erstellen einer weit überlegenen und viel
- sichereren Firewall völlig untergräbt.</para>
-
- <para>Die Anweisungen in diesem Kapitel basieren darauf, Regeln mit
- den Optionen <option>quick</option> und <option>keep-state</option>
- zu erstellen. Mit diesem Grundwissen wird man einen kompletten
- einschließenden Regelsatz erstellen können.</para>
-
- <para>Für eine ausführliche Erläuterung der alten Methode
- zur Regelverarbeitung schauen Sie bitte auf <uri
- xlink:href="http://www.munk.me.uk/ipf/ipf-howto.html">
- http://www.munk.me.uk/ipf/ipf-howto.html</uri> oder <uri
- xlink:href="http://coombs.anu.edu.au/~avalon/ip-filter.html">
- http://coombs.anu.edu.au/~avalon/ip-filter.html</uri>.</para>
+ <para><application>IPFW</application> ist eine
+ <foreignphrase>Stateful-Firewall</foreignphrase>
+ für &os;, die sowohl <acronym>IPv4</acronym> als auch
+ <acronym>IPv6</acronym> unterstützt. Die Firewall setzt sich
+ aus mehreren Komponenten zusammen: dem Kernel Firewall
+ Filter-Prozessor mit integriertem Paket-Accounting,
+ Protokollfunktionen, <acronym>NAT</acronym>, dem
+ &man.dummynet.4; <foreignphrase>Traffic-Shaper</foreignphrase>,
+ sowie Weiterleitungs-, Bridge- und ipstealth-Funktionen.</para>
- <para>Antworten auf häufige Fragen finden Sie unter
- <uri xlink:href="http://www.phildev.net/ipf/index.html">http://www.phildev.net/ipf/index.html</uri>.</para>
+ <para>&os; enthält mit <filename>/etc/rc.firewall</filename> ein
+ Beispielregelwerk, welches mehrere Firewall-Typen für
+ gebräuchliche Szenarien definiert und unerfahrene Anwender
+ dabei unterstützen soll, ein geeignetes Regelwerk zu erstellen.
+ <application>IPFW</application> besitzt eine leistungsstarke
+ Syntax, mit der erfahrene Benutzer ihre eigenen Regeln
+ anfertigen können, um den Sicherheitsanforderungen der
+ jeweiligen Umgebung gerecht zu werden.</para>
- <para>Und ein durchsuchbares Archiv der Mailingliste zu IPFILTER
- gibt es unter <uri xlink:href="http://marc.theaimsgroup.com/?l=ipfilter">http://marc.theaimsgroup.com/?l=ipfilter</uri>.</para>
+ <para>Diser Abschnitt beschreibt, wie
+ <application>IPFW</application> aktiviert wird und bietet einen
+ Überblick über die Regelsyntax. Zudem werden mehrere Regelsätze
+ für gebräuchliche Konfigurationsszenarien vorgestellt.</para>
- <sect2>
- <title>Aktivieren von IPF</title>
+ <sect2 xml:id="firewalls-ipfw-enable">
+ <title><application>IPFW</application> aktivieren</title>
<indexterm>
- <primary>IPFILTER</primary>
-
- <secondary>enabling</secondary>
+ <primary><application>IPFW</application></primary>
+ <secondary>aktivieren</secondary>
</indexterm>
- <para>&os; enthält IPF in der Standardversion als ladbares
- Kernelmodul. Dieses Modul wird vom System automatisch geladen,
- wenn in der <filename>rc.conf</filename> der Eintrag<literal>
- ipfilter_enable="YES"</literal> angelegt wird. In dieser
- ursprünglichen Konfiguration ist die Protokollierung aktiv
- und die Option <literal>default pass all</literal> ("Pakete passieren
- lassen") als Standard gesetzt. Um die <literal>block all</literal>
- ("alles Blockieren") Option zu setzen, muss man nicht gleich
- einen neuen Kernel bauen - es reicht, <literal>block all</literal>
- als letzte Position des Regelsatzes aufzulisten.</para>
- </sect2>
-
- <sect2>
- <title>Kernel-Optionen</title>
-
- <indexterm>
- <primary>Kerneloptionen</primary>
+ <para>Das &os; Basissystem enthält für
+ <application>IPFW</application> ein ladbares Kernelmodul, was
+ bedeutet, dass kein angepasster Kernel benötigt wird, um
+ <application>IPFW</application> zu benutzen.</para>
- <secondary>IPFILTER</secondary>
+ <indexterm>
+ <primary>Kerneloptionen</primary>
+ <secondary>IPFIREWALL</secondary>
</indexterm>
<indexterm>
- <primary>Kerneloptionen</primary>
-
- <secondary>IPFILTER_LOG</secondary>
+ <primary>Kerneloptionen</primary>
+ <secondary>IPFIREWALL_VERBOSE</secondary>
</indexterm>
<indexterm>
- <primary>Kerneloptionen</primary>
-
- <secondary>IPFILTER_DEFAULT_BLOCK</secondary>
+ <primary>Kerneloptionen</primary>
+ <secondary>IPFIREWALL_VERBOSE_LIMIT</secondary>
</indexterm>
<indexterm>
- <primary>IPFILTER</primary>
-
- <secondary>Kerneloptionen</secondary>
+ <primary><application>IPFW</application></primary>
+ <secondary>Kerneloptionen</secondary>
</indexterm>
- <para>Es ist nicht unbedingt notwendig, IPF durch die folgenden
- Optionen direkt in der Kernel einzubinden. Diese Möglichkeit
- der Verwendung von IPF wird hier mehr als Hintergrundwissen angeboten.
- Man sollte nur wissen, dass dadurch nicht mehr das Kernelmodul geladen
- wird - und dementsprechend auch nicht mehr entladen werden kann.</para>
-
- <para>Die Beschreibung der einzelnen Optionen von IPF für die
- Verwendung in der Kernelkonfiguration finden Sie auch in der Datei
- <filename>/usr/src/sys/conf/NOTES</filename>.</para>
-
- <programlisting>options IPFILTER
-options IPFILTER_LOG
-options IPFILTER_DEFAULT_BLOCK</programlisting>
-
- <para><literal>options IPFILTER</literal> aktiviert die Verwendung
- der <quote>IPFILTER</quote> Firewall.</para>
-
- <para><literal>options IPFILTER_LOG</literal> aktiviert den
- Logging-Mechanismus. Das bedeutet, dass jedes Paket geloggt wird,
- auf das eine Regel passt, die das Schlüsselwort
- <literal>log</literal> enthält. Dazu wird der
- Pseudo—Device <filename>ipl</filename> verwendet.</para>
-
- <para><literal>options IPFILTER_DEFAULT_BLOCK</literal> ändert
- das Verhalten der Firewall dahingehend, dass jedes Paket, dass nicht
- explizit von einer <literal>pass</literal> Regel Zugang erhält,
- abgewiesen, bzw. geblockt, wird.</para>
-
- <para>Diese Einstellungen werden erst aktiv, wenn der Kernel, in den sie
- eingebunden wurden, kompiliert, installiert und gebootet wurde.</para>
- </sect2>
-
- <sect2>
- <title>Optionen in rc.conf</title>
-
- <para>Um IPF während des Bootvorgangs einzubinden, braucht man
- lediglich die folgenden Zeilen der Datei
- <filename>/etc/rc.conf</filename> anzufügen:</para>
-
- <programlisting>ipfilter_enable="YES" # Startet IPF
-ipfilter_rules="/etc/ipf.rules" # liest den Regelsatz aus einer Datei
-ipmon_enable="YES" # Startet das IP-Monitor Log
-ipmon_flags="-Ds" # D = Als Da:mon starten
- # s = Protokollierung via syslog
- # v = Protokollierung von tcp window, ack, seq
- # n = Namen statt IP & port ausgeben
- </programlisting>
-
- <para>Falls sich hinter der Firewall ein lokales Netzwerk befindet,
- das den reservierten privaten Adressbereich verwendet, müssen
- die folgenden Zeilen zur Aktivierung von <acronym>NAT</acronym>
- ebenfalls in <filename>/etc/rc.conf</filename> eingetragen
- werden:</para>
-
- <programlisting>gateway_enable="YES" # Aktivierung des LAN-Gateways
-ipnat_enable="YES" # Startet die ipnat Funktion
-ipnat_rules="/etc/ipnat.rules" # Liest die ipnat-Regeldefinitionen aus einer Datei
- </programlisting>
- </sect2>
-
- <sect2>
- <title>Der Befehl ipf</title>
-
- <indexterm><primary><command>ipf</command></primary></indexterm>
+ <para>Wenn Sie eine statische Unterstützung für
+ <application>IPFW</application> in den Kernel kompilieren
+ wollen, lesen Sie <xref linkend="kernelconfig"/>. Folgende
+ Optionen können in der Kernelkonfigurationsdatei verwendet
+ werden:</para>
- <para>Mit dem Befehl &man.ipf.8; liest man die Datei, die den Regelsatz
- enthält ein. Mit dem folgenden Befehl können Sie Ihre
- eigenen, für Ihr System maßgeschneiderten Regeln einlesen
- und so in einem Schritt alle Regeln der laufenden Firewall
- ersetzen:</para>
+ <programlisting>options IPFIREWALL # enables IPFW
+options IPFIREWALL_VERBOSE # enables logging for rules with log keyword
+options IPFIREWALL_VERBOSE_LIMIT=5 # limits number of logged packets per-entry
+options IPFIREWALL_DEFAULT_TO_ACCEPT # sets default policy to pass what is not explicitly denied
+options IPDIVERT # enables NAT</programlisting>
- <screen>&prompt.root; <userinput>ipf -Fa -f /etc/ipf.rules</userinput></screen>
+ <para>Um <application>IPFW</application> beim Systemstart zu
+ aktivieren, fügen Sie folgende Zeile in
+ <filename>/etc/rc.conf</filename> ein:</para>
- <para><option>-Fa</option> bedeutet, dass alle intern gespeicherten
- Tabellen mit Regeln gelöscht werden.</para>
+ <programlisting>firewall_enable="YES"</programlisting>
- <para><option>-f</option> gibt die Datei an, aus der die neuen Regeln
- gelesen werden sollen.</para>
+ <para>Wenn Sie einen der von &os; zur Verfügung gestellten
+ Firewall-Profile benutzen möchten, fügen Sie eine weitere
+ Zeile hinzu, in der Sie das Profil bestimmen:</para>
- <para>Mit diesen beiden Optionen erhalten Sie die Möglichkeit,
- Änderungen an der Datei mit Ihrem Regelsatz vorzunehmen und
- gleich die Firewall mit den neuen Regeln zu bestücken, ohne
- den Rechner neu starten zu müssen. Da dieser Vorgang beliebig
- wiederholt werden kann, ist es ein sehr bequemer Weg, neue Regeln
- einzuarbeiten und zu testen.</para>
-
- <para>Um mehr über diese und weitere Optionen von &man.ipf.8;
- zu erfahren, konsultieren Sie bitte die Manpage.</para>
-
- <para>&man.ipf.8; erwartet, dass es sich bei der Datei mit dem Regelsatz
- um eine Standard-Textdatei handelt. Eine Datei, die ein Skript oder
- Variablen enthält, wird nicht verarbeitet.</para>
-
- <para>Es gibt allerdings doch einen Weg, IPF Regeln mit Hilfe von
- Skripten und Variablen zu erstellen. Weitere Informationen dazu
- finden Sie unter <xref linkend="firewalls-ipf-rules-script"/>.</para>
- </sect2>
+ <programlisting>firewall_type="open"</programlisting>
- <sect2>
- <title>IPFSTAT</title>
+ <para>Folgende Profile stehen zur Verfügung:</para>
- <indexterm><primary><command>ipfstat</command></primary></indexterm>
+ <itemizedlist>
+ <listitem>
+ <para><literal>open</literal>: gestattet jeglichen
+ Datenverkehr.</para>
+ </listitem>
- <indexterm>
- <primary>IPFILTER</primary>
+ <listitem>
+ <para><literal>client</literal>: schützt lediglich diesen
+ Rechner.</para>
+ </listitem>
- <secondary>statistics</secondary>
- </indexterm>
+ <listitem>
+ <para><literal>simple</literal>: schützt das gesamte
+ Netzwerk.</para>
+ </listitem>
- <para>Das normale Verhalten von &man.ipfstat.8; ist, die Zusammenfassung
- der angefallenen Statistiken, die als Resultat der Anwendung von
- nutzerspezifischen Regeln auf ein- und ausgehende Pakete seit dem
- letzten Start der Firewall oder seit dem letzten Zurücksetzen
- der Zähler auf Null durch das Kommando
- <command>ipf -Z</command> angesammelt wurden, abzurufen und
- anzuzeigen.</para>
+ <listitem>
+ <para><literal>closed</literal>: blockiert den gesamten
+ <acronym>IP</acronym>-Datenverkehr, mit Ausnahme des
+ Verkehrs über die Loopback-Schnittstelle.</para>
+ </listitem>
- <para>Für weiterführende Informationen schauen Sie bitte
- auf die Manpage von &man.ipfstat.8;!</para>
+ <listitem>
+ <para><literal>workstation</literal>: schützt lediglich
+ diesen Rechner und verwendet zustandsorientierte
+ Regeln.</para>
+ </listitem>
- <para>Die Ausgabe von &man.ipfstat.8;, wenn keine Parameter
- übergeben wurden, sieht etwa so aus:</para>
+ <listitem>
+ <para><literal>UNKNOWN</literal>: deaktiviert das Laden von
+ Firewallregeln.</para>
+ </listitem>
- <screen>input packets: blocked 99286 passed 1255609 nomatch 14686 counted 0
-output packets: blocked 4200 passed 1284345 nomatch 14687 counted 0
-input packets logged: blocked 99286 passed 0
-output packets logged: blocked 0 passed 0
-packets logged: input 0 output 0
-log failures: input 3898 output 0
-fragment state(in): kept 0 lost 0
-fragment state(out): kept 0 lost 0
-packet state(in): kept 169364 lost 0
-packet state(out): kept 431395 lost 0
-ICMP replies: 0 <acronym>TCP</acronym> RSTs sent: 0
-Result cache hits(in): 1215208 (out): 1098963
-IN Pullups succeeded: 2 failed: 0
-OUT Pullups succeeded: 0 failed: 0
-Fastroute successes: 0 failures: 0
-<acronym>TCP</acronym> cksum fails(in): 0 (out): 0
-Packet log flags set: (0)</screen>
+ <listitem>
+ <para><filename><replaceable>filename</replaceable></filename>:
+ absoluter Pfad zu einer Datei, in der die Firewallregeln
+ definiert sind.</para>
+ </listitem>
+ </itemizedlist>
- <para>Wenn die Option <option>-i</option> für
- <quote>eingehend</quote> oder <option>-o</option> für
- <quote>ausgehend</quote> übergeben wird, liefert das Kommando
- eine entsprechende Liste von Filter-Regeln, die gerade installiert
- sind und vom Kernel verwendet werden.</para>
+ <para>Wenn Sie <literal>firewall_type</literal> auf
+ <literal>client</literal> oder <literal>simple</literal>
+ setzen, müssen Sie die voreingestellten Regeln in
+ <filename>/etc/rc.firewall</filename> anpassen, damit sie
+ der Konfiguration des Systems entsprechen.</para>
- <para><command>ipfstat -in</command> zeigt alle aktive Regeln
- für eingehende Verbindungen zusammen mit ihren Nummern.</para>
+ <para>Beachten Sie, dass das Profil <literal>filename</literal>
+ verwendet wird, um ein benutzerdefiniertes Regelwerk zu
+ laden.</para>
- <para><command>ipfstat -on</command> erledigt dasselbe für die
- ausgehenden Verbindungen.</para>
+ <para>Eine alternative Möglichkeit, um ein benutzerdefiniertes
+ Regelwerk zu laden, bietet die Variable
+ <literal>firewall_script</literal>. Setzen Sie die Variable
+ auf den absoluten Pfad eines
+ <emphasis>ausführbaren Skripts</emphasis>, welches die Befehle
+ für <application>IPFW</application> enthält. Die Beispiele in
+ diesem Abschnitt gehen davon aus, dass
+ <literal>firewall_script</literal> auf
+ <filename>/etc/ipfw.rules</filename> gesetzt ist.</para>
- <para>Die Ausgabe sieht in etwa folgendermaßen aus:</para>
+ <programlisting>firewall_script="/etc/ipfw.rules"</programlisting>
- <screen>@1 pass out on xl0 from any to any
- at 2 block out on dc0 from any to any
- at 3 pass out quick on dc0 proto tcp/udp from any to any keep state</screen>
+ <para>Die Protokollierung wird mit diesem Eintrag
+ aktiviert:</para>
- <para><command>ipfstat -ih</command> zeigt die Tabelle der aktiven
- Regeln für eingehende Verbindungen zusammen mit der Anzahl,
- wie oft jeder einzelnen Regel entsprochen wurde.</para>
+ <programlisting>firewall_logging="YES"</programlisting>
- <para><command>ipfstat -oh</command> zeigt das Gleiche für
- die ausgehenden Verbindungen.</para>
+ <para>Es existiert keine Variable für
+ <filename>/etc/rc.conf</filename>, um die Protokollierung zu
+ begrenzen. Um die Anzahl der Protokoll-Nachrichten pro
+ Verbindungsversuch zu begrenzen, legen Sie die Anzahl der
+ Einträge in <filename>/etc/sysctl.conf</filename> fest:</para>
- <para>Hier wird die Ausgabe so oder so ähnlich aussehen:</para>
+ <programlisting>net.inet.ip.fw.verbose_limit=5</programlisting>
- <screen>2451423 pass out on xl0 from any to any
-354727 block out on dc0 from any to any
-430918 pass out quick on dc0 proto tcp/udp from any to any keep state</screen>
+ <para>Nachdem Sie die Änderungen gespeichert haben, können Sie
+ die Firewall starten. Um auch die Anzahl der
+ Protokoll-Nachrichten zu konfigurieren, setzen Sie mit
+ <command>sysctl</command> den gewünschten Wert:</para>
- <para>Einer der wichtigsten Funktionen von <command>ipfstat</command>
- wird über die Option <option>-t</option> bereitgestellt. Mit
- ihr wird eine Statustabelle vergleichbar der Prozess-Tabelle
- von &man.top.1; ausgegeben. Mit dieser Funktion erhalten Sie im
- Falle eines Angriffs die Möglichkeit, die angreifenden Pakete
- zu identifizieren, abzufangen und auszuwerten. Weitere Unteroptionen
- eröffnen, die IP-Adresse, den Port oder das Protokoll, geteilt
- nach Herkunft und Ziel, auszuwählen und dann in Echtzeit zu
- beobachten. Lesen Sie dazu bitte auch die Manpage von
- &man.ipfstat.8;.</para>
+ <screen>&prompt.root; <userinput>service firewall start</userinput>
+&prompt.root; <userinput>sysctl net.inet.ip.fw.verbose_limit=<replaceable>5</replaceable></userinput></screen>
</sect2>
- <sect2>
- <title>IPMON</title>
+ <sect2 xml:id="firewalls-ipfw-rules">
+ <title><application>IPFW</application> Regel-Syntax</title>
- <indexterm><primary><command>ipmon</command></primary></indexterm>
+ <para>Wenn ein Paket die Firewall <quote>betritt</quote>, also
+ von der Firewall geprüft und verarbeitet wird, wird die
+ erste Regel des Regelwerkes auf das Paket angewandt. Auf
+ diese Weise wird in aufsteigender Reihenfolge der Regelnummer
+ mit allen weiteren Regeln verfahren. Falls die
+ Selektionsparameter einer Regel auf ein Paket zutreffen, wird
+ das Aktionsfeld der Regel ausgeführt und die Prüfung
+ des Pakets beendet, nachfolgende Regeln werden also nicht
+ mehr geprüft. Diese Suchmethode wird als <quote>erster
+ Treffer gewinnt</quote> bezeichnet. Falls keine Regel auf
+ das betreffende Paket zutrifft, wird die obligatorische
+ <application>IPFW</application>-Rückfallregel mit der Nummer
+ 65535 angewendet und das Paket wird ohne Rückantwort
+ verworfen. Wenn das Paket jedoch einer Regel mit dem
+ Schlüsselwort <literal>count</literal>,
+ <literal>skipto</literal> oder <literal>tee</literal>
+ entspricht, wird die Prüfung des Pakets weiter
+ fortgeführt. Weitere Details darüber, wie diese
+ Schlüsselwörter die Regelverarbeitung beeinflussen, finden Sie
+ in &man.ipfw.8;.</para>
<indexterm>
- <primary>IPFILTER</primary>
-
- <secondary>logging</secondary>
- </indexterm>
-
- <para>Damit der Befehl <command>ipmon</command> korrekt arbeiten kann,
- muss die Option <literal>IPFILTER_LOG</literal> in die
- Kernelkonfiguration eingearbeitet werden. Das Kommando selbst
- arbeitet in zwei verschiedenen Modi. Für den nativen Modus
- startet man <command>ipmon</command> auf der Kommandozeile ohne die
- Option <option>-D</option>.</para>
-
- <para>Der Hintergrundmodus (<literal>daemon mode</literal>) dient der
- Erstellung eines stetigen Systemprotokolls, so dass Einträge
- vergangener Ereignisse inspiziert werden können. So sollen &os;
- und IPFILTER entsprechend ihrer Konfiguration zusammen arbeiten.
- &os; kann mit einem eingebauten Mechanismus Systemprotokolle
- turnusmäßig abspeichern. Aus diesem Grund sollte man
- besser &man.syslogd.8; verwenden anstatt die Protokollinformationen
- in eine Datei zu schreiben, wie es als Standard vorgesehen ist. In
- der Standard-<filename>rc.conf</filename>-Datei (im Ordner
- <filename>/etc/defaults/</filename>) wird dem Eintrag
- <literal>ipmon_flags</literal> die Option <option>-Ds</option>
- übergeben:</para>
-
- <programlisting>ipmon_flags="-Ds" # D = Als Da:mon starten
-# s = Protokollierung via syslog
-# v = Protokollierung von tcp window, ack, seq
-# n = Namen statt IP & port ausgeben</programlisting>
-
- <para>Die Vorteile des Protokollierens liegen auf der Hand: Sie
- versetzen den Administrator in die Lage, nach einem Vorfall
- Informationen abzurufen, etwa welche Pakete aussortiert wurden,
- welche Adressen diese Pakete gesendet haben oder wohin sie gesendet
- werden sollten. Alles in allem erhält er ein sehr gutes Werkzeug
- zum Aufspüren von Angreifern.</para>
-
- <para>Jedoch, auch wenn die Protokollierung aktiviert ist, wird IPF
- keine einzige Regel zum Protokollieren von alleine entwerfen und
- umsetzen. Der Administrator der Firewall entscheidet, welche Regeln
- in seinem Regelsatz mitgeschrieben werden sollen und er muss
- dementsprechend das Schlüsselword <literal>log</literal> in
- dieser Regel angeben. Normalerweise werden nur Treffer auf abweisende
- Regeln protokolliert.</para>
-
- <para>Es ist üblich, als letzte Regel eine alles blockierende
- Regel mit dem Schlüsselwort <literal>log</literal> in den
- Regelsatz einzutragen. Dadurch erkennt man alle Pakete, die keiner
- Regel im Regelsatz entsprachen.</para>
- </sect2>
-
- <sect2>
- <title>IPMON Logging</title>
-
- <para><application>Syslogd</application> verwendet seine eigene Methode
- zum Sortieren der gesammtelten Protokolldaten - spezielle Gruppierungen
- namens <quote>facility</quote> und <quote>level</quote>. IPMON
- verwendet im <literal>daemon</literal>-Modus als
- <quote>facility</quote> den Wert <literal>security</literal>. Die
- folgenden <quote>level</quote> können für eine genauere
- Trennung der Protokolldaten verwendet werden:</para>
-
- <screen>LOG_INFO - Alle zu protokollierenden Pakete
-LOG_NOTICE - Protokollierte Pakete, die passieren durften
-LOG_WARNING - Protokollierte Pakete, die blockiert wurden
-LOG_ERR - Protokollierte Pakete, deren Headerdaten nicht komplett vorlagen</screen>
-
- <para>Damit IPFILTER angewiesen werden kann, alle Protokolldaten in
- die Datei <filename>/var/log/ipfilter.log</filename> zu schreiben,
- muss diese erst erstellt werden. Folgendes Kommando
- übernimmt diese Aufgabe:</para>
-
- <screen>&prompt.root; <userinput>touch /var/log/ipfilter.log</userinput></screen>
-
- <para>Die Funktionen von &man.syslogd.8; werden durch Definition in
- der Datei <filename>/etc/syslog.conf</filename> gesteuert. In dieser
- Datei kann sehr weitläfig eingestellt werden, wie
- <application>syslog</application> mit den Systemnachrichten umgehen
- soll, die ihm von Anwendungen wie IPF übergeben werden.</para>
-
- <para>Fügen Sie folgende Definition in die Datei
- <filename>/etc/syslog.conf</filename> ein, um die Protokollierung
- für IPF via <filename>syslog</filename> zu aktivieren:</para>
-
- <programlisting>security.* /var/log/ipfilter.log</programlisting>
+ <primary><application>IPFW</application></primary>
+ <secondary>Regel-Syntax</secondary>
+ </indexterm>
- <para><literal>security.*</literal> bedeutet, dass alle Nachrichten
- der Klasse <literal>security.*</literal> am angegebenen Ort (hier
- eine Datei) geschrieben werden sollen.</para>
+ <para>Bei der Erstellung der
+ <application>IPFW</application>-Regeln müssen die
+ Schlüsselwörter in der folgenden Reihenfolge geschrieben
+ werden. Einige Schlüsselwörter müssen zwingend angegeben
+ werden, während andere optional sind. Die Wörter in
+ Großbuchstaben repräsentieren Variablen und die Wörter in
+ Kleinbuchstaben müssen den Variablen vorangestellt
+ werden. Das Zeichen <literal>#</literal> wird benutzt, um
+ einen Kommentar einzuleiten und kann am Ende einer Regel oder
+ in einer eigenen Zeile stehen. Leerzeilen werden
+ ignoriert.</para>
- <para>Um Änderungen an der Datei
- <filename>/etc/syslog.conf</filename> zu aktivieren müssen Sie
- den Rechner neu starten, oder den Befehl</para>
+ <para><replaceable>CMD RULE_NUMBER set SET_NUMBER ACTION log
+ LOG_AMOUNT PROTO from SRC SRC_PORT to DST DST_PORT
+ OPTIONS</replaceable></para>
- <screen>&prompt.root; <userinput>/etc/rc.d/syslogd reload</userinput></screen>
+ <para>Dieser Abschnitt bietet einen Überblick über diese
+ Schlüsselwörter und deren Optionen. Es ist keine vollständige
+ Liste aller verfügbaren Optionen. Eine vollständige
+ Beschreibung der Regel-Syntax, die Sie verwenden können um
+ <application>IPFW</application>-Regeln zu erstellen, finden
+ Sie in &man.ipfw.8;.</para>
- <para>ausführen.</para>
+ <variablelist>
+ <varlistentry>
+ <term>CMD</term>
+ <listitem>
+ <para>Jede Regel muss mit <parameter>ipfw add</parameter>
+ beginnen.</para>
+ </listitem>
+ </varlistentry>
- <para>Vergessen Sie nicht, <filename>/etc/newsyslog.conf</filename>
- anzupassen, damit die neuen Protokolldateien, die eben konfiguriert
- wurden, auch in den Rotationsturnus eingefügt werden!</para>
- </sect2>
+ <varlistentry>
+ <term>RULE_NUMBER</term>
+ <listitem>
+ <para>Jede Regel gehört zu einer Nummer zwischen
+ <literal>1</literal> und <literal>65534</literal>. Die
+ Nummer wird verwendet, um die Reihenfolge der
+ Regelverarbeitung zu kennzeichnen. Es ist möglich, dass
+ mehrere Regeln dieselbe Nummer haben. In diesem Fall
+ werden sie entsprechend der Reihenfolge angewendet, in
+ der sie aufgenommen wurden.</para>
+ </listitem>
+ </varlistentry>
- <sect2>
- <title>Die Formatierung der Logdatei</title>
+ <varlistentry>
+ <term>SET_NUMBER</term>
+ <listitem>
+ <para>Jede Regel ist einer <emphasis>Set</emphasis>-Nummer
+ zwischen <literal>0</literal> und <literal>31</literal>
+ zugeordnet. Sets können einzeln aktiviert oder
+ deaktiviert werden. Dies macht es möglich, eine Reihe
+ von Regeln schnell hinzuzufügen oder zu löschen. Wenn
+ <literal>SET_NUMBER</literal> nicht angegeben ist, wird
+ die Regel zu Set <literal>0</literal>
+ hinzugefügt.</para>
+ </listitem>
+ </varlistentry>
- <para>Nachrichten, die durch <command>ipmon</command> erzeugt werden,
- bestehen aus durch Leerstellen getrennten Datenfeldern. Folgende
- Felder sind in allen Nachrichten enthalten:</para>
+ <varlistentry>
+ <term>ACTION</term>
+ <listitem>
+ <para>Eine Regel kann mit einer der folgenden Aktionen
+ verknüpft werden. Die festgelegte Aktion wird
+ ausgeführt, wenn das Paket den Selektionskriterien der
+ Regel entspricht.</para>
- <orderedlist>
- <listitem>
- <para>Das Datum der Paketerstellung.</para>
- </listitem>
-
- <listitem>
- <para>Die Uhrzeit der Paketerstellung in der Form
- <literal>HH:MM:SS.F</literal>, mit Stunden, Minuten, Sekunden
- und Sekundenbruchteilen, wobei letztere mehrere Stellen lang
- sein können.</para>
- </listitem>
-
- <listitem>
- <para>Der Name der Schnittstelle, die das Paket verarbeitet hat,
- bspw. <filename>dc0</filename>.</para>
- </listitem>
-
- <listitem>
- <para>Die Gruppe und die Nummer der angewandten Regel, bspw.
- <literal>@0:17</literal>.</para>
- </listitem>
-
- <listitem>
- <para>Die ausgeführte Aktion: p für
- <literal>passed</literal> (zugelassen), b für blockiert,
- S für <literal>short packet</literal> (unvollständiger
- Header), n für <literal>no match</literal> (gar keine Regel
- wurde berührt) und L für Log-Regel. Die Reihe, in der
- die Flags angezeigt werden ist: S, p, b, n, L. Ein groß
- geschriebenes P oder B bedeutet, dass das Paket aufgrund einer
- globalen Einstellung protokolliert wurde und nicht wegen einer
- einzelnen Regel.</para>
- </listitem>
-
- <listitem>
- <para>Die Adressen. Diese bestehen aus drei Feldern: Der
- Quelladresse mit Port (getrennt durch ein Komma), dem Symbol
- <quote>-></quote> und der Zieladresse. Also bspw.
- <literal>209.53.15.22,80 -> 198.64.221.18,1722</literal>.</para>
- </listitem>
-
- <listitem>
- <para><literal>PR</literal> gefolgt vom Namen eines
- Netzwerk-Protokolls oder dessen Nummer. Bspw.
- <literal>PR tcp</literal>.</para>
- </listitem>
-
- <listitem>
- <para><literal>len</literal> gefolgt von der Länge des Headers
- und der Gesamtlänge des Paketes, beispielsweise
- <literal>len 20 40</literal>.</para>
- </listitem>
- </orderedlist>
+ <para><parameter>allow | accept | pass |
+ permit</parameter>: All diese Aktionen sind
+ gleichbedeutend und erlauben Pakete, die mit der Regel
+ übereinstimmen.</para>
- <para>Wenn es sich um ein <acronym>TCP</acronym>-Paket handelt, wird
- ein weiteres Feld, beginnend mit einem Querstrich und gefolgt von
- Buchstaben, die den gesetzten Flags entsprechen, angezeigt. Lesen
- Sie bitte die Manpage &man.ipmon.8; für eine Liste der Buchstaben
- und deren Bedeutungen.</para>
-
- <para>Falls das Paket ein ICMP-Paket ist, werden zwei Felder am Ende
- hinzugefügt - das erstere ist immer <quote>ICMP</quote>, das
- zweite enthält die ICMP-Nachricht und den Nachrichtentyp,
- getrennt durch einen Schrägstrich. <literal>ICMP 3/3</literal>
- steht beispielsweise für <quote>Port nicht
- erreichbar</quote>.</para>
- </sect2>
+ <para><parameter>check-state</parameter>: Diese Aktion
+ überprüft die Regel in der dynamischen Zustandstabelle.
+ Bei einer Übereinstimmung wird die mit der dynamischen
+ Regel verknüpfte Aktion ausgeführt, andernfalls wird mit
+ der Prüfung gegen die nächste Regel fortgefahren. Die
+ Regel <literal>check-state</literal> hat selbst kein
+ Selektionskriterium. Sollte keine
+ <literal>check-state</literal>-Regel im Regelwerk
+ vorhanden sein, wird die dynamische Zustandstabelle beim
+ ersten Vorkommen einer <literal>keep-state</literal>-
+ oder <literal>limit</literal>-Regel überprüft.</para>
- <sect2 xml:id="firewalls-ipf-rules-script">
- <title>Die Erstellung eines Regelsatzes mit Variablen</title>
+ <para><parameter>count</parameter>: Aktualisiert die
+ Zähler für alle Pakete, die mit dieser Regel
+ übereinstimmen. Die Prüfung wird mit der nächsten Regel
+ fortgesetzt.</para>
- <para>Erfahrenere IPF Anwender erstellen sich eine Datei, die die
- Regeln enthält und gestalten diese als ein Skript, in dem
- Variablen verwendet werden. Der wichtigste Vorteil besteht darin,
- dass man lediglich den Wert der Variablen anpassen muss und diese,
- sobald das Skript gestartet wird, durch die entsprechenden Werte
- ersetzt und die Regeln entsprechend formuliert werden. In Skripten
- kann man so häufig verwendete Werte einfach als Variable in
- mehreren Regeln zuweisen. Am folgenden Beispiel soll das
- verdeutlicht werden.</para>
-
- <para>Die Syntax dieses Skriptes ist kompatibel mit den Shells
- &man.sh.1;, &man.csh.1; und &man.tcsh.1;.</para>
-
- <para>Variablen beginnen mit einem Dollar-Zeichen:
- <literal>$Variablenname</literal>. Im Beispiel unten steht
- <literal>$oif</literal> für die Variable, in der der Name
- der Schnittstelle abgelegt wird, über die der Verkehr nach
- außen erfolgt.</para>
-
- <para>In Variablenzuweisungen fehlt das beginnende $-Zeichen.
- Alleine der Name der Variable wird angegeben, gefolgt von einem
- Gleichheitszeichen, und dem Wert, der der Variablen zugewiesen werden
- soll. Dieser muss in doppelten Anführungszeichen
- (<literal>""</literal>) stehen. Also folgt eine Zuweisung dem Schema
- <literal>Variablenname = "Wert"</literal>.</para>
-
- <programlisting>############# Start of IPF rules script ########################
-
-oif="dc0" # Name der Internet-Schnittstelle
-odns="192.0.2.11" # IP des DNS-Servers unseres ISPs
-myip="192.0.2.7" # die statische IP, die uns der ISP zugeteilt hat
-ks="keep state"
-fks="flags S keep state"
-
-# Sie haben die Wahl, aus diesem Skript eine eigene
-# /etc/ipf.rules erstellen zu lassen oder es einfach
-# direkt als Skript laufen zu lassen.
-#
-# Entfernen Sie dazu das eine Kommentarzeichen
-# und kommentieren Sie die andere Zeile aus!
-#
-# 1) Diese Zeile verwenden Sie zur Erstellung von /etc/ipf.rules
-#cat > /etc/ipf.rules << EOF
-#
-# 2) Diese Zeile, wenn Sie direkt mit dem Skript arbeiten wollen
-/sbin/ipf -Fa -f - << EOF
+ <para><parameter>deny | drop</parameter>: Diese Aktionen
+ sind gleichbedeutend und verwerfen Pakete, die mit
+ dieser Regel übereinstimmen.</para>
+
+ <para>Es stehen noch weitere Aktionen zur Verfügung.
+ Einzelheiten finden Sie in &man.ipfw.8;.</para>
+ </listitem>
+ </varlistentry>
-# Erlaubnis ausgehenden Verkehrs an den Nameserver des ISPs
-pass out quick on $oif proto tcp from any to $odns port = 53 $fks
-pass out quick on $oif proto udp from any to $odns port = 53 $ks
-
-# Erlaubnis ausgehenden unsicheren www-Verkehrs
-pass out quick on $oif proto tcp from $myip to any port = 80 $fks
-
-# Erlaubnis ausgehenden sicheren www-Verkehrs https via TLS SSL
-pass out quick on $oif proto tcp from $myip to any port = 443 $fks
-EOF
-################## End of IPF rules script ########################</programlisting>
-
- <para>Das ist schon alles. Die Regeln selbst sind im Beispiel nicht
- so wichtig - achten Sie auf die Anwendung der Variablenzuweisung
- am Anfang und die Verwendung der Variablen im Skript. Falls das
- obige Beispiel in einer Datei namens
- <filename>/etc/ipf.rules.script</filename> gespeichert wurde,
- können die Regeln mit folgenden Kommando neu geladen
- werden:</para>
-
- <screen>&prompt.root; <userinput>sh /etc/ipf.rules.script</userinput></screen>
-
- <para>Es gibt ein Problem mit Regelsatz-Dateien, die Variablen
- verwenden: IPF kann mit Variablen nichts anfangen - und kann derartige
- Skripte nicht direkt einlesen.</para>
+ <varlistentry>
+ <term>LOG_AMOUNT</term>
+ <listitem>
+ <para>Erfüllt ein Paket die Selektionskriterien mit dem
+ Schlüsselwort <literal>log</literal>, wird dies von
+ &man.syslogd.8; mit der Annotation
+ <literal>SECURITY</literal> protokolliert. Dies erfolgt
+ allerdings nur, wenn die Anzahl der protokollierten
+ Pakete der betreffenden Regel die definierte
+ <literal>LOG_AMOUNT</literal>-Grenze nicht übersteigt.
+ Wenn <literal>LOG_AMOUNT</literal> nicht definiert ist,
+ wird die Grenze aus dem Wert von
+ <varname>net.inet.ip.fw.verbose_limit</varname>
+ benutzt. Ein Wert von <literal>0</literal> bedeutet
+ eine unbegrenzte Protokollierung. Wird eine definierte
+ Grenze erreicht, wird die Protokollierung für diese
+ Regel deaktiviert. Um die Protokollierung zu
+ reaktivieren, können Sie den Protokoll- oder Paketzähler
+ mit <command>ipfw resetlog</command>
+ zurücksetzen.</para>
- <para>Unser kleines Skript kann daher nur auf eine der beiden folgenden
- Weisen verwendet werden:</para>
+ <note>
+ <para>Die Protokollierung findet statt, nachdem alle
+ Selektionskriterien geprüft und bevor die endgültige
+ Aktion auf das Paket angewendet wird. Der
+ Administrator entscheidet, welche Regel protokolliert
+ werden soll.</para>
+ </note>
+ </listitem>
+ </varlistentry>
- <itemizedlist>
- <listitem>
- <para>Entfernen Sie das Kommentarzeichen der Zeile, die mit
- <literal>cat</literal> beginnt. Kommentieren Sie die Zeile aus,
- die mit <literal>/sbin/ipf</literal> beginnt. Schreiben Sie die
- Zeile <literal>ipfilter_enable="YES"</literal> in die Datei
- <filename>/etc/rc.conf</filename> und rufen Sie dann das Skript
- auf, um <filename>/etc/ipf.rules</filename> zu erstellen oder
- zu erneuern.</para>
- </listitem>
-
- <listitem>
- <para>Deaktivieren Sie IPFILTER in den Systemstart-Skripten, indem
- Sie die Zeile <literal>ipfilter_enable="NO"</literal> in die
- Datei <filename>/etc/rc.conf</filename> eintragen (was auch der
- Standard-Einstellung entspricht).</para>
-
- <para>Fügen Sie ein Skript ähnlich dem folgenden in Ihr
- Verzeichnis <filename>/usr/local/etc/rc.d/</filename>. Es
- sinnvoll, dem Skript einen offensichtlichen Namen zu geben, wie
- etwa <filename>ipf.loadrules.sh</filename>. Die Endung
- <filename>.sh</filename> ist dabei verbindlich.</para>
-
- <programlisting>#!/bin/sh
-sh /etc/ipf.rules.script</programlisting>
-
- <para>Die Zugriffsrechte für die Datei, die das Skript
- enthält, müssen für den Eigentümer
- <systemitem class="username">root</systemitem> auf Lesen, Schreiben und Ausführen
- gesetzt werden.</para>
+ <varlistentry>
+ <term>PROTO</term>
+ <listitem>
+ <para>Dieser optionale Wert wird verwendet, um einen
+ beliebigen Protokollnamen oder -nummer aus
+ <filename>/etc/protocols</filename> gegen das Paket zu
+ prüfen.</para>
+ </listitem>
+ </varlistentry>
- <screen>&prompt.root; <userinput>chmod 700 /usr/local/etc/rc.d/ipf.loadrules.sh</userinput></screen>
- </listitem>
- </itemizedlist>
+ <varlistentry>
+ <term>SRC</term>
+ <listitem>
+ <para>Nach dem Schlüsslwort<literal>from</literal> muss
+ die Quelladresse stehen, oder ein Schlüsselwort, das die
+ Quelladresse darstellt. Eine Adresse wird dargestellt
+ duch <literal>any</literal>, <literal>me</literal> (jede
+ Adresse dieses Systems), <literal>me6</literal> (jede
+ <acronym>IPv6</acronym>-Adresse dieses Systems), oder
+ <literal>table</literal> gefolgt von der Nummer der
+ Tabelle, welche die Adressen enthält.
+ <acronym>IP</acronym>-Adressen können in
+ <acronym>CIDR</acronym>-Notation geschrieben werden.
+ Beispielsweise <literal>1.2.3.4/25</literal> oder
+ <literal>1.2.3.4:255.255.255.128</literal>.</para>
+ </listitem>
+ </varlistentry>
- <para>Wenn nun Ihr System startet, werden Ihre IPF-Regeln geladen.</para>
- </sect2>
+ <varlistentry>
+ <term>SRC_PORT</term>
+ <listitem>
+ <para>Optional kann ein Quellport über eine Nummer oder
+ einen Namen aus <filename>/etc/services</filename>
+ spezifiziert werden.</para>
+ </listitem>
+ </varlistentry>
- <sect2>
- <title>IPF Regelsätze</title>
+ <varlistentry>
+ <term>DST</term>
+ <listitem>
+ <para>Nach dem Schlüsselwort <literal>to</literal> muss
+ die Zieladresse stehen, oder ein Schlüsselwort, das die
+ Zieladresse darstellt. Es können die gleichen
+ Schlüsselwörter und Adressen benutzt werden, die bereits
+ im SRC-Abschnitt beschrieben wurden.</para>
+ </listitem>
+ </varlistentry>
- <para> Ein Regelsatz ist eine Gruppe von IPF-Regeln, die anhand der
- Werte eines Netzwerkpaketes entscheiden, ob dieses Paket durchgelassen
- oder blockiert wird. Der Austausch von Paketen erfolgt immer
- zweiseitig in Form einer sogenannten Session. Der Regelsatz der
- Firewall verarbeitet sowohl die eingehenden Pakete aus dem
- öffentlichen Internet als auch die Pakete, die vom System als
- Antwort auf die Ersteren gesendet werden. Jeder Dienst, der via
- <acronym>TCP/IP</acronym> arbeitet, zum Beispiel
- <literal>telnet</literal>, <literal>www</literal> oder
- <literal>mail</literal>, ist vordefiniert durch sein Protokoll und
- seinen privilegierten Port, an dem er auf Anfragen wartet und
- reagieren kann. Pakete, die gezielt einen Dienst ansprechen sollen,
- werden von einem unprivilegierten Port des Senders an einen konkreten
- privilegierten Port des Zielsystems geschickt. Alle genannten
- Parameter (Ports, Adressen usw.) können als Auswahlkriterien zum
- erstellen von Regeln eingesetzt werden, die Dienste erlauben oder
- blockieren.</para>
+ <varlistentry>
+ <term>DST_PORT</term>
+ <listitem>
+ <para>Optional kann ein Zielport über eine Nummer oder
+ einen Namen aus <filename>/etc/services</filename>
+ spezifiziert werden.</para>
+ </listitem>
+ </varlistentry>
- <indexterm>
- <primary>IPFILTER</primary>
+ <varlistentry>
+ <term>OPTIONS</term>
+ <listitem>
+ <para>Nach der Quell- und Zieladresse können noch weitere
+ Optionen angegeben werden. Wie der Name bereits sagt,
+ sind <literal>OPTIONS</literal> optional. Häufig
+ verwendete Optionen sind <literal>in</literal> oder
+ <literal>out</literal>, mit denen die Richtug des
+ Pakets bestimmt wird, <literal>icmptypes</literal>
+ gefolgt vom Typ der <acronym>ICMP</acronym>-Nachricht,
+ sowie <literal>keep-state</literal>.</para>
- <secondary>rule processing order</secondary>
- </indexterm>
+ <para>Wenn ein Paket auf eine
+ <parameter>keep-state</parameter>-Regel zutrifft, wird
+ die Firewall eine dynamische Regel erstellen, die dem
+ bidirektionalen Datenverkehr zwischen den gleichen
+ Quell- und Zieladressen mit dem gleichen Protokoll
+ entspricht.</para>
+
+ <para>Dynamische Regeln sind für einen sogenannten
+ <foreignphrase>SYN-flood</foreignphrase>-Angriff
+ anfällig, bei dem eine riesige Anzahl an dynamischen
+ Regeln erzeugt wird. Verwenden Sie die Option
+ <literal>limit</literal>, um einen solchen Angriff
+ entgegenzuwirken. Diese Option begrenzt die Anzahl
+ der gleichzeitig möglichen Sitzungen. Es handelt sich
+ dabei um einen Zähler, der die Anzahl von dynamischen
+ Regeln in Kombination mit der Quelladresse verfolgt.
+ Übersteigt der Zähler den durch <literal>limit</literal>
+ definierten Wert, wird das Paket verworfen.</para>
- <para>IPF wurde ursprünglich mit einer Regel-Prozess-Logik
- geschrieben, die ausschließlich statusfreie Regeln zuließ
- und nach dem Prinzip <quote>die letzte Regel, die passt,
- entscheidet</quote> arbeitete. Mit der Zeit erhielt IPF eine
- <option>quick</option> Option sowie <option>keep-state</option> Option
- für die Anwendung von zustandsorientierten Regeln, was die
- Regel-Prozess-Logik signifikant modernisierte.</para>
-
- <para>Die Anweisungen in diesem Kapitel basieren auf der Verwendung
- von Regeln, die diese beiden neuen Optionen verarbeiten. Dies ist
- das Framework zur Entwicklung eines Firewallregelsatzes.</para>
-
- <warning>
- <para>Wenn Sie mit einer Firewall arbeiten, seien Sie
- <emphasis>sehr vorsichtig</emphasis>. Durch wenige Einstellungen
- können Sie sich aus Ihrem System
- <emphasis>aussperren</emphasis>. Wenn Sie auf der sicheren Seite
- sein wollen, führen Sie die Firewall-Konfiguration direkt am
- entsprechenden Gerät aus und nicht über eine
- Netzwerkverbindung wie bspw. <application>ssh</application>.</para>
- </warning>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-all
mailing list