Condividi tramite


Crittografia garantita

Lo scenario dei criteri IPsec di crittografia garantita richiede la crittografia IPsec per tutto il traffico corrispondente. Questo criterio deve essere specificato in combinazione con una delle opzioni dei criteri di modalità trasporto.

La crittografia garantita viene in genere usata per crittografare il traffico sensibile su base applicazione.

Un esempio di possibile scenario di crittografia garantita è "Proteggere tutto il traffico dei dati unicast, ad eccezione di ICMP, usando la modalità di trasporto IPsec, abilitare l'individuazione delle trattative e richiedere la crittografia garantita per tutto il traffico unicast corrispondente alla porta locale TCP 5555".

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 comune di chiave e verrà applicato il criterio MM corrispondente. AuthIP è il modulo di chiave preferito se sono supportati sia IKE che AuthIP.

  2. Per ognuno dei contesti aggiunti al 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 nel passaggio 1.

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

  1. Aggiungere uno o entrambi i contesti del provider di criteri di 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 AuthIP Extended Mode (EM).

    Nota

    Verrà negoziato un modulo comune di chiave e verrà applicato il criterio QM corrispondente. AuthIP è il modulo di chiave preferito se sono supportati sia IKE che AuthIP.

  2. Per ognuno dei contesti aggiunti al 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 di QM aggiunto nel 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 in uscita 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_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 in ingresso per connessione

  1. Aggiungere un filtro con le proprietà seguenti. Questo filtro consente 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
  3. Aggiungere un filtro con le proprietà seguenti. Questo filtro consentirà solo le connessioni in ingresso alla porta TCP 5555 se crittografate.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condizione di filtro IPPROTO_TCP Questa costante è definita in winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT condizione di filtro 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

In FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} configurare le regole di filtro in uscita per connessione

  • Aggiungere un filtro con le proprietà seguenti. Questo filtro consentirà solo le connessioni in uscita dalla porta TCP 5555 se crittografate.

    Proprietà Filter Valore
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condizione di filtro IPPROTO_TCP Questa costante è definita in winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT condizione di filtro 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

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