Modo de transporte de descoberta de negociação no modo de limite

O modo de transporte de descoberta de negociação no cenário de política IPsec do modo de limite solicita proteção do modo de transporte IPsec para todo o tráfego correspondente. Se a negociação IKE/AuthIP falhar, as conexões de entrada e saída terão permissão para fazer fallback para limpar texto .

Essa política IPsec normalmente é usada em computadores acessados por computadores compatíveis com IPsec e não compatíveis com IPsec.

Um exemplo de um possível cenário de Modo de Transporte de Descoberta de Negociação é "Proteger todo o tráfego de dados unicast, exceto ICMP, usando o modo de transporte IPsec e habilitar a descoberta de negociação no modo de limite".

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

Às FWPM_LAYER_IKEEXT_V{4|6} configurar política de negociação mm

  1. 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.

  2. 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.

Às FWPM_LAYER_IPSEC_V{4|6} configurar política de negociação de QM e EM

  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_BOUNDARY .

    • 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.

  2. 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.

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

  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
  2. 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

Às FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} regras de filtragem de saída por pacote

  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_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 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

Observação

Em vez do Modo de Transporte de Descoberta de Negociação, para o Modo de Transporte de Descoberta de Negociação na política de Modo de Limite, não é necessário adicionar um filtro nas camadas FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} , pois essa política permite conexões de texto não protegido de entrada.

Código de exemplo: usando o modo de transporte

Camadas ALE

Identificadores de texto explicativo internos

Condições de filtragem

Filtrando identificadores de camada

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE