Freigeben über


Transportmodus für Aushandlungsermittlung

Das IPsec-Richtlinienszenario für den Aushandlungs-Transportmodus erfordert IPsec-Transportmodusschutz für alle übereinstimmenden eingehenden Datenverkehr und fordert den IPsec-Schutz für den Abgleich ausgehenden Datenverkehrs an. Daher können ausgehende Verbindungen auf Klartext zurückgreifen, während eingehende Verbindungen nicht vorhanden sind.

Wenn der Hostcomputer mit dieser Richtlinie eine neue ausgehende Verbindung versucht und keine IPsec SA vorhanden ist, die dem Datenverkehr entspricht, sendet der Host die Pakete gleichzeitig in Klartext und startet eine IKE- oder AuthIP-Aushandlung. Wenn die Aushandlung erfolgreich ist, wird die Verbindung auf IPsec-geschützt aktualisiert. Andernfalls bleibt die Verbindung im Klartext. Sobald IPsec-geschützt ist, kann eine Verbindung nie auf Klartext herabgestuft werden.

Der Vermittlungs-Transportmodus wird in der Regel in Umgebungen verwendet, die sowohl IPsec-fähige als auch Nicht-IPsec-fähige Computer enthalten.

Ein Beispiel für ein mögliches Szenario für den Vermittlungsermittlungs-Transportmodus ist "Sichern des gesamten Unicastdatenverkehrs mit Ausnahme von ICMP, Verwenden des IPsec-Transportmodus und Aktivieren der Aushandlungsermittlung".

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

Bei FWPM_LAYER_IKEEXT_V{4|6} richten Sie die MM-Aushandlungsrichtlinie

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

    • Für IKE, einen Richtlinienanbieterkontext vom Typ FWPM_IPSEC_IKE_MM_CONTEXT.
    • Für AuthIP, einen Richtlinienanbieterkontext vom Typ FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Anmerkung

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

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

    Filter-Eigenschaft Wert
    Filterbedingungen Leer. Der gesamte Datenverkehr entspricht dem Filter.
    providerContextKey- GUID des mm-Anbieterkontexts, der in Schritt 1 hinzugefügt wurde.

Bei FWPM_LAYER_IPSEC_V{4|6} richten Sie qm- und EM-Verhandlungsrichtlinie

  1. Fügen Sie einen oder beide der folgenden QM-Transportmodusrichtlinienanbieterkontexte hinzu, und legen Sie das IPSEC_POLICY_FLAG_ND_SECURE Flag fest.

    • Für IKE, einen 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 Extended Mode (EM)-Aushandlungsrichtlinie enthalten.

    Anmerkung

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

  2. Fügen Sie für jeden der in Schritt 1 hinzugefügten Kontexte 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.

Bei FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} richten Sie 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-
    FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey- FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6}
    rawContext- FWPM_CONTEXT_IPSEC_INBOUND_PERSIST_CONNECTION_SECURITY
  2. Ausgenommen 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.
    FWP_ACTION_PERMIT
    Gewichtung FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Bei FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6}

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

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey- FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6}-
    rawContext- FWPM_CONTEXT_IPSEC_OUTBOUND_NEGOTIATE_DISCOVER
  2. Ausgenommen 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.
    FWP_ACTION_PERMIT
    Gewichtung FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Bei FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} richten Sie eingehende Filterregeln pro Verbindung

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

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey- FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}-
  2. Ausgenommen 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.
    FWP_ACTION_PERMIT
    Gewichtung FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Beispielcode: Verwenden des Transportmodus-

ALE-Ebenen

integrierte Bezeichner für Beschriftungen

Filterbedingungen

Filterschichtbezeichner

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE