Compartilhar via


Autorização de Identidade Remota

O cenário de política IPsec de Autorização de Identidade Remota exige que as conexões de entrada sejam provenientes de um conjunto específico de entidades de segurança remota especificadas em uma ACL (lista de controle de acesso) do Descritor de Segurança do Windows (ACL). Se a identidade remota (conforme determinado pelo IPsec) não corresponder ao conjunto de identidades permitidas, a conexão será descartada. Essa política deve ser especificada em conjunto com uma das opções de política do modo de transporte.

Se a AuthIP estiver habilitada, dois descritores de segurança poderão ser especificados, um correspondente ao modo de main AuthIP e outro correspondente ao modo estendido AuthIP.

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 o ICMP, usar o modo de transporte IPsec, habilitar a descoberta de negociação e restringir o acesso de entrada a identidades remotas permitidas de acordo com o descritor de segurança SD1 (correspondente ao modo de main IKE/AuthIP) e o descritor de segurança SD2 (correspondente ao modo estendido AuthIP), para todo o tráfego unicast correspondente à porta local TCP 5555."

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

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

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

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

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

  1. Adicione um ou ambos os contextos do 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 que contém a política de negociação do EM (Modo Estendido AuthIP).

    Observação

    Um módulo de chave comum será negociado e a política de QM correspondente será aplicada. O 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.

Em FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} regras de filtragem de entrada 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_INBOUND_TRANSPORT_V{4|6}
    rawContext FWPM_CONTEXT_IPSEC_INBOUND_PERSIST_CONNECTION_SECURITY
  2. Isenta 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

Em 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. Isenta 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

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

  1. 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}
  2. Isenta 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
  3. Adicione um filtro com as propriedades a seguir. Esse filtro permitirá conexões de entrada com a porta TCP 5555 se as identidades remotas correspondentes forem permitidas pelo SD1 e pelo SD2.

    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
    FWPM_CONDITION_ALE_REMOTE_MACHINE_ID SD1
    FWPM_CONDITION_ALE_REMOTE_USER_ID SD2
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  4. Adicione um filtro com as propriedades a seguir. Esse filtro bloqueará qualquer outra conexão de entrada com a porta TCP 5555 que não correspondeu ao filtro anterior.

    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_BLOCK

Código de exemplo: usando o modo de transporte

Camadas ALE

Identificadores de texto explicativo interno

Condições de filtragem

Filtrando identificadores de camada

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE