Udostępnij za pośrednictwem


Gwarantowane szyfrowanie

Scenariusz zasad IPsec gwarantowanego szyfrowania wymaga szyfrowania IPsec dla całego pasującego ruchu. Te zasady należy określić w połączeniu z jedną z opcji zasad trybu transportu.

Gwarantowane szyfrowanie jest zwykle używane do szyfrowania poufnego ruchu na podstawie aplikacji.

Przykładem możliwego scenariusza gwarantowanego szyfrowania jest "Zabezpieczanie całego ruchu danych emisji pojedynczej, z wyjątkiem protokołu ICMP, używanie trybu transportu IPsec, włączanie odnajdywania negocjacji i wymaganie gwarantowanego szyfrowania dla całego ruchu emisji pojedynczej odpowiadającego portowi lokalnemu TCP 5555".

Aby zaimplementować ten przykład programowo, użyj następującej konfiguracji programu WFP.

W FWPM_LAYER_IKEEXT_V{4|6} skonfiguruj zasady negocjacji mm

  1. Dodaj jeden lub oba następujące konteksty dostawcy zasad MM.

    • W przypadku protokołu IKE kontekst dostawcy zasad typu FWPM_IPSEC_IKE_MM_CONTEXT.
    • W przypadku protokołu AuthIP kontekst dostawcy zasad typu FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Nuta

    Zostanie wynegocjowany wspólny moduł kluczy, a odpowiednie zasady mm zostaną zastosowane. AuthIP to preferowany moduł kluczy, jeśli obsługiwane są zarówno protokół IKE, jak i AuthIP.

  2. Dla każdego kontekstu dodanego w kroku 1 dodaj filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    Warunki filtrowania Pusty. Cały ruch będzie zgodny z filtrem.
    dostawcy ContextKey Identyfikator GUID kontekstu dostawcy MM dodany w kroku 1.

W FWPM_LAYER_IPSEC_V{4|6} skonfiguruj zasady negocjacji QM i EM

  1. Dodaj jeden lub oba z następujących kontekstów dostawcy zasad trybu transportu QM i ustaw flagę IPSEC_POLICY_FLAG_ND_SECURE.

    • W przypadku protokołu IKE kontekst dostawcy zasad typu FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • W przypadku protokołu AuthIP kontekst dostawcy zasad typu FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Ten kontekst może opcjonalnie zawierać zasady negocjacji trybu rozszerzonego (EM) AuthIP.

    Nuta

    Zostanie wynegocjowany wspólny moduł kluczy, a odpowiednie zasady QM zostaną zastosowane. AuthIP to preferowany moduł kluczy, jeśli obsługiwane są zarówno protokół IKE, jak i AuthIP.

  2. Dla każdego kontekstu dodanego w kroku 1 dodaj filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    Warunki filtrowania Pusty. Cały ruch będzie zgodny z filtrem.
    dostawcy ContextKey Identyfikator GUID kontekstu dostawcy QM dodany w kroku 1.

W FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} skonfiguruj reguły filtrowania dla ruchu przychodzącego dla pakietów

  1. Dodaj filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6}
    rawContext FWPM_CONTEXT_IPSEC_INBOUND_PERSIST_CONNECTION_SECURITY
  2. Wyklucz ruch ICMP z protokołu IPsec, dodając filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    warunek filtrowania FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**Te stałe są zdefiniowane w pliku winsock2.h.
    action.type FWP_ACTION_PERMIT
    waga FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

W FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} skonfiguruj reguły filtrowania ruchu wychodzącego dla pakietów

  1. Dodaj filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6}
    rawContext FWPM_CONTEXT_IPSEC_OUTBOUND_NEGOTIATE_DISCOVER
  2. Wyklucz ruch ICMP z protokołu IPsec, dodając filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    warunek filtrowania FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**Te stałe są zdefiniowane w pliku winsock2.h.
    action.type FWP_ACTION_PERMIT
    waga FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

W FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} skonfiguruj reguły filtrowania ruchu przychodzącego na połączenie

  1. Dodaj filtr z następującymi właściwościami. Ten filtr zezwala na próby połączenia przychodzącego tylko wtedy, gdy są one zabezpieczone przez protokół IPsec.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  2. Wyklucz ruch ICMP z protokołu IPsec, dodając filtr z następującymi właściwościami.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    warunek filtrowania FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**Te stałe są zdefiniowane w pliku winsock2.h.
    action.type FWP_ACTION_PERMIT
    waga FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Dodaj filtr z następującymi właściwościami. Ten filtr zezwala tylko na połączenia przychodzące z portem TCP 5555, jeśli są szyfrowane.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    warunek filtrowania FWPM_CONDITION_IP_PROTOCOL IPPROTO_TCPTa stała jest zdefiniowana w pliku winsock2.h.
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_PORT 5555
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
    rawContext FWPM_CONTEXT_ALE_SET_CONNECTION_REQUIRE_IPSEC_ENCRYPTION

W FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} skonfiguruj reguły filtrowania ruchu wychodzącego na połączenie

  • Dodaj filtr z następującymi właściwościami. Ten filtr zezwala tylko na połączenia wychodzące z portu TCP 5555, jeśli są szyfrowane.

    Właściwość filtru Wartość
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    warunek filtrowania FWPM_CONDITION_IP_PROTOCOL IPPROTO_TCPTa stała jest zdefiniowana w pliku winsock2.h.
    warunek filtrowania FWPM_CONDITION_IP_LOCAL_PORT 5555
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_ALE_CONNECT_V{4|6}
    rawContext FWPM_CONTEXT_ALE_SET_CONNECTION_REQUIRE_IPSEC_ENCRYPTION

przykładowy kod: korzystanie z trybu transportu

warstw ALE

wbudowanych identyfikatorów objaśnień

warunki filtrowania

identyfikatory warstwy filtrowania

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE