Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhodčí řízení filtru je logika integrovaná do platformy WFP (Windows Filtering Platform), která slouží k určení toho, jak filtry vzájemně komunikují při rozhodování o filtrování síťového provozu.
Filtrování chování rozhodčího řízení
Následující chování charakterizuje systém arbitráže filtru:
- Veškerý provoz je možné zkontrolovat. Žádný provoz nemůže obejít filtry v dané vrstvě.
- Provoz může blokovat filtr popisku prostřednictvím Veto, i když ho povolil filtr s vyšší prioritou.
- Provoz ve stejné vrstvě může kontrolovat více poskytovatelů. Například brána firewall následovaná filtry systému pro detekci neoprávněných vniknutí (IDS) nebo filtry IPsec následované filtry QoS (Quality of Service) můžou veškerý provoz zkoumat ve stejné vrstvě.
Model filtrování
Každá vrstva filtru je rozdělená do dílčích vrstev seřazených podle priority (označované také jako váha). Síťový provoz prochází podvrstěmi z nejvyšší priority na nejnižší prioritu. Dílčí vrstvy se vytvářejí a spravují vývojáři pomocí rozhraní WFP API.
V každé podvrstvé vrstvě jsou filtry seřazené podle váhy. Síťový provoz se označuje jako odpovídající filtry od nejvyšší váhy po nejnižší váhu.
Algoritmus rozhodčího filtrování se použije na všechny dílčí vrstvy v rámci vrstvy a konečné rozhodnutí o filtrování se provede po vyhodnocení všech dílčích vrstev. To poskytuje více odpovídajících funkcí.
V podvrstvé vrstvě se rozhodčí řízení filtru provádí takto:
- Vypočítá seznam odpovídajících filtrů seřazených podle váhy od nejvyšších po nejnižší.
- Vyhodnoťte odpovídající filtry v pořadí, dokud se nevrátí "Povolení" nebo "Blok" (filtry mohou také vrátit "Pokračovat") nebo dokud se seznam nevyčerpá.
- Přeskočte zbývající filtry a vraťte akci z posledního vyhodnoceného filtru.
V rámci vrstvy se rozhodčí řízení filtru provádí takto:
- Proveďte arbitráž filtru v každé podvrstvé vrstvě v pořadí od nejvyšší priority po nejnižší prioritu.
- Vyhodnoťte všechny dílčí vrstvy i v případě, že se podvrstvná vrstva s vyšší prioritou rozhodla blokovat provoz.
- Vrátí výslednou akci na základě pravidel zásad popsaných v následující části.
Následující diagram znázorňuje ukázkovou konfiguraci podvrstvé vrstvy. Vnější rámečky představují vrstvy. Vnitřní pole představují dílčí vrstvy, které obsahují filtry. Zástupný znak (*) ve filtru znamená, že veškerý provoz odpovídá filtru.
konfigurace podvrstvé vrstvy
Jediný způsob, jak filtr obejít, je, pokud filtr s vyšší hmotností povolil nebo zablokoval provoz ve stejné podvrstvé vrstvě. Naopak jedním ze způsobů, jak zajistit, aby filtr vždy viděl veškerý provoz ve vrstvě, je přidat podvrstvku, která obsahuje jediný filtr, který odpovídá veškerému provozu.
Konfigurovatelné zásady přepsání
Pravidla popsaná níže řídí rozhodčí rozhodnutí v rámci vrstvy. Tato pravidla používá modul filtrů k rozhodnutí, která z akcí podvrstvy se použije pro síťový provoz.
Základní zásady jsou následující.
- Akce se vyhodnocují v pořadí priority dílčích vrstev od nejvyšší priority po nejnižší prioritu.
- "Blokovat" přepíše "Permit".
- Blok je konečný (nelze přepsat) a zastaví vyhodnocení. Paket se zahodí.
Základní zásady nepodporují scénář výjimky, která není přepsána bránou firewall. Mezi typické příklady tohoto typu scénáře patří:
- Port pro vzdálenou správu je potřeba otevřít i v případě, že je brána firewall třetí strany.
- Komponenty, které vyžadují otevření portů, aby fungovaly (například Universal Plug and Play UPnP). Pokud správce komponentu explicitně povolil, brána firewall by neměla bezobslužně blokovat provoz.
Aby bylo možné podporovat výše uvedené scénáře, musí být rozhodnutí o filtrování obtížnější přepsat než jiné rozhodnutí filtrování tím, že spravuje oprávnění k přepsání akce. Toto oprávnění se implementuje jako příznak FWPS_RIGHT_ACTION_WRITE a je nastaveno pro jednotlivé filtry.
Algoritmus vyhodnocení udržuje aktuální akci ("Povolit" nebo "Blokovat") spolu s příznakem FWPS_RIGHT_ACTION_WRITE. Příznak určuje, jestli má podvrstvá vrstva s nižší prioritou povoleno přepsat akci. Nastavením nebo resetováním příznaku FWPS_RIGHT_ACTION_WRITE ve struktuře FWPS_CLASSIFY_OUT0 určuje poskytovatel způsob, jakým lze nebo nelze přepsat akce. Pokud je příznak nastavený, znamená to, že akci lze přepsat. Pokud příznak chybí, akci nelze přepsat.
| Akce | Povolit přepsání (je nastavená FWPS_RIGHT_ACTION_WRITE) | Popis |
|---|---|---|
| Dovolit | Ano | Provoz je možné zablokovat v jiné podvrstvé vrstvě. Tomu se říká soft permit. |
| Dovolit | Ne | Provoz lze blokovat pouze v jiné podvrstvé vrstvě popiskem Veto. To se nazývá těžké povolení. |
| Blokovat | Ano | Provoz je možné povolit v jiné podvrstvé vrstvě. Tomu se říká měkký blok. |
| Blokovat | Ne | Provoz nelze povolit v jiné podvrstvé vrstvě. Tomu se říká pevný blok. |
Akci filtru lze nastavit nastavením typu člen struktury FWPM_ACTION0 na FWP_ACTION_BLOCK nebo FWP_ACTION_PERMIT. Spolu s typem akce filtr zveřejňuje také příznak FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT. Pokud je tento příznak vymazán, typ akce je pevný a nelze jej přepsat s výjimkou případů, kdy je pevné povolení přepsáno Veto, jak je vysvětleno později, jinak je měkký, který lze přepsat akcí s vysokou prioritou.
Následující tabulka uvádí výchozí chování pro akce filtrování a popisku.
| Akce | Výchozí chování |
|---|---|
| Povolení filtru | Obnovitelné povolení |
| Povolení bublinového popisku | Obnovitelné povolení |
| Blok filtru | Pevný blok |
| Blok bublinového popisku | Měkký blok |
veto je akce "Blokovat" vrácená filtrem, když se příznak FWPS_RIGHT_ACTION_WRITE resetoval před voláním filtru. veto bude blokovat provoz, který byl povolen s pevným povolením.
Při vydání veto se jedná o indikaci konfliktu v konfiguraci. Ke zmírnění konfliktu se používají následující akce.
Provoz je zablokovaný.
Vygeneruje se událost auditu.
Vygeneruje se oznámení.
Poznámka
Oznámení obdrží všechny entity, které se k němu přihlásily. To obvykle zahrnuje bránu firewall (za účelem zjištění chybných konfigurací) nebo aplikací (aby bylo možné zjistit, jestli je jejich konkrétní filtr přepsán).
Poznámka
Při přepsání filtru Hard Permit se nevyžaduje vytvoření instance uživatelského rozhraní (UI). Oznámení o přepsání se odesílají libovolnému poskytovateli, který je zaregistroval k přijetí, což umožňuje bránám firewall nebo aplikacím, které vytvořily filtry Povolení, aby zobrazilo uživatelské rozhraní s žádostí o akci uživatele. U těchto událostí přepsání neexistuje žádná hodnota, protože nezávislí výrobci firewallu, kteří nechtějí bezobslužně blokovat, můžou to udělat tak, že se zaregistrují na jiném místě ve WFP nebo (méně upřednostňované) zpracují veškerou logiku v ovladači volajícího. Nezávislí výrobci softwaru, kteří si myslí, že výzvy uživatelů jsou vhodné, budou chtít vlastní uživatelské prostředí a vytvořit vlastní uživatelské rozhraní.
Výše popsané chování zmírnění rizik zajišťuje, že filtr "Pevné povolení" není bezobslužně přepsán filtrem "Blokovat" a popisuje scénář, kdy brána firewall nemůže blokovat port vzdálené správy. Aby bylo možné bezobslužně přepsat filtry "Pevné povolení", musí brána firewall přidat své filtry v rámci podvrstvé vrstvy s vyšší prioritou.
Poznámka
Vzhledem k tomu, že neexistuje žádná arbitráž mezi vrstvami, provoz povolený s "Pevným povolením" může být stále blokován na jiné vrstvě. Autor zásad zodpovídá za to, aby v případě potřeby zajistil, že provoz bude povolený v každé vrstvě.
Uživatelské aplikace požadující otevření portů přidávají přepisovatelné filtry do podvrstvé vrstvy s nízkou prioritou. Brána firewall se může přihlásit k odběru událostí oznámení filtru a přidat odpovídající filtr po ověření uživatele (nebo zásad).