Udostępnij za pośrednictwem


Operacja WFP

Platforma filtrowania systemu Windows (WFP) wykonuje swoje zadania, integrując następujące podstawowe jednostki: warstwy warstwy, filtry , podkładki i Objaśnienia.

Warstwy

warstwy to kontener zarządzany przez aparat filtrów, którego funkcja służy do organizowania filtrów w zestawy. Warstwa nie jest modułem w stosie sieciowym. Każda warstwa ma schemat definiujący typ filtrów, które można do niego dodać. Aby uzyskać więcej informacji, zobacz Warunki filtrowania dostępne w każdej warstwie filtrowania.

Warstwy mogą zawierać warstwy podrzędne do zarządzania wymaganiami filtru powodującego konflikt, takimi jak "Blokuj porty TCP powyżej 1024" i "Otwórz port 1080". Reguły zarządzania konfliktami filtrowania są określane przez Filter Arbitration.

Program WFP zawiera zestaw wbudowanych warstw podrzędnych . Każda warstwa dziedziczy wszystkie wbudowane warstwy podrzędne. Użytkownicy mogą również dodawać własne podwarstwowe.

Lista warstw aparatu filtru znajduje się w temacie sekcji referencyjnej Identyfikatory warstwy filtrowania.

Filtry

Filtr jest regułą dopasowaną do pakietów przychodzących lub wychodzących. Reguła informuje aparat filtrowania, co należy zrobić z pakietem, w tym wywołać moduł objaśnienia na potrzeby inspekcji głębokiego pakietu lub strumienia. Na przykład filtr może określać wartość "Blokuj ruch z portem TCP większym niż 1024" lub "Wywołaj identyfikatory dla całego ruchu, który nie jest zabezpieczony".

Filtr czasu rozruchu to filtr wymuszany podczas rozruchu zaraz po uruchomieniu sterownika stosu TCP/IP (tcpip.sys). Filtr czasu rozruchu jest wyłączony po uruchomieniu protokołu BFE. Filtr jest oznaczony jako czas rozruchu, ustawiając flagę FWPM_FILTER_FLAG_BOOTTIME po wywołaniu FwpmFilterAdd0.

Filtr czasu wykonywania to filtr wymuszany po uruchomieniu protokołu BFE. Filtr czasu wykonywania może być statyczny, dynamiczny lub trwały w zależności od sposobu jego utworzenia. Zobacz Zarządzanie obiektami, aby uzyskać więcej informacji na temat różnych typów filtrów czasu wykonywania i ich okresu istnienia.

Podkładki

Podkładka to składnik trybu jądra, który podejmuje decyzje dotyczące filtrowania, klasyfikując warstwy aparatu filtru. Każda podkładka klasyfikuje co najmniej jedną warstwę. Na przykład podkładka Moduł warstwy transportu klasyfikuje warstwę transportu przychodzącego, warstwę transportu wychodzącego oraz warstwę ALE Connect i Receive-Accept dla pierwszego pakietu przepływu.

Ponieważ pakiety, strumienie i zdarzenia przechodzą przez stos sieciowy, podkładki analizują je w celu wyodrębnienia klasyfikowalnych warunków i wartości, a następnie wywołaj aparat filtrów, aby ocenić je względem filtrów w danej warstwie. Aparat filtru może wywoływać co najmniej jedno objaśnienie w ramach klasyfikacji. Podkładki wykonują rzeczywiste upuszczanie pakietów, strumieni i zdarzeń na podstawie wyniku klasyfikacji wykonywanej przez aparat filtrów.

Objaśnienie

Objaśnienie to zestaw funkcji udostępnianych przez sterownik i używany do filtrowania wyspecjalizowanego. Są one używane do przeprowadzania analizy i manipulowania pakietami, takimi jak skanowanie wirusów, skanowanie kontroli rodzicielskiej pod kątem nieodpowiedniej zawartości, analizowanie danych pakietów na potrzeby narzędzi do monitorowania. Niektóre objaśnienie, takie jak sterownik translatora adresów sieciowych (NAT), są wbudowane w system operacyjny. Inne, takie jak objaśnienie kontroli rodzicielskiej HTTP lub objaśnienie systemu wykrywania nieautoryzowanego dostępu (IDS), mogą być udostępniane przez niezależnych dostawców oprogramowania (ISV). Funkcje objaśnienie są wywoływane przez aparat filtru, gdy odpowiedni filtr objaśnienie jest dopasowywany w danej warstwie.

Objaśnienia można zarejestrować w dowolnej warstwie WFP trybu jądra. Objaśnienie może zwrócić akcję ("Blokuj", "Zezwól" i podczas przeprowadzania inspekcji strumienia", "Odroczenie", "Potrzebujesz większej ilości danych", "Upuść połączenie") i może modyfikować i zabezpieczać ruch sieciowy przychodzący i wychodzący.

Po zarejestrowaniu objaśnienie za pomocą aparatu filtru może odbierać ruch sieciowy do przetworzenia. Ruch może być pakietami, strumieniami lub zdarzeniami w zależności od warstwy. Aplikacja lub agent zapory powoduje przekazanie ruchu do objaśnienie przez dodanie filtru, którego akcja to "Objaśnienie" i którego identyfikator objaśnienie to identyfikator objaśnienie. Objaśnienie może poinstruować aparat filtru, aby zwrócił "Blokuj" lub "Zezwól" na podkładki. Objaśnienie może również zwracać wartość "Kontynuuj", aby umożliwić innym filtrom przetwarzanie pakietu.

Wiele objaśnień może być uwidocznionych przez jeden sterownik objaśnień.

Należy dodać objaśnienie (z FwpmCalloutAdd0) i zarejestrowane (z FwpsCalloutRegister), zanim będzie można go użyć. Wywołanie FwpmCalloutAdd0 jest wymagane przed utworzeniem filtrów odwołujących się do objaśnienia. Wywołanie funkcji FwpsCalloutRegister jest wymagane, zanim WFP może wywołać objaśnienie po dopasowaniu filtrów objaśnień. Domyślnie filtry odwołujące się do dodanych objaśnień, ale nie zostały jeszcze zarejestrowane w aucie filtrów są traktowane jako filtry "Blokuj". Kolejność wywoływania FwpmCalloutAdd0 i FwpsCalloutRegister nie ma znaczenia. Trwałe objaśnienie musi zostać dodane tylko raz i musi zostać zarejestrowane za każdym razem, gdy sterownik implementuje objaśnienie (na przykład po ponownym uruchomieniu).

Klasyfikacja

Klasyfikacja to proces stosowania filtrów do ruchu sieciowego (pakiet, strumień lub zdarzenie), aby określić wynik "Zezwól" lub "Blokuj" dla tego ruchu. W przypadku jednego pakietu, strumienia lub zdarzenia istnieje jedno wywołanie klasyfikacji na warstwę.

Podczas klasyfikacji właściwości (na przykład adres źródłowy) pakietu, strumienia lub zdarzenia są porównywane z warunkami filtru ustawionymi na filtry w warstwie, w której wywoływana jest klasyfikacja. Po znalezieniu dopasowań algorytm Filter Arbitration służy do określania wyniku procesu klasyfikacji.

Żądanie klasyfikacji jest wyzwalane przez podkładkę.

Akcje klasyfikacji mogą być następujące:

  • Pozwalać
  • Blok
  • Objaśnienie
    • Pozwalać
    • Blok
    • Kontynuować
    • Odroczyć
    • Potrzebujesz większej ilości danych
    • Usuwanie połączenia

Operacja WFP

Po uruchomieniu sterownika stosu TCP/IP (tcpip.sys) aparat filtru trybu jądra wymusza zasady zabezpieczeń systemu za pomocą filtrów czasu rozruchu.

Po uruchomieniu podstawowego aparatu filtrowania (BFE) w trybie użytkownika filtry trwałe są dodawane do platformy, filtry czasu rozruchu są wyłączone, a powiadomienia są wysyłane do tych sterowników objaśnień, które subskrybują przy użyciu FwpmBfeStateSubscribeChanges0. Powiadomienia są wysyłane natychmiast po zakończeniu inicjowania BFE. Platforma jest teraz gotowa do zarejestrowania wywołań i dodania obiektów czasu wykonywania.

Przejście z czasu rozruchu do trwałych filtrów może potrwać kilka sekund, a nawet dłużej na powolnej maszynie. Jest niepodzielna, więc jeśli dostawca ma zarówno czas rozruchu, jak i trwały filtr, nigdy nie będzie okna, gdy żaden z nich nie jest w mocy.

Po uruchomieniu protokołu BFE filtry czasu wykonywania mogą być dodawane przez agentów zapory lub przez niestandardowe rozwiązania zapory. Protokół BFE przetwarza te filtry i wysyła je do odpowiedniej warstwy aparatu filtru w celu wymuszania. Protokół BFE akceptuje również ustawienia uwierzytelniania i wysyła te ustawienia do modułów kluczy IPsec (IKE/AuthIP). Aby uzyskać więcej informacji, zobacz konfiguracji protokołu IPsec.

W dowolnym momencie filtry i ustawienia uwierzytelniania można dodawać, usuwać lub zmieniać w systemie za pośrednictwem interfejsu RPC uwidocznionego przez interfejs BFE. Podwarstwowe i moduły objaśnienie można również dodawać lub usuwać.

Przepływ danych:

  1. Pakiet jest dostarczany do stosu sieciowego.
  2. Stos sieciowy znajduje i wywołuje podkładkę.
  3. Podkładka wywołuje proces klasyfikacji w określonej warstwie.
  4. Podczas klasyfikacji filtry są dopasowywane, a wynikowa akcja jest podejmowana. (Zobacz Filter Arbitration.)
  5. Jeśli podczas procesu klasyfikacji są dopasowywane jakiekolwiek filtry objaśnień, wywoływane są odpowiednie objaśnienie.
  6. Podkładka działa na ostateczną decyzję filtrowania (na przykład upuścić pakiet).

Przepływ danych wychodzących jest zgodny z podobnym wzorcem.

W poniższych tematach opisano dalsze działanie programu WFP.

modelu obiektów

zarządzanie obiektami