Sa manuale
Lo scenario dei criteri IPsec (Manual Security Association) consente ai chiamanti di ignorare i moduli di keying IPsec predefiniti (IKE e AuthIP) specificando direttamente IPsec SA per proteggere qualsiasi traffico di rete.
Un esempio di possibile scenario sa manuale è "Aggiungere una coppia SA IPsec per proteggere tutto il traffico di dati unicast tra gli indirizzi IP 1.1.1.1 & 2.2.2.2, ad eccezione di ICMP, usando la modalità di trasporto IPsec".
Nota
I passaggi seguenti devono essere eseguiti in entrambi i computer con indirizzi IP impostati in modo appropriato.
Per implementare questo esempio a livello di codice, usare la configurazione WFP seguente.
Aggiungere un filtro con le proprietà seguenti.
Proprietà Filter Valore FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS Indirizzo locale appropriato (1.1.1.1 o 2.2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS Indirizzo remoto appropriato (1.1.1.1 o 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} 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 peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS Aggiungere un filtro con le proprietà seguenti.
Proprietà Filter Valore FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condizione di filtro NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS condizione di filtro Indirizzo locale appropriato (1.1.1.1 o 2.2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS condizione di filtro Indirizzo remoto appropriato (1.1.1.1 o 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} 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 peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS - Chiamare IPsecSaContextCreate0, con il parametro outboundTraffic contenente gli indirizzi IP come 1.1.1.1 & 2.2.2.2 e ipsecFilterId come filtro di callout del livello di trasporto in uscita IPsec aggiunto in precedenza.
- Chiamare IPsecSaContextGetSpi0, con il parametro ID contenente l'ID di contesto restituito da IPsecSaContextCreate0e il parametro getSpi contenente gli indirizzi IP come 1.1.1.1 & 2.2.2.2, e ipsecFilterId come LUID del filtro di callout IPsec del livello di trasporto in ingresso aggiunto in precedenza. Il valore SPI restituito deve essere usato come SPI DI accesso in ingresso dal computer locale e come SPI sa in uscita dal computer remoto corrispondente. Entrambi i computer devono usare alcuni mezzi fuori banda per scambiare i valori SPI.
- Chiamare IPsecSaContextAddInbound0, con il parametro id contenente l'ID di contesto restituito da IPsecSaContextCreate0e il parametro inboundBundle che descrive le proprietà del bundle SA in ingresso (ad esempio, SPI SA in ingresso, tipo di trasformazione, tipi di algoritmo, chiavi e così via).
- Chiamare IPsecSaContextAddOutbound0, con il parametro id contenente l'ID di contesto restituito da IPsecSaContextCreate0e il parametro outboundBundle che descrive le proprietà del bundle SA in uscita (ad esempio, SPI SA in uscita, tipo di trasformazione, tipi di algoritmo, chiavi e così via).
In FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} configurare le regole di filtro per pacchetto in ingresso
Alle FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} configurare le regole di filtro per pacchetto in uscita
configurare associazioni di sicurezza in ingresso e in uscita