Optionen steuern die Arbeitsweise des PF. Die Optionen werden in der
pf.conf mit der set-Anweisung gesetzt.
HINWEIS: In OpenBSD 3.7 und
späteren Version, hat sich das Verhalten von Laufzeitoptionen geändert.
Zuvor wurde eine Option, sobald sie einmal gesetzt wurde, niemals
wieder auf ihren Standardwert gesetzt, selbst wenn der Regelsatz
erneut geladen wurde.
Beginnend mit OpenBSD 3.7 werden die Laufzeitoptionen auf die
Standardwerte zurückgesetzt, bevor der Regelsatz verarbeitet wird,
sobald ein Regelsatz geladen wird. Daher ist es nun so, dass,
wenn eine Option gesetzt ist und sie dann vom Regelsatz entfernt wird
und dieser Regelsatz neugeladen wird, die Option auf ihren
Standardwert zurückgesetzt wird.
set block-policy option
Voreinstellung für das Verhalten von
Filterregeln, die Pakete mit block
blockieren
drop - das Paket wird ohne Antwort verworfen.
return - ein TCP-RST-Paket wird für geblockte TCP-Pakete,
ein ICMP-UNREACHABLE für alle anderen zurückgesendet.
Bedenke, dass individuelle Filterregeln das so voreingestellte
Antwortverhalten überschreiben können.
Der Standard ist drop.
set debug option
Setze pfs Debugging-Level.
none - keine Debugging-Nachrichten werden angezeigt.
urgent - Debug-Nachrichten werden für ernste Fehler
erzeugt.
misc - Debug-Nachrichten werden für verschiedene Fehler
erzeugt (z. B. um den Status vom Packet-Normalizer/Scrubber und Fehler
in der ,state'-Erzeugung zu sehen).
loud - Debug-Nachrichten werden für typische Ereignisse
erzeugt (z. B. um den Status des passiven OS-,fingerprinter' zu sehen).
Der Standard ist urgent.
set fingerprints file
Setzt die Datei, aus der die Betriebssystem-,fingerprints' geladen
werden sollen. Für die Verwendung mit
passivem OS-,fingerprinting'.
Der Standard ist /etc/pf.os
set limit option value
Setzt verschiedenste Begrenzungen für den Ablauf von pf.
frags - die maximale Anzahl der Einträge, die im
gemeinsamen Speicherbereich für die Paketwiederzusammensetzung genutzt
werden (scrub-Regeln). Voreingestellt ist 5000.
src-nodes - maximale Anzahl der Einträge im
Speicherbereich, die für den Nachweis von Quell-IP-Adressen verwendet
werden (erzeugt von den sticky-address- und
source-track-Optionen). Standard ist 10000.
states - maximale Anzahl der Einträge im Speicherbereich,
um ,state'-Tabelleneinträge (Filterregeln, die keep state angeben) zu speichern.
Standard ist 10000.
tables - maximal erstellbare Tabellen. Standard ist 1000.
table-entries - die Gesamtbegrenzung von Adressen, die
in allen Tabellen gespeichert werden können. Standard ist 200000. Wenn
das System über weniger als 100 MB physischen SPeicher verfügt, wird
der Standard auf 100000 reduziert.
set loginterface interface
Setzt das Interface, von dem PF Statistiken erzeugen soll, wie
zum Beispiel Bytes rein/raus und Pakete durchgelassen/geblockt.
Statistiken können nur von einem Interface gleichzeitig erzeugt
werden. Bedenke, dass die match, bad-offset etc.,
Zähler und die ,state'-Tabellenzähler gespeichert werden, unabhängig
davon, ob loginterface gesetzt ist oder nicht.
Um diese Option abzuschalten, setze sie auf none.
Der Standard ist none.
set optimization option
Optimiere PF für eine der folgenden Netzwerkumgebungen:
normal - verwendbar für fast alle Netzwerke.
high-latency - Hohe Latenz-Netzwerke, wie beispielsweise
Satelliten-Verbindungen.
aggressive - lasse Verbindungen aggressiv von der
,state'-Tabelle ablaufen. Dies kann die Speicheranforderungen einer
ausgelasteten Firewall sehr stark reduzieren, allerdings erhöht es die
Gefahr, dass zurzeit nicht genutzte Verbindungen früher getrennt werden.
conservative - extrem konservative Einstellungen. Dies
verhindert das Trennen von Verbindungen, die zurzeit nicht genutzt werden,
auf Kosten von höherem Speicherverbrauch und etwas höherer
Prozessorauslastung.
Der Standard ist normal.
set ruleset-optimization option
Steuert die Funktionsweise des PF-Regelsatzoptimierers.
none - deaktiviert den Optimierer vollständig.
basic - aktiviert die folgenden Regelsatzoptimierungen:
Kopien einer Regel werden entfernt
Regeln werden entfernt, die von anderen Regeln vollständig
abgedeckt werden
Mehrere Regeln werden in einer Tabelle zusammengefasst, wenn
dadurch ein Vorteil erreicht werden kann
Regeln werden neu sortiert, um die Geschwindigkeit bei der
Überprüfung zu erhöhen
profile - verwendet den monentan geladenen Regelsatz als
Feedbackprofil, um die Reihenfolge der quick-Regeln für tatsächliche
Netzwerkdaten zurechtzuschneidern.
Beginnend mit OpenBSD 4.2 ist der Standard basic.
Lies pf.conf(5) für eine ausführlichere Beschreibung.
set skip on interface
Überspringe die gesamte PF-Verarbeitung auf
Interface. Dies kann sinnvoll bei ,loopback'-Interfaces
sinnvoll sein, bei denen Filtern, Normalisierung, Queueing etc. nicht
benötigt werden. Diese Option kann mehrere Male gesetzt werden.
Standardmäßig ist diese Option nicht gesetzt.
set state-policy option
Setzt PFs Verhalten, wenn es dazu kommt, dass ,states' gehalten
werden müssen.
Dieses Verhalten kann auf einer Regel-spezifischen Basis überschrieben
werden. Siehe ,State' halten.
if-bound - ,states' sind an das Interface gebunden, an
denen sie erzeugt wurden.
Wenn Verkehr mit einer ,state'-Tabelle übereintrifft, aber das Interface,
das in diesem ,state'-Eintrag aufgezeichnet wurde, nicht durchläuft wird,
wird die Übereinstimmung abgelehnt.
Das Paket muss dann mit einer Filterregel übereinstimmen, ansonsten wird
es insgesamt fallen gelassen oder abgelehnt.
group-bound - gleiches Verhalten wie if-bound, mit
der Ausnahme, dass Paketen erlaubt wird, Interfaces in der gleichen Gruppe
zu durchlaufen, z. B. alle ppp-Interfaces etc.
floating - ,states' können mit Paketen auf diesem Interface
übereinstimmen. So lange das Paket mit einem ,state'-Eintrag übereinstimmt
und in die gleiche Richtung das Interface durchläuft, wie es durch dieses
Interface lief, als der ,state' erstellt wurde, ist es belanglos, welches
Interface es durchläuft, es wird durchgelassen.
Der Standard ist floating.
set timeout option value
Setzt unterschiedlichste ,timeouts' (in Sekunden).
interval - Sekunden zwischen den Säuberungen der abgelaufenen
,states' und Paketfragmenten.
Der Standard ist 10.
frag - Sekunden, bevor ein nicht-zusammengesetztes Fragment
abläuft.
Der Standard ist 30.
src.track - Sekunden, um einen
,source tracking'-Eintrag im
Speicher zu halten, nachdem der letzte ,state' ausgelaufen ist.
Der Standard ist 0 (Null).
Beispiel:
set timeout interval 10
set timeout frag 30
set limit { frags 5000, states 2500 }
set optimization high-latency
set block-policy return
set loginterface dc0
set fingerprints "/etc/pf.os.test"
set skip on lo0
set state-policy if-bound