Manuelle Sa

Das IPsec-Richtlinienszenario für die manuelle Sicherheitszuordnung (Manual Security Association, SA) ermöglicht Aufrufern, die integrierten IPsec-Schlüsselmodule (IKE und AuthIP) zu umgehen, indem sie IPsec-SAs direkt angeben, um jeglichen Netzwerkdatenverkehr zu schützen.

Ein Beispiel für ein mögliches Szenario mit manueller SA ist das Hinzufügen eines IPsec-SA-Paars, um den gesamten Unicastdatenverkehr zwischen den IP-Adressen 1.1.1 & 2.2.2.2 mit Ausnahme von ICMP mithilfe des IPsec-Transportmodus zu schützen.

Hinweis

Die folgenden Schritte müssen auf beiden Computern mit entsprechend festgelegten IP-Adressen ausgeführt werden.

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

Richten Sie auf FWPM _ LAYER _ INBOUND _ TRANSPORT _ V{4 6} Regeln für | die Filterung eingehender Pakete ein.

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

    Filter-Eigenschaft Wert
    FWPM _ BEDINGUNG _ IP LOCAL ADDRESS _ _ _ TYPE Filterbedingung NlatUnicast
    _ _ LOKALE _ _ IP-ADRESSE DER FWPM-BEDINGUNG Die entsprechende lokale Adresse (1.1.1.1 oder 2.2.2.2).
    IP-REMOTEADRESSE DER _ _ FWPM-BEDINGUNG _ _ Die entsprechende Remoteadresse (1.1.1.1 oder 2.2.2.2).
    action.type _FWP-AKTIONSAUFRUF _ _ BEENDET
    action.calloutKey FWPM _ CALLOUT _ IPSEC _ INBOUND _ TRANSPORT _ V{4 | 6}
  2. Ausschließen von ICMP-Datenverkehr von IPsec durch Hinzufügen eines Filters mit den folgenden Eigenschaften.

    Filter-Eigenschaft Wert
    FWPM _ BEDINGUNG _ IP LOCAL ADDRESS _ _ _ TYPE Filterbedingung NlatUnicast
    FWPM _ BEDINGUNG _ IP _ PROTOCOL Filterungsbedingung IPPROTO _ ICMP{V6} Diese Konstanten werden in winsock2.h definiert.
    action.type FWP _ ACTION _ PERMIT
    weight _ _ IKE-AUSNAHMEN FÜR DEN FWPM-GEWICHTUNGSBEREICH _ _

Richten Sie auf der FWPM _ LAYER _ OUTBOUND _ TRANSPORT _ V{4 6} Regeln für | die Filterung ausgehender Daten pro Paket ein.

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

    Filter-Eigenschaft Wert
    FWPM _ BEDINGUNG _ IP LOCAL ADDRESS _ _ _ TYPE Filterbedingung NlatUnicast
    FWPM _ BEDINGUNG _ IP _ LOCAL _ ADDRESS filtering condition Die entsprechende lokale Adresse (1.1.1.1 oder 2.2.2.2).
    FWPM _ BEDINGUNG _ IP _ REMOTE _ ADDRESS Filterungsbedingung Die entsprechende Remoteadresse (1.1.1.1 oder 2.2.2.2).
    action.type _FWP-AKTIONSAUFRUF _ _ BEENDET
    action.calloutKey FWPM _ CALLOUT _ IPSEC _ AUSGEHENDER _ TRANSPORT _ V{4 | 6}
  2. Ausschließen von ICMP-Datenverkehr von IPsec durch Hinzufügen eines Filters mit den folgenden Eigenschaften.

    Filter-Eigenschaft Wert
    FWPM _ BEDINGUNG _ IP LOCAL ADDRESS _ _ _ TYPE Filterbedingung NlatUnicast
    FWPM _ BEDINGUNG _ IP _ PROTOCOL Filterungsbedingung IPPROTO _ ICMP{V6} Diese Konstanten werden in winsock2.h definiert.
    action.type FWP _ ACTION _ PERMIT
    weight _ _ IKE-AUSNAHMEN FÜR DEN FWPM-GEWICHTUNGSBEREICH _ _

Einrichten von Eingangs- und Ausgangssicherheitszuordnungen

  1. Rufen Sie IPsecSaContextCreate0mit dem Parameter outboundTraffic auf, der die IP-Adressen als 1.1.1.1 & 2.2.2.2 enthält, und ipsecFilterId als LUID des oben hinzugefügten IPsec-Rückruffilters der ausgehenden Transportebene.
  2. Rufen Sie IPsecSaContextGetSpi0mit dem ID-Parameter auf, der die von IPsecSaContextCreate0zurückgegebene Kontext-ID enthält, und den Parameter getSpi, der die IP-Adressen als 1.1.1.1 & 2.2.2.2 enthält, und ipsecFilterId als LUID des oben hinzugefügten IPsec-Rückruffilters für eingehende Transportebene. Der zurückgegebene SPI-Wert soll vom lokalen Computer als eingehende SA SPI und vom entsprechenden Remotecomputer als ausgehende SA SPI verwendet werden. Beide Computer müssen einige Out-of-Band-Mittel verwenden, um die SPI-Werte auszutauschen.
  3. Rufen Sie IPsecSaContextAddInbound0mit dem ID-Parameter auf, der die von IPsecSaContextCreate0zurückgegebene Kontext-ID enthält, und dem Parameter inboundBundle, der die Eigenschaften des eingehenden SA-Pakets beschreibt (z. B. die eingehende SA SPI, den Transformationstyp, Algorithmustypen, Schlüssel usw.).
  4. Rufen Sie IPsecSaContextAddOutbound0mit dem ID-Parameter auf, der die von IPsecSaContextCreate0zurückgegebene Kontext-ID enthält, und dem Parameter outboundBundle, der die Eigenschaften des ausgehenden SA-Pakets beschreibt (z. B. die ausgehende SA SPI, den Transformationstyp, Algorithmustypen, Schlüssel usw.).

Beispielcode: Manuelle SA-Schlüsselung

Integrierte Aufrufbezeichner

Filtern von Ebenenbezeichnern

FWPM _ ACTION0