Freigeben über


Remoteidentitätsautorisierung

Das IPsec-Richtlinienszenario für die Remoteidentitätsautorisierung erfordert, dass eingehende Verbindungen aus einer bestimmten Gruppe von Remotesicherheitsprinzipalen stammen, die in einer Zugriffssteuerungsliste (Access Control List, SD) von Windows angegeben sind. Wenn die Remoteidentität (wie von IPsec bestimmt) nicht mit dem Satz zulässiger Identitäten übereinstimmt, wird die Verbindung gelöscht. Diese Richtlinie muss in Verbindung mit einer der Richtlinienoptionen für den Transportmodus angegeben werden.

Wenn AuthIP aktiviert ist, können zwei Sicherheitsbeschreibungen angegeben werden: einer entspricht dem AuthIP-Standard-Modus und der andere entspricht dem erweiterten AuthIP-Modus.

Ein Beispiel für ein mögliches Szenario für den Transportmodus für die Aushandlungsermittlung ist "Sichern des gesamten Unicastdatenverkehrs mit Ausnahme von ICMP mithilfe des IPsec-Transportmodus, Aktivieren der Aushandlungsermittlung und Einschränken des eingehenden Zugriffs auf Remoteidentitäten gemäß sicherheitsdeskriptor SD1 (entspricht IKE/AuthIP Standard Modus) und Sicherheitsbeschreibung SD2 (entspricht dem erweiterten AuthIP-Modus) 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 , der die Aushandlungsrichtlinie AuthIP Extended Mode (EM) enthält.

    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 werden 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 eingehende Verbindungen mit dem TCP-Port 5555 zu, wenn die entsprechenden Remoteidentitäten sowohl von SD1 als auch von SD2 zulässig sind.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung IPPROTO_TCP Diese Konstante wird in winsock2.h definiert.
    FWPM_CONDITION_IP_LOCAL_PORT Filterbedingung 5555
    FWPM_CONDITION_ALE_REMOTE_MACHINE_ID SD1
    FWPM_CONDITION_ALE_REMOTE_USER_ID SD2
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  4. Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu. Dieser Filter blockiert alle anderen eingehenden Verbindungen mit TCP-Port 5555, die nicht mit dem vorherigen Filter übereinstimmten.

    Filter-Eigenschaft Wert
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL Filterbedingung IPPROTO_TCP Diese Konstante wird in winsock2.h definiert.
    FWPM_CONDITION_IP_LOCAL_PORT Filterbedingung 5555
    action.type FWP_ACTION_BLOCK

Beispielcode: Verwenden des Transportmodus

ALE-Ebenen

Integrierte Legendenbezeichner

Filterbedingungen

Filtern von Ebenenbezeichnern

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE