Freigeben über


Garantierte Verschlüsselung

Für das IPsec-Richtlinienszenario garantierte Verschlüsselung ist eine IPsec-Verschlüsselung für den gesamten übereinstimmenden Datenverkehr erforderlich. Diese Richtlinie muss in Verbindung mit einer der Richtlinienoptionen für den Transportmodus angegeben werden.

Die garantierte Verschlüsselung wird in der Regel verwendet, um vertraulichen Datenverkehr pro Anwendung zu verschlüsseln.

Ein Beispiel für ein mögliches Szenario für garantierte Verschlüsselung ist "Sichern des gesamten Unicastdatenverkehrs mit Ausnahme von ICMP mithilfe des IPsec-Transportmodus, aktivieren Sie die Aushandlungsermittlung und erfordern Sie eine garantierte Verschlüsselung für den gesamten Unicastdatenverkehr, der dem lokalen TCP-Port 5555 entspricht.".

Verwenden Sie die folgende WFP-Konfiguration, um dieses Beispiel programmgesteuert zu implementieren.

Einrichten der MM-Aushandlungsrichtlinie unter FWPM_LAYER_IKEEXT_V{4|6}

  1. Fügen Sie einen oder beide der folgenden MM-Richtlinienanbieterkontexte hinzu.

    • Für IKE ist ein Richtlinienanbieterkontext vom Typ FWPM_IPSEC_IKE_MM_CONTEXT.
    • Für AuthIP ist ein Richtlinienanbieterkontext vom Typ FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Hinweis

    Es wird ein gemeinsames Schlüsselmodul ausgehandelt und die entsprechende MM-Richtlinie angewendet. AuthIP ist das bevorzugte Schlüsselmodul, wenn sowohl IKE als auch AuthIP unterstützt werden.

  2. Fügen Sie für jeden in Schritt 1 hinzugefügten Kontext einen Filter mit den folgenden Eigenschaften hinzu.

    Filter-Eigenschaft Wert
    Filterbedingungen Leer. Der gesamte Datenverkehr entspricht dem Filter.
    providerContextKey GUID des in Schritt 1 hinzugefügten MM-Anbieterkontexts.

Einrichten von QM- und EM-Verhandlungsrichtlinien bei FWPM_LAYER_IPSEC_V{4|6}

  1. Fügen Sie einen oder beide der folgenden Qm-Transportmodus-Richtlinienanbieterkontexte hinzu, und legen Sie das flag IPSEC_POLICY_FLAG_ND_SECURE fest.

    • Für IKE ist ein Richtlinienanbieterkontext vom Typ FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • Für AuthIP ist ein Richtlinienanbieterkontext vom Typ FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Dieser Kontext kann optional die AuthIP-Aushandlungsrichtlinie im erweiterten Modus (EM) enthalten.

    Hinweis

    Es wird ein gemeinsames Schlüsselmodul ausgehandelt und die entsprechende QM-Richtlinie angewendet. AuthIP ist das bevorzugte Schlüsselmodul, wenn sowohl IKE als auch AuthIP unterstützt werden.

  2. Fügen Sie für jeden in Schritt 1 hinzugefügten Kontext einen Filter mit den folgenden Eigenschaften hinzu.

    Filter-Eigenschaft Wert
    Filterbedingungen Leer. Der gesamte Datenverkehr entspricht dem Filter.
    providerContextKey GUID des in Schritt 1 hinzugefügten QM-Anbieterkontexts.

Richten Sie bei FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} Eingehende Filterregeln pro Paket ein.

  1. Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung 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. Befreien Sie DEN ICMP-Datenverkehr von IPsec, indem Sie einen Filter mit den folgenden Eigenschaften hinzufügen.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung **IPPROTO_ICMP{V6}**Diese Konstanten werden in winsock2.h definiert.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Richten Sie FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6}-Filterregeln für ausgehenden Datenverkehr ein.

  1. Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung 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. Befreien Sie DEN ICMP-Datenverkehr von IPsec, indem Sie einen Filter mit den folgenden Eigenschaften hinzufügen.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung **IPPROTO_ICMP{V6}**Diese Konstanten werden in winsock2.h definiert.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Richten Sie FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6}-Filterregeln für eingehenden Datenverkehr ein.

  1. Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu. Dieser Filter lässt eingehende Verbindungsversuche nur zu, wenn sie durch IPsec gesichert sind.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  2. Befreien Sie DEN ICMP-Datenverkehr von IPsec, indem Sie einen Filter mit den folgenden Eigenschaften hinzufügen.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung **IPPROTO_ICMP{V6}**Diese Konstanten sind in winsock2.h definiert.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu. Dieser Filter lässt nur eingehende Verbindungen mit TCP-Port 5555 zu, wenn sie verschlüsselt sind.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung IPPROTO_TCP Diese Konstante ist in winsock2.h definiert.
    FWPM_CONDITION_IP_LOCAL_PORT Filterbedingung 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

Richten Sie bei FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} Filterregeln für ausgehenden Datenverkehr pro Verbindung ein.

  • Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu. Dieser Filter lässt nur ausgehende Verbindungen vom TCP-Port 5555 zu, wenn sie verschlüsselt sind.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung IPPROTO_TCP Diese Konstante ist in winsock2.h definiert.
    FWPM_CONDITION_IP_LOCAL_PORT Filterbedingung 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

Beispielcode: Verwenden des Transportmodus

ALE-Ebenen

Integrierte Bezeichner für Legende

Filterbedingungen

Filtern von Ebenenbezeichnern

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE