Criptografia Garantida
O cenário de política IPsec de Criptografia Garantida requer criptografia IPsec para todo o tráfego correspondente. Essa política deve ser especificada em conjunto com uma das opções de política de modo de transporte.
A Criptografia Garantida normalmente é usada para criptografar o tráfego confidencial por aplicativo.
Um exemplo de um possível cenário de Criptografia Garantida é "Proteger todo o tráfego de dados unicast, exceto ICMP, usando o modo de transporte IPsec, habilitar a descoberta de negociação e exigir criptografia garantida para todo o tráfego unicast correspondente à porta local TCP 5555".
Para implementar este exemplo programaticamente, use a configuração do WFP a seguir.
Adicione um ou ambos os contextos de provedor de política MM a seguir.
- Para IKE, um contexto de provedor de política do tipo FWPM_IPSEC_IKE_MM_CONTEXT.
- Para a AuthIP, um contexto de provedor de política do tipo FWPM_IPSEC_AUTHIP_MM_CONTEXT.
Observação
Um módulo de chave comum será negociado e a política mm correspondente será aplicada. AuthIP será o módulo de chave preferencial se houver suporte para IKE e AuthIP.
Para cada um dos contextos adicionados na etapa 1, adicione um filtro com as propriedades a seguir.
Propriedade Filter Valor Condições de filtragem Vazio. Todo o tráfego corresponderá ao filtro. providerContextKey GUID do contexto do provedor MM adicionado na etapa 1. Adicione um ou ambos os contextos de provedor de política do modo de transporte QM a seguir e defina o sinalizador IPSEC_POLICY_FLAG_ND_SECURE .
- Para IKE, um contexto de provedor de política do tipo FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
- Para a AuthIP, um contexto de provedor de política do tipo FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Opcionalmente, esse contexto pode conter a política de negociação em (Modo Estendido) AuthIP.
Observação
Um módulo de chave comum será negociado e a política de QM correspondente será aplicada. AuthIP será o módulo de chave preferencial se houver suporte para IKE e AuthIP.
Para cada um dos contextos adicionados na etapa 1, adicione um filtro com as propriedades a seguir.
Propriedade Filter Valor Condições de filtragem Vazio. Todo o tráfego corresponderá ao filtro. providerContextKey GUID do contexto do provedor de QM adicionado na etapa 1. Adicione um filtro com as propriedades a seguir.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem 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 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 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} rawContext FWPM_CONTEXT_IPSEC_OUTBOUND_NEGOTIATE_DISCOVER 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. Esse filtro só permitirá tentativas de conexão de entrada se elas forem protegidas pelo IPsec.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_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. Esse filtro só permitirá conexões de entrada com a porta TCP 5555 se elas forem criptografadas.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast FWPM_CONDITION_IP_PROTOCOL condição de filtragem IPPROTO_TCP Essa constante é definida em winsock2.h. FWPM_CONDITION_IP_LOCAL_PORT condição de filtragem 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 Adicione um filtro com as propriedades a seguir. Esse filtro só permitirá conexões de saída da porta TCP 5555 se elas forem criptografadas.
Propriedade Filter Valor FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast FWPM_CONDITION_IP_PROTOCOL condição de filtragem IPPROTO_TCP Essa constante é definida em winsock2.h. FWPM_CONDITION_IP_LOCAL_PORT condição de filtragem 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
Às FWPM_LAYER_IKEEXT_V{4|6} configurar política de negociação mm
Às FWPM_LAYER_IPSEC_V{4|6} configurar política de negociação de QM e EM
À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
Às FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} regras de filtragem de entrada por conexão
Em FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} regras de filtragem de saída por conexão