Modalità trasporto individuazione negoziazione

Lo scenario dei criteri IPsec della modalità trasporto individuazione negoziazione richiede la protezione della modalità di trasporto IPsec per tutto il traffico in ingresso corrispondente e richiede la protezione IPsec per la corrispondenza del traffico in uscita. Pertanto, le connessioni in uscita possono eseguire il fallback al testo non crittografato mentre le connessioni in ingresso non sono.

Con questo criterio, quando il computer host tenta una nuova connessione in uscita e non esiste un sa IPsec esistente corrispondente al traffico, l'host invia simultaneamente i pacchetti in testo non crittografato e avvia una negoziazione IKE o AuthIP. Se la negoziazione ha esito positivo, la connessione viene aggiornata a IPsec-protected. In caso contrario, la connessione rimane in testo non crittografato. Dopo aver protetto IPsec, una connessione non può mai essere sottoposta a downgrade a testo non crittografato.

La modalità trasporto di individuazione negoziazione viene in genere usata in ambienti che includono computer con funzionalità IPsec e non con supporto IPsec.

Un esempio di possibile scenario di modalità trasporto individuazione negoziazione è "Proteggere tutto il traffico dati unicast, ad eccezione di ICMP, usando la modalità di trasporto IPsec e abilitare l'individuazione delle negoziazione".

Per implementare questo esempio a livello di codice, usare la configurazione WFP seguente.

In FWPM_LAYER_IKEEXT_V{4|6} configurare i criteri di negoziazione MM

  1. Aggiungere uno o entrambi i contesti del provider di criteri MM seguenti.

    • Per IKE, un contesto del provider di criteri di tipo FWPM_IPSEC_IKE_MM_CONTEXT.
    • Per AuthIP, un contesto del provider di criteri di tipo FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Nota

    Verrà negoziato un modulo di keying comune e verranno applicati i criteri MM corrispondenti. AuthIP è il modulo di keying preferito se sono supportati sia IKE che AuthIP.

  2. Per ognuno dei contesti aggiunti nel passaggio 1, aggiungere un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    Condizioni di filtro Vuoto. Tutto il traffico corrisponderà al filtro.
    providerContextKey GUID del contesto del provider MM aggiunto al passaggio 1.

In FWPM_LAYER_IPSEC_V{4|6} configurare i criteri di negoziazione QM e EM

  1. Aggiungere uno o entrambi i contesti del provider di criteri della modalità trasporto QM seguenti e impostare il flag di IPSEC_POLICY_FLAG_ND_SECURE .

    • Per IKE, un contesto del provider di criteri di tipo FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • Per AuthIP, un contesto del provider di criteri di tipo FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Questo contesto può facoltativamente contenere i criteri di negoziazione em (AuthIP Extended Mode).

    Nota

    Verrà negoziato un modulo di keying comune e verranno applicati i criteri QM corrispondenti. AuthIP è il modulo di keying preferito se sono supportati sia IKE che AuthIP.

  2. Per ognuno dei contesti aggiunti nel passaggio 1, aggiungere un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    Condizioni di filtro Vuoto. Tutto il traffico corrisponderà al filtro.
    providerContextKey GUID del contesto del provider QM aggiunto al passaggio 1.

In FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} configurare le regole di filtro in ingresso per pacchetto

  1. Aggiungere un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro 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. Esentare il traffico ICMP da IPsec aggiungendo un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condizione di filtro **IPPROTO_ICMP{V6}**Queste costanti sono definite in winsock2.h.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

In FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} configurare le regole di filtro per pacchetto in uscita

  1. Aggiungere un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro 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. Esentare il traffico ICMP da IPsec aggiungendo un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condizione di filtro **IPPROTO_ICMP{V6}**Queste costanti sono definite in winsock2.h.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

In FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} configurare le regole di filtro per connessione in ingresso

  1. Aggiungere un filtro con le proprietà seguenti. Questo filtro consentirà solo i tentativi di connessione in ingresso se sono protetti da IPsec.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  2. Esentare il traffico ICMP da IPsec aggiungendo un filtro con le proprietà seguenti.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condizione di filtro **IPPROTO_ICMP{V6}**Queste costanti sono definite in winsock2.h.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Codice di esempio: Uso della modalità trasporto

Livelli ALE

Identificatori di callout predefiniti

Condizioni di filtro

Filtri degli identificatori del livello

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE