[OpenBSD]

[Předchozí: Možnosti (options)] [Obsah] [Dále: Queueing]

PF: Scrub


Obsah


Úvod

"Scrubbing" je normalizace paketů tak, aby se odstranili nejednoznačnosti v interpretaci na cílové destinaci paketu. Direktiva scrub zároveň znovu spojí fragmentované pakety, čímž ochrání některé operační systémy od některých způsobů útoku a zahodí TCP pakety, které mají neplatnou kombinaci flagů. Jednoduchá forma direktivy scrub:
scrub in all

To provede scrub na všechny přijázející pakety na všech rozhraních.

Jedním z důvodů, proč nepoužívat scrub na rozhraní může být, že propouštíte NFS skrz PF. Některé ne-OpenBSD systémy posílají (a očekávají) zvláštní pakety -- fragmentované pakety s nastaveným bitem "do no fragment", které jsou (oprávněně) odmítnuté scrubem. Vyřešit to můžete použitím volby no-df. Dalším důvodem mohou být některé multi-player hry, které mají problémy se spojením skrz PF se zapnutým scrub. Nepočítaje tyto víceméně neobvyklé případy je "scrubbing" všech paketů velmi doporučenou zásadou.

Syntaxe direktivy scrub je velmi podobná syntaxi filtrování, což umožňuje snadno scrubovat některé pakety a jiné nikoliv.

Více informací o principech a koncepci scrubbingu najdete zde: http://www.icir.org/vern/papers/norm-usenix-sec-01-html/index.html

Možnosti

Scrub má následující možnosti:
no-df
Maže don't fragment bit IP hlavičky paketu. O některých operačních systémech je známo, že generují fragmentované pakety s nastaveným bitem don't fragment. To platí zejména o NFS. Scrub zahodí takové pakety pokud není specifikována volba no-df. Protože některé operační systémy generují don't fragment pakety s nulovou položkou identifikace v IP hlavičce, doporučujeme používat no-df spolu s random-id.
random-id
Nahrazuje položku IP identifikace odchozích paketů náhodnou hodnotou, aby se kompenzovalo, že některé operační systémy používají předvídatelnou hodnotu. Tato volba se vztahuje pouze na odchozí pakety, které nejsou fragmentované po volitelném opětovném spojení paketů.
min-ttl num
Vynucuje minimální Time To Live (TTL) v IP hlavičce.
max-mss num
Vynucuje maximální Maximum Segment Size (MSS) v TCP hlavičce paketu.
fragment reassemble
Ukládá příchozí fragmenty paketů do bufferů a kompletuje paket před předáním filtrovacímu mechanismu. Výhodou je, že filtrovací pravidla se musí zabývat pouze kompletními pakety a mohou ignorovat fragmenty. Nevýhodou jsou zvýšené paměťové nároky na bufferování fragmentů paketů. Toto je defaultní chování, pokud není specifikována žádná fragment volba. Je to také jediné nastavení fragment, které funguje s NAT.
fragment crop
Způsobuje, že duplikátní fragmenty budou zahozeny a překrývající se části oříznuty. Narozdíl od fragment reassemble nejsou fragmenty bufferovány, ale jsou puštěny okamžitě když přicházejí.
fragment drop-ovl
Podobné fragment crop s výjimkou, že všechny duplikované a překrývající se fragmenty budou zahozeny, stejně jako všechny dalsší související fragmenty.

Příklad:

scrub in on fxp0 all fragment reassemble min-ttl 15 max-mss 1400

[Předchozí: Možnosti (options)] [Obsah] [Dále: Queueing]


[back] www@openbsd.org
Originally [OpenBSD: scrub.html,v 1.6 ]
$Translation: scrub.html,v 1.1 2003/11/02 21:53:47 certik Exp $
$OpenBSD: scrub.html,v 1.1 2003/11/03 14:24:05 horacio Exp $