Compartir a través de


Cifrado garantizado

El escenario de directiva IPsec de cifrado garantizado requiere cifrado IPsec para todo el tráfico coincidente. Esta directiva debe especificarse junto con una de las opciones de directiva de modo de transporte.

El cifrado garantizado se usa normalmente para cifrar el tráfico confidencial por aplicación.

Un ejemplo de un posible escenario de cifrado garantizado es "Proteger todo el tráfico de datos de unidifusión, excepto ICMP, mediante el modo de transporte IPsec, habilitar la detección de negociación y requerir cifrado garantizado para todo el tráfico de unidifusión correspondiente al puerto local TCP 5555".

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

En FWPM_LAYER_IKEEXT_V{4|6} configuración de 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í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 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 modo extendido AuthIP (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ía. Todo el tráfico coincidirá con el filtro.
    providerContextKey GUID del contexto del proveedor de 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
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

En FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} se configuran las reglas de filtrado 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
    weight 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
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Agregue un filtro con las siguientes propiedades. Este filtro solo permitirá conexiones entrantes al puerto TCP 5555 si están cifrados.

    Filter (propiedad) Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condición de filtrado IPPROTO_TCP Esta constante se define en winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT condición de filtrado 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

En FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} configurar las reglas de filtrado de salida por conexión

  • Agregue un filtro con las siguientes propiedades. Este filtro solo permitirá conexiones salientes desde el puerto TCP 5555 si están cifrados.

    Filter (propiedad) Valor
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condición de filtrado IPPROTO_TCP Esta constante se define en winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT condición de filtrado 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 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