Manual SA
O cenário de política IPsec de SA (Associação de Segurança Manual) permite que os chamadores ignorem os módulos de chave IPsec internos (IKE e AuthIP) especificando diretamente os SAs IPsec para proteger qualquer tráfego de rede.
Um exemplo de um possível cenário de SA Manual é "Adicionar um par de SA IPsec para proteger todo o tráfego de dados unicast entre endereços IP 1.1.1.1 & 2.2.2.2, exceto ICMP, usando o modo de transporte IPsec".
Observação
As etapas a seguir devem ser executadas em ambos os computadores com endereços IP definidos adequadamente.
Para implementar este exemplo programaticamente, use a configuração do WFP a seguir.
Adicione um filtro com as propriedades a seguir.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS O endereço local apropriado (1.1.1.1 ou 2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS O endereço remoto apropriado (1.1.1.1 ou 2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} Isente o tráfego ICMP do IPsec adicionando um filtro com as propriedades a seguir.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast FWPM_CONDITION_IP_PROTOCOL condição de filtragem **IPPROTO_ICMP{V6}**Essas constantes são definidas em winsock2.h. action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS Adicione um filtro com as propriedades a seguir.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS condição de filtragem O endereço local apropriado (1.1.1.1 ou 2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS condição de filtragem O endereço remoto apropriado (1.1.1.1 ou 2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} Isente o tráfego ICMP do IPsec adicionando um filtro com as propriedades a seguir.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast FWPM_CONDITION_IP_PROTOCOL condição de filtragem **IPPROTO_ICMP{V6}**Essas constantes são definidas em winsock2.h. action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS - Chame IPsecSaContextCreate0, com o parâmetro outboundTraffic contendo os endereços IP como 1.1.1.1 & 2.2.2.2 e ipsecFilterId como o LUID do filtro de texto explicativo IPsec da camada de transporte de saída adicionado acima.
- Chame IPsecSaContextGetSpi0, com o parâmetro id que contém a ID de contexto retornada de IPsecSaContextCreate0 e o parâmetro getSpi que contém os endereços IP como 1.1.1.1 & 2.2.2.2 e ipsecFilterId como o LUID do filtro de texto explicativo IPsec da camada de transporte de entrada adicionado acima. O valor de SPI retornado deve ser usado como o SA SPI de entrada pelo computador local e como a SPI SA de saída pelo computador remoto correspondente. Ambos os computadores devem usar alguns meios fora de banda para trocar os valores de SPI.
- Chame IPsecSaContextAddInbound0, com o parâmetro id que contém a ID de contexto retornada de IPsecSaContextCreate0 e o parâmetro inboundBundle que descreve as propriedades do pacote SA de entrada (como o SA SPI de entrada, tipo de transformação, tipos de algoritmo, chaves etc).
- Chame IPsecSaContextAddOutbound0, com o parâmetro id que contém a ID de contexto retornada de IPsecSaContextCreate0 e o parâmetro outboundBundle que descreve as propriedades do pacote SA de saída (como o SA SPI de saída, tipo de transformação, tipos de algoritmo, chaves etc. ).
Às FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} configurar regras de filtragem por pacote de entrada
Às FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} regras de filtragem de saída por pacote
Configurar associações de segurança de entrada e saída