Changeset View
Changeset View
Standalone View
Standalone View
documentation/content/de/books/handbook/firewalls/_index.adoc
Show First 20 Lines • Show All 149 Lines • ▼ Show 20 Lines | |||||
man:pfctl[8] beschreibt zusätzliche Optionen, die beim Start an PF übergeben werden können. Fügen Sie diesen Eintrag in [.filename]#/etc/rc.conf# hinzu und schreiben Sie die benötigten Optionen zwischen die Anführungszeichen: | man:pfctl[8] beschreibt zusätzliche Optionen, die beim Start an PF übergeben werden können. Fügen Sie diesen Eintrag in [.filename]#/etc/rc.conf# hinzu und schreiben Sie die benötigten Optionen zwischen die Anführungszeichen: | ||||
[.programlisting] | [.programlisting] | ||||
.... | .... | ||||
pf_flags="" # additional flags for pfctl startup | pf_flags="" # additional flags for pfctl startup | ||||
.... | .... | ||||
PF kann nicht gestartet werden, wenn es seine Konfigurationsdatei nicht findet. In der Voreinstellung existiert unter FreeBSD kein Regelsatz namens [.filename]#/etc/pf.conf#. Beispiel-Regelsätze finden Sie in [.filename]#/usr/shared/examples/pf/#. Wenn bereits ein Regelsatz an anderer Stelle gespeichert wurde, fügen Sie in [.filename]#/etc/rc.conf# einen Eintrag mit dem vollständigen Pfad zur Datei ein: | PF kann nicht gestartet werden, wenn es seine Konfigurationsdatei nicht findet. In der Voreinstellung existiert unter FreeBSD kein Regelsatz namens [.filename]#/etc/pf.conf#. Beispiel-Regelsätze finden Sie in [.filename]#/usr/share/examples/pf/#. Wenn bereits ein Regelsatz an anderer Stelle gespeichert wurde, fügen Sie in [.filename]#/etc/rc.conf# einen Eintrag mit dem vollständigen Pfad zur Datei ein: | ||||
[.programlisting] | [.programlisting] | ||||
.... | .... | ||||
pf_rules="/path/to/pf.conf" | pf_rules="/path/to/pf.conf" | ||||
.... | .... | ||||
Protokollierungsfunktionen für PF werden von man:pflog[4] zur Verfügung gestellt. Fügen Sie `pflog_enable=yes` in [.filename]#/etc/rc.conf# ein, um diese Funktion zu aktivieren: | Protokollierungsfunktionen für PF werden von man:pflog[4] zur Verfügung gestellt. Fügen Sie `pflog_enable=yes` in [.filename]#/etc/rc.conf# ein, um diese Funktion zu aktivieren: | ||||
Show All 20 Lines | |||||
Nachdem die Änderungen gespeichert wurden, kann PF mit Unterstützung für Protokollierung gestartet werden: | Nachdem die Änderungen gespeichert wurden, kann PF mit Unterstützung für Protokollierung gestartet werden: | ||||
[source,shell] | [source,shell] | ||||
.... | .... | ||||
# service pf start | # service pf start | ||||
# service pflog start | # service pflog start | ||||
.... | .... | ||||
In der Voreinstellung liest PF seine Konfiguration aus [.filename]#/etc/pf.conf# und modifiziert, verwirft oder akzeptiert Pakete anhand der Definitionen in dieser Datei. FreeBSD enthält mehrere Beispieldateien unter [.filename]#/usr/shared/examples/pf/#. Auch die http://www.openbsd.org/faq/pf/[PF FAQ] enthält sehr ausführliche Beispiele für PF-Regeln. | In der Voreinstellung liest PF seine Konfiguration aus [.filename]#/etc/pf.conf# und modifiziert, verwirft oder akzeptiert Pakete anhand der Definitionen in dieser Datei. FreeBSD enthält mehrere Beispieldateien unter [.filename]#/usr/share/examples/pf/#. Auch die http://www.openbsd.org/faq/pf/[PF FAQ] enthält sehr ausführliche Beispiele für PF-Regeln. | ||||
Zur Steuerung von PF wird `pfctl` verwendet. <<pfctl>> fasst einige nützliche Optionen für diesen Befehl zusammen. Eine Beschreibung aller verfügbaren Optionen finden Sie in man:pfctl[8]. | Zur Steuerung von PF wird `pfctl` verwendet. <<pfctl>> fasst einige nützliche Optionen für diesen Befehl zusammen. Eine Beschreibung aller verfügbaren Optionen finden Sie in man:pfctl[8]. | ||||
[[pfctl]] | [[pfctl]] | ||||
.Nützliche `pfctl` Optionen | .Nützliche `pfctl` Optionen | ||||
[cols="1,1", frame="none", options="header"] | [cols="1,1", frame="none", options="header"] | ||||
|=== | |=== | ||||
| Kommando | | Kommando | ||||
| Aufgabe | | Aufgabe | ||||
▲ Show 20 Lines • Show All 1,401 Lines • ▼ Show 20 Lines | |||||
`-Fa` löscht zunächst alle internen Regeln und mit `-f` wird die Datei angegeben, welche die zu ladenen Regeln enthält. | `-Fa` löscht zunächst alle internen Regeln und mit `-f` wird die Datei angegeben, welche die zu ladenen Regeln enthält. | ||||
Damit haben Sie die Möglichkeit, Änderungen an der laufenden Firewall zu machen, ohne dass das System neu gestartet werden muss. Da dieser Vorgang beliebig oft wiederholt werden kann, ist es ein sehr bequemer Weg neue Regeln zu testen. | Damit haben Sie die Möglichkeit, Änderungen an der laufenden Firewall zu machen, ohne dass das System neu gestartet werden muss. Da dieser Vorgang beliebig oft wiederholt werden kann, ist es ein sehr bequemer Weg neue Regeln zu testen. | ||||
Diese und weitere Optionen sind in man:ipf[8] beschrieben. | Diese und weitere Optionen sind in man:ipf[8] beschrieben. | ||||
=== IPF Regel-Syntax | === IPF Regel-Syntax | ||||
Mit der hier beschriebenen Regel-Syntax können zustandsorientierte Regeln erstellt werden. Beim Erstellen von Regeln ist zu beachten, dass Regeln ohne das Schlüsselwort `quick` der Reihe nach geprüft werden und "die letzte zutreffende Regel" angewendet wird. Das bedeutet, dass selbst dann, wenn die erste zutreffende Regel eine `pass`-Regel ist, das Paket dennoch geblockt wird, falls später eine `block`-Regel zutrifft. Beispielregelsätze finden Sie in [.filename]#/usr/shared/examples/ipfilter#. | Mit der hier beschriebenen Regel-Syntax können zustandsorientierte Regeln erstellt werden. Beim Erstellen von Regeln ist zu beachten, dass Regeln ohne das Schlüsselwort `quick` der Reihe nach geprüft werden und "die letzte zutreffende Regel" angewendet wird. Das bedeutet, dass selbst dann, wenn die erste zutreffende Regel eine `pass`-Regel ist, das Paket dennoch geblockt wird, falls später eine `block`-Regel zutrifft. Beispielregelsätze finden Sie in [.filename]#/usr/share/examples/ipfilter#. | ||||
Beim Erstellen von Regeln wird das Zeichen `#` verwendet, um einen Kommentar bis zum Ende der Zeile einzuleiten. Leere Zeilen werden ignoriert. | Beim Erstellen von Regeln wird das Zeichen `#` verwendet, um einen Kommentar bis zum Ende der Zeile einzuleiten. Leere Zeilen werden ignoriert. | ||||
Die Schlüsselwörter, die in den Regeln verwendet werden, müssen in einer bestimmten Reihenfolge geschrieben werden, von links nach rechts. Einige Schlüsselwörter sind verbindlich, andere sind optional. Einige Schlüsselwörter haben Unteroptionen, die wiederum selbst Schlüsselwörter sind und ebenfalls weitere Unteroptionen einschließen können. Die Reihenfolge der Schlüsselwörter ist wie folgt, wobei die Wörter in Großbuchstaben eine Variable darstellen und die Wörter in Kleinbuchstaben der Variable vorangestellt werden müssen: | Die Schlüsselwörter, die in den Regeln verwendet werden, müssen in einer bestimmten Reihenfolge geschrieben werden, von links nach rechts. Einige Schlüsselwörter sind verbindlich, andere sind optional. Einige Schlüsselwörter haben Unteroptionen, die wiederum selbst Schlüsselwörter sind und ebenfalls weitere Unteroptionen einschließen können. Die Reihenfolge der Schlüsselwörter ist wie folgt, wobei die Wörter in Großbuchstaben eine Variable darstellen und die Wörter in Kleinbuchstaben der Variable vorangestellt werden müssen: | ||||
`_ACTION DIRECTION OPTIONS proto PROTO_TYPE from SRC_ADDR SRC_PORT to DST_ADDR DST_PORT TCP_FLAG|ICMP_TYPE keep state STATE_` | `_ACTION DIRECTION OPTIONS proto PROTO_TYPE from SRC_ADDR SRC_PORT to DST_ADDR DST_PORT TCP_FLAG|ICMP_TYPE keep state STATE_` | ||||
Dieser Abschnitt beschreibt jedes dieser Schlüsselwörter und ihre Optionen. Es ist jedoch keine vollständige Liste aller möglichen Optionen. man:ipf[5] enthält eine vollständige Beschreibung der Syntax und einige Beispiele zur Erstellung von IPF-Regeln. | Dieser Abschnitt beschreibt jedes dieser Schlüsselwörter und ihre Optionen. Es ist jedoch keine vollständige Liste aller möglichen Optionen. man:ipf[5] enthält eine vollständige Beschreibung der Syntax und einige Beispiele zur Erstellung von IPF-Regeln. | ||||
▲ Show 20 Lines • Show All 609 Lines • Show Last 20 Lines |