手動 SA
手動セキュリティ アソシエーション (SA) IPsec ポリシー シナリオでは、呼び出し元は IPsec SA を直接指定してネットワーク トラフィックをセキュリティで保護することで、組み込みの IPsec キー モジュール (IKE および AuthIP) をバイパスできます。
手動 SA シナリオの例として、"IPsec トランスポート モードを使用した ICMP を除く、IP アドレス 1.1.1.1 & 2.2.2.2 間のすべてのユニキャスト データ トラフィックをセキュリティで保護する IPsec SA ペアを追加する" があります。
手記
IP アドレスが適切に設定されている両方のマシンで、次の手順を実行する必要があります。
この例をプログラムで実装するには、次の WFP 構成を使用します。
次のプロパティを含むフィルターを追加します。
Filter プロパティ 価値 フィルター条件の FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast を する FWPM_CONDITION_IP_LOCAL_ADDRESS 適切なローカル アドレス (1.1.1.1 または 2.2.2.2)。 FWPM_CONDITION_IP_REMOTE_ADDRESS 適切なリモート アドレス (1.1.1.1 または 2.2.2.2)。 action.type を する FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} 次のプロパティを持つフィルターを追加して、IPsec から ICMP トラフィックを除外します。
Filter プロパティ 価値 フィルター条件の FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast フィルター条件の FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**これらの定数は winsock2.h で定義されます。 action.type を する FWP_ACTION_PERMIT 重み を する FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 次のプロパティを含むフィルターを追加します。
Filter プロパティ 価値 フィルター条件の FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast フィルター条件の FWPM_CONDITION_IP_LOCAL_ADDRESS 適切なローカル アドレス (1.1.1.1 または 2.2.2.2)。 フィルター条件の FWPM_CONDITION_IP_REMOTE_ADDRESS 適切なリモート アドレス (1.1.1.1 または 2.2.2.2)。 action.type を する FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} 次のプロパティを持つフィルターを追加して、IPsec から ICMP トラフィックを除外します。
Filter プロパティ 価値 フィルター条件の FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast フィルター条件の FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**これらの定数は winsock2.h で定義されます。 action.type を する FWP_ACTION_PERMIT 重み を する FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS - IPsecSaContextCreate0を呼び出します。outboundTraffic パラメーターには IP アドレスが 1.1.1.1 & 2.2.2.2、ipsecFilterId が、上記で追加された送信トランスポート層 IPsec 吹き出しフィルターの LUID として されます。
- IPsecSaContextCreate0から返されたコンテキスト ID を含む id パラメーターと、IP アドレスを 1.1.1.1& 2.2.2.2 として含む getSpi パラメーターを使用して、IPsecSaContextGetSpi0呼び出します。 ipsecFilterId 、上記で追加した受信トランスポート層 IPsec 吹き出しフィルターの LUID として されます。 返される SPI 値は、ローカル コンピューターでは受信 SA SPI として、対応するリモート コンピューターでは送信 SA SPI として使用されます。 どちらのマシンも、SPI 値を交換するために帯域外の手段を使用する必要があります。
- IPsecSaContextCreate0 から返されたコンテキスト ID を含む id パラメーターと、受信 SA バンドルのプロパティを記述する inboundBundle パラメーター (受信 SA SPI、変換の種類、アルゴリズムの種類、キーなど) を使用して、IPsecSaContextAddInbound0を呼び出します。
- IPsecSaContextAddOutbound0を呼び出します。IPsecSaContextCreate0から返されたコンテキスト ID を含む id パラメーターと、送信 SA バンドルのプロパティを記述する outboundBundle パラメーター (送信 SA SPI、変換の種類、アルゴリズムの種類、キーなど) を指定します。
at FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} では、パケットごとの受信フィルター規則を設定
FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} でパケットごとの送信フィルター規則を設定
受信と送信のセキュリティ 関連付けの設定