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 la protección del modo de transporte IPsec para todo el tráfico entrante coincidente y solicita la protección de IPsec para buscar coincidencias con el tráfico saliente. Por lo tanto, se permite que las conexiones salientes se reservan en texto no cifrado mientras que las conexiones entrantes no son.

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 del PMA.

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

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

    • 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 clave común y se aplicará la directiva MM correspondiente. AuthIP es el módulo de clave 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.

    Filter (propiedad) Valor
    Condiciones de filtrado Vacío. 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 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 autenticación (EM).

    Nota

    Se negociará un módulo de clave común y se aplicará la directiva de QM correspondiente. AuthIP es el módulo de clave 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.

    Filter (propiedad) Valor
    Condiciones de filtrado Vacío. 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.

    Filter (propiedad) 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.

    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
    de peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

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

  1. Agregue un filtro con las siguientes propiedades.

    Filter (propiedad) 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.

    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
    de peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

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

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

    Filter (propiedad) 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
    de peso FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

código de ejemplo de : Usar el modo de transporte

capas de ALE de

identificadores de llamada integrados

condiciones de filtrado

de identificadores de capa de filtrado de

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE