Compartir a través de


Modo de transporte de detección de negociación

El escenario de directiva IPsec del modo de transporte de detección de negociación requiere protección del modo de transporte IPsec para todo el tráfico entrante coincidente y solicita protección IPsec para buscar coincidencias con el tráfico saliente. Por lo tanto, se permite que las conexiones salientes se reservan al texto no cifrado mientras que las conexiones entrantes no.

Con esta directiva, cuando la máquina host intenta una nueva conexión saliente y no hay ninguna SA IPsec existente que coincida con el tráfico, el host envía simultáneamente los paquetes en texto no cifrado e inicia una negociación de IKE o AuthIP. Si la negociación se realiza correctamente, la conexión se actualiza a IPsec protegida. De lo contrario, la conexión permanece en texto no cifrado. Una vez protegido por IPsec, una conexión nunca se puede degradar al texto no cifrado.

El modo de transporte de detección de negociación se usa normalmente en entornos que incluyen máquinas compatibles con IPsec y no compatibles con IPsec.

Un ejemplo de un posible escenario de modo de transporte de detección de negociación es "Proteger todo el tráfico de datos de unidifusión, excepto ICMP, mediante el modo de transporte IPsec y habilitar la detección de negociación".

Para implementar este ejemplo mediante programación, use la siguiente configuración de PMA.

En FWPM_LAYER_IKEEXT_V{4|6} configurar la directiva de negociación mm

  1. Agregue uno o ambos contextos del proveedor de directivas MM siguientes.

    • Para IKE, un contexto de proveedor de directivas de tipo FWPM_IPSEC_IKE_MM_CONTEXT.
    • Para AuthIP, un contexto de proveedor de directivas de tipo FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Nota

    Se negociará un módulo de creación de claves común y se aplicará la directiva MM correspondiente. AuthIP es el módulo de creación de claves preferido si se admiten IKE y AuthIP.

  2. Para cada uno de los contextos agregados en el paso 1, agregue un filtro con las siguientes propiedades.

    Propiedad Filter Valor
    Condiciones de filtrado Vacía. Todo el tráfico coincidirá con el filtro.
    providerContextKey GUID del contexto del proveedor mm agregado en el paso 1.

En FWPM_LAYER_IPSEC_V{4|6} configurar la directiva de negociación de QM y EM

  1. Agregue uno o ambos de los siguientes contextos de proveedor de directivas de modo de transporte QM y establezca la marca de IPSEC_POLICY_FLAG_ND_SECURE .

    • Para IKE, un contexto de proveedor de directivas de tipo FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • Para AuthIP, un contexto de proveedor de directivas de tipo FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Este contexto puede contener opcionalmente la directiva de negociación del modo extendido de AuthIP (EM).

    Nota

    Se negociará un módulo de creación de claves común y se aplicará la directiva QM correspondiente. AuthIP es el módulo de creación de claves preferido si se admiten IKE y AuthIP.

  2. Para cada uno de los contextos agregados en el paso 1, agregue un filtro con las siguientes propiedades.

    Propiedad Filter Valor
    Condiciones de filtrado Vacía. Todo el tráfico coincidirá con el filtro.
    providerContextKey GUID del contexto del proveedor QM agregado en el paso 1.

En FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} configurar reglas de filtrado de entrada por paquete

  1. Agregue un filtro con las siguientes propiedades.

    Propiedad Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado 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. Excluya el tráfico ICMP de IPsec agregando un filtro con las siguientes propiedades.

    Propiedad Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condición de filtrado **IPPROTO_ICMP{V6}**Estas constantes se definen en winsock2.h.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

En FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} configurar reglas de filtrado de paquetes por salida

  1. Agregue un filtro con las siguientes propiedades.

    Propiedad Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado 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. Excluya el tráfico ICMP de IPsec agregando un filtro con las siguientes propiedades.

    Propiedad Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condición de filtrado **IPPROTO_ICMP{V6}**Estas constantes se definen en winsock2.h.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

En FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} configurar reglas de filtrado de entrada por conexión

  1. Agregue un filtro con las siguientes propiedades. Este filtro solo permitirá intentos de conexión entrantes si están protegidos por IPsec.

    Propiedad Filter Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  2. Excluya el tráfico ICMP de IPsec agregando un filtro con las siguientes propiedades.

    Filter (propiedad) Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condición de filtrado **IPPROTO_ICMP{V6}**Estas constantes se definen en winsock2.h.
    action.type FWP_ACTION_PERMIT
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

Código de ejemplo: Uso del modo de transporte

Capas de ALE

Identificadores de llamada integrados

Condiciones de filtrado

Filtrado de identificadores de capa

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE