保證加密
保證加密 IPsec 原則案例需要所有相符流量的 IPsec 加密。 此原則必須與其中一個傳輸模式原則選項一起指定。
保證加密通常用來為每個應用程式加密敏感性流量。
可能的保證加密案例範例是「保護所有單播資料流量,但 ICMP 除外,使用 IPsec 傳輸模式、啟用交涉探索,並要求所有對應至 TCP 本機埠 5555 的單播流量都保證加密」。
若要以程式設計方式實作此範例,請使用下列的一組設定。
新增下列其中一個或兩個 MM 原則提供者內容。
- 針對 IKE,類型為 FWPM_IPSEC_IKE_MM_CONTEXT 的原則提供者內容。
- 針對 AuthIP,類型為 FWPM_IPSEC_AUTHIP_MM_CONTEXT 的原則提供者內容。
注意
一般金鑰處理模組將會交涉,並套用對應的 MM 原則。 如果支援 IKE 和 AuthIP,則 AuthIP 是慣用的金鑰模組。
針對步驟 1 中新增的每個內容,新增具有下列屬性的篩選。
Filter 屬性 值 篩選準則 空白。 所有流量都會符合篩選準則。 providerCoNtextKey 步驟 1 中新增之 MM 提供者內容的 GUID。 新增下列一或兩個 QM 傳輸模式原則提供者內容,並設定 IPSEC_POLICY_FLAG_ND_SECURE 旗標。
- 針對 IKE,類型 為 FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT的原則提供者內容。
- 針對 AuthIP,類型 為 FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT的原則提供者內容。 此內容可以選擇性地包含 AuthIP 擴充模式 (EM) 交涉原則。
注意
一般金鑰處理模組將會交涉,並套用對應的 QM 原則。 如果支援 IKE 和 AuthIP,則 AuthIP 是慣用的金鑰模組。
針對步驟 1 中新增的每個內容,新增具有下列屬性的篩選。
Filter 屬性 值 篩選準則 空白。 所有流量都會符合篩選準則。 providerCoNtextKey 步驟 1 中新增的 QM 提供者內容的 GUID。 新增具有下列屬性的篩選。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE篩選準則 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 藉由新增具有下列屬性的篩選,以豁免 IPsec 的 ICMP 流量。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 篩選準則 **IPPROTO_ICMP{V6}**這些常數定義于 winsock2.h 中。 action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 新增具有下列屬性的篩選。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} rawCoNtext FWPM_CONTEXT_IPSEC_OUTBOUND_NEGOTIATE_DISCOVER 藉由新增具有下列屬性的篩選,以豁免 IPsec 的 ICMP 流量。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 篩選準則 **IPPROTO_ICMP{V6}**這些常數定義于 winsock2.h 中。 action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 新增具有下列屬性的篩選。 如果輸入連線受到 IPsec 保護,此篩選準則將只允許輸入連線嘗試。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_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 weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 新增具有下列屬性的篩選。 如果 TCP 埠 5555 已加密,此篩選準則將只允許連入連線。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 篩選準則 IPPROTO_TCP此常數定義于 winsock2.h 中。 FWPM_CONDITION_IP_LOCAL_PORT 篩選準則 5555 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6} rawCoNtext FWPM_CONTEXT_ALE_SET_CONNECTION_REQUIRE_IPSEC_ENCRYPTION 新增具有下列屬性的篩選。 如果 TCP 埠 5555 已加密,此篩選準則只會允許來自 TCP 埠 5555 的輸出連線。
Filter 屬性 值 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 篩選準則 IPPROTO_TCP此常數定義于 winsock2.h 中。 FWPM_CONDITION_IP_LOCAL_PORT 篩選準則 5555 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_ALE_CONNECT_V{4|6} rawCoNtext FWPM_CONTEXT_ALE_SET_CONNECTION_REQUIRE_IPSEC_ENCRYPTION
在FWPM_LAYER_IKEEXT_V{4|6} 設定 MM 交涉原則
在FWPM_LAYER_IPSEC_V{4|6} 設定 QM 和 EM 交涉原則
在 FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} 設定每個封包篩選規則的輸入
在 FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} 設定每個封包篩選規則的輸出
在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 設定每個連線的輸入篩選規則
在 FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} 設定每個連線的輸出篩選規則