共用方式為


遠端身分識別授權

遠端身分識別授權 IPsec 原則案例要求輸入連線來自 Windows 安全性描述元中指定的特定遠端安全性主體集, (SD) 存取控制清單 (ACL) 。 如果 IP) sec 所決定的遠端身分識別 (不符合一組允許的身分識別,則會卸載連線。 此原則必須與其中一個傳輸模式原則選項一起指定。

如果已啟用 AuthIP,可以指定兩個安全性描述元、一個對應至 AuthIP 主要模式,另一個對應至 AuthIP 擴充模式。

可能的交涉探索傳輸模式案例範例是「保護所有單播資料流量,但 ICMP 除外,使用 IPsec 傳輸模式、啟用交涉探索,以及根據安全性描述元 SD (1 允許的輸入存取,以對應至 IKE/AuthIP 主要模式) 和安全性描述項 SD2 (對應至 AuthIP 擴充模式) , 針對對應至 TCP 本機埠 5555 的所有單播流量。」

若要以程式設計方式實作此範例,請使用下列的一組設定。

在FWPM_LAYER_IKEEXT_V{4|6} 設定 MM 交涉原則

  1. 新增下列其中一個或兩個 MM 原則提供者內容。

    • 針對 IKE,類型 為 FWPM_IPSEC_IKE_MM_CONTEXT的原則提供者內容。
    • 針對 AuthIP,類型 為 FWPM_IPSEC_AUTHIP_MM_CONTEXT的原則提供者內容。

    注意

    一般金鑰處理模組將會交涉,並套用對應的 MM 原則。 如果支援 IKE 和 AuthIP,則 AuthIP 是慣用的金鑰模組。

  2. 針對步驟 1 中新增的每個內容,新增具有下列屬性的篩選。

    Filter 屬性
    篩選準則 空白。 所有流量都會符合篩選準則。
    providerCoNtextKey 步驟 1 中新增之 MM 提供者內容的 GUID。

在FWPM_LAYER_IPSEC_V{4|6} 設定 QM 和 EM 交涉原則

  1. 新增下列一或兩個 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 是慣用的金鑰模組。

  2. 針對步驟 1 中新增的每個內容,新增具有下列屬性的篩選。

    Filter 屬性
    篩選準則 空白。 所有流量都會符合篩選準則。
    providerCoNtextKey 步驟 1 中新增的 QM 提供者內容的 GUID。

在 FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} 設定每個封包篩選規則的輸入

  1. 新增具有下列屬性的篩選。

    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
  2. 藉由新增具有下列屬性的篩選,以豁免 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

在 FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} 設定每個封包篩選規則的輸出

  1. 新增具有下列屬性的篩選。

    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
  2. 藉由新增具有下列屬性的篩選,以豁免 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

在 FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} 設定每個連線的輸入篩選規則

  1. 新增具有下列屬性的篩選。 如果輸入連線受到 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}
  2. 藉由新增具有下列屬性的篩選,以豁免 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
  3. 新增具有下列屬性的篩選。 如果 SD1 和 SD2 同時允許對應的遠端身分識別,此篩選準則會允許 TCP 埠 5555 的輸入連線。

    Filter 屬性
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 篩選準則 NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL 篩選準則 IPPROTO_TCP此常數定義于 winsock2.h 中。
    FWPM_CONDITION_IP_LOCAL_PORT 篩選準則 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. 新增具有下列屬性的篩選。 此篩選會封鎖任何其他不符合先前篩選準則的 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_BLOCK

範例程式碼:使用傳輸模式

ALE 層

內建圖說文字識別碼

篩選準則

篩選圖層識別碼

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE