Manuelle SA
Das IPsec-Richtlinienszenario manual Security Association (SA) ermöglicht Es Anrufern, die integrierten IPsec-Schlüsselmodule (IKE und AuthIP) zu umgehen, indem sie direkt IPsec-SAs angeben, um den Netzwerkdatenverkehr zu schützen.
Ein Beispiel für ein mögliches manuelles SA-Szenario ist "Hinzufügen eines IPsec SA-Paares zum Sichern des gesamten Unicastdatenverkehrs zwischen IP-Adressen 1.1.1.1 & 2.2.2, außer ICMP, im IPsec-Transportmodus."
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.
Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu.
Filter-Eigenschaft Wert FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS Die entsprechende lokale Adresse (1.1.1.1 oder 2.2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS Die entsprechende Remoteadresse (1.1.1.1 oder 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} 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 Fügen Sie einen Filter mit den folgenden Eigenschaften hinzu.
Filter-Eigenschaft Wert FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE Filterbedingung NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS Filterbedingung Die entsprechende lokale Adresse (1.1.1.1 oder 2.2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS Filterbedingung Die entsprechende Remoteadresse (1.1.1.1 oder 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} 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 - Rufen Sie IPsecSaContextCreate0 auf, wobei der outboundTraffic-Parameter die IP-Adressen 1.1.1.1 & 2.2.2.2 und ipsecFilterId als LUID des oben hinzugefügten IPsec-Legendenfilters für ausgehende Transportebene enthält.
- Rufen Sie IPsecSaContextGetSpi0 auf, wobei der ID-Parameter die von IPsecSaContextCreate0 zurückgegebene Kontext-ID und den getSpi-Parameter mit den IP-Adressen 1.1.1.1 & 2.2.2.2 und ipsecFilterId als LUID des oben hinzugefügten IPsec-Legendenfilters für eingehende Transportebene enthält. Der zurückgegebene SPI-Wert soll vom lokalen Computer als eingehender SA-SPI und vom entsprechenden Remotecomputer als ausgehender SA-SPI verwendet werden. Beide Computer müssen einige Out-of-Band-Mittel verwenden, um die SPI-Werte auszutauschen.
- Rufen Sie IPsecSaContextAddInbound0 auf, wobei der Id-Parameter die von IPsecSaContextCreate0 zurückgegebene Kontext-ID enthält, und den parameter inboundBundle , der die Eigenschaften des eingehenden SA-Pakets beschreibt (z. B. der eingehende SA-SPI, transformationstyp, Algorithmustypen, Schlüssel usw.).
- Rufen Sie IPsecSaContextAddOutbound0 auf, wobei der Id-Parameter die von IPsecSaContextCreate0 zurückgegebene Kontext-ID enthält, und dem outboundBundle-Parameter , der die Eigenschaften des ausgehenden SA-Pakets beschreibt (z. B. die ausgehende SA-SPI, transformationstyp, Algorithmustypen, Schlüssel usw.).
Richten Sie bei FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} Eingehende Filterregeln pro Paket ein.
Richten Sie FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6}-Filterregeln für ausgehenden Datenverkehr ein.
Einrichten eingehender und ausgehender Sicherheitszuordnungen