Partilhar via


Encriptação Garantida

O cenário de política IPsec de criptografia garantida requer criptografia IPsec para todo o tráfego correspondente. Esta política deve ser especificada em conjunto com uma das opções de política do modo de transporte.

A criptografia garantida é normalmente usada para criptografar tráfego confidencial por aplicativo.

Um exemplo de um possível cenário de criptografia garantida é "Proteja todo o tráfego de dados unicast, exceto ICMP, usando o modo de transporte IPsec, habilite a descoberta de negociação e exija criptografia garantida para todo o tráfego unicast correspondente à porta local TCP 5555."

Para implementar este exemplo programaticamente, use a seguinte configuração do WFP.

No FWPM_LAYER_IKEEXT_V{4|6} configuração MM política de negociação

  1. Adicione um ou ambos os seguintes contextos de provedor de política de MM.

    • Para IKE, um contexto de provedor de políticas do tipo FWPM_IPSEC_IKE_MM_CONTEXT.
    • Para AuthIP, um contexto de provedor de políticas do tipo FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Observação

    Um módulo de chaveamento comum será negociado e a política de MM correspondente será aplicada. AuthIP é o módulo de chaveamento preferido se IKE e AuthIP são suportados.

  2. Para cada um dos contextos adicionados na etapa 1, adicione um filtro com as seguintes propriedades.

    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.

Na FWPM_LAYER_IPSEC_V{4|6} configuração da política de negociação de QM e EM

  1. Adicione um ou ambos os seguintes contextos de provedor de política de modo de transporte QM e defina o sinalizador IPSEC_POLICY_FLAG_ND_SECURE.

    • Para IKE, um contexto de provedor de políticas do tipo FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • Para AuthIP, um contexto de provedor de políticas do tipo FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Este contexto pode, opcionalmente, conter a política de negociação do Modo Estendido (EM) AuthIP.

    Observação

    Um módulo de chaveamento comum será negociado e a política de QM correspondente será aplicada. AuthIP é o módulo de chaveamento preferido se IKE e AuthIP são suportados.

  2. Para cada um dos contextos adicionados na etapa 1, adicione um filtro com as seguintes propriedades.

    Propriedade Filter Valor
    Condições de filtragem Vazio. Todo o tráfego corresponderá ao filtro.
    providerContextKey GUID do contexto do provedor QM adicionado na etapa 1.

No FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} configurar regras de filtragem de entrada por pacote

  1. Adicione um filtro com as seguintes propriedades.

    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
  2. Isente o tráfego ICMP do IPsec adicionando um filtro com as seguintes propriedades.

    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}**Estas constantes são definidas em winsock2.h.
    action.type FWP_ACTION_PERMIT
    peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

No FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} configurar regras de filtragem de saída por pacote

  1. Adicione um filtro com as seguintes propriedades.

    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
  2. Isente o tráfego ICMP do IPsec adicionando um filtro com as seguintes propriedades.

    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}**Estas constantes são definidas em winsock2.h.
    action.type FWP_ACTION_PERMIT
    peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

No FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} configurar regras de filtragem de entrada por conexão

  1. Adicione um filtro com as seguintes propriedades. Esse filtro só permitirá tentativas de conexão de entrada se elas estiverem protegidas por 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}
  2. Isente o tráfego ICMP do IPsec adicionando um filtro com as seguintes propriedades.

    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}**Estas constantes são definidas em winsock2.h.
    action.type FWP_ACTION_PERMIT
    peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Adicione um filtro com as seguintes propriedades. Este filtro só permitirá ligações de entrada à porta TCP 5555 se estiverem encriptadas.

    Propriedade Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condição de filtragem IPPROTO_TCPEsta 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

No FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} configure regras de filtragem de saída por conexão

  • Adicione um filtro com as seguintes propriedades. Esse filtro só permitirá conexões de saída da porta TCP 5555 se elas estiverem criptografadas.

    Propriedade Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condição de filtragem NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condição de filtragem IPPROTO_TCPEsta 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

Código de exemplo: Usando o modo de transporte

Camadas ALE

Identificadores de texto explicativo integrados

Condições de filtragem

Identificadores de camada de filtragem

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE