Condividi tramite


Autorizzazione dell'identità remota

Lo scenario dei criteri IPsec di autorizzazione dell'identità remota richiede che le connessioni in ingresso provengano da un set specifico di entità di sicurezza remote specificate in un elenco di controllo di accesso (ACL) del descrittore di sicurezza (SD) di Windows. Se l'identità remota (come determinato da IPsec) non corrisponde al set di identità consentite, la connessione verrà eliminata. Questo criterio deve essere specificato in combinazione con una delle opzioni dei criteri per la modalità di trasporto.

Se AuthIP è abilitato, è possibile specificare due descrittori di sicurezza, uno corrispondente alla modalità principale AuthIP e l'altro corrispondente alla modalità estesa AuthIP.

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, abilitare l'individuazione delle negoziazione e limitare l'accesso in ingresso alle identità remote consentite in base al descrittore di sicurezza SD1 (corrispondente alla modalità principale IKE/AuthIP) e il descrittore di sicurezza SD2 (corrispondente alla modalità estesa AuthIP), 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 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 che contiene 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 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 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
  3. Aggiungere un filtro con le proprietà seguenti. Questo filtro consentirà le connessioni in ingresso alla porta TCP 5555 se le identità remote corrispondenti sono consentite da SD1 e SD2.

    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
    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. Aggiungere un filtro con le proprietà seguenti. Questo filtro blocca tutte le altre connessioni in ingresso alla porta TCP 5555 che non corrispondono al filtro precedente.

    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_BLOCK

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