Compartir a través de


Manual SA

El escenario de directiva IPsec de asociación de seguridad manual (SA) permite a los autores de llamadas omitir los módulos de claves IPsec integrados (IKE y AuthIP) especificando directamente las SA de IPsec para proteger cualquier tráfico de red.

Un ejemplo de un posible escenario de SA manual es "Agregar un par sa de IPsec para proteger todo el tráfico de datos de unidifusión entre direcciones IP 1.1.1.1 & 2.2.2.2, excepto ICMP, mediante el modo de transporte IPsec".

Nota

Los pasos siguientes deben ejecutarse en ambas máquinas con direcciones IP establecidas correctamente.

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

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 Value
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_LOCAL_ADDRESS La dirección local adecuada (1.1.1.1 o 2.2.2.2).
    FWPM_CONDITION_IP_REMOTE_ADDRESS La dirección remota adecuada (1.1.1.1 o 2.2.2.2).
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6}
  2. Excluya el tráfico ICMP de IPsec agregando un filtro con las siguientes propiedades.

    Propiedad Filter Value
    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 por paquete de salida

  1. Agregue un filtro con las siguientes propiedades.

    Propiedad Filter Value
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condición de filtrado NlatUnicast
    FWPM_CONDITION_IP_LOCAL_ADDRESS condición de filtrado La dirección local adecuada (1.1.1.1 o 2.2.2.2).
    FWPM_CONDITION_IP_REMOTE_ADDRESS condición de filtrado La dirección remota adecuada (1.1.1.1 o 2.2.2.2).
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6}
  2. Excluya el tráfico ICMP de IPsec agregando un filtro con las siguientes propiedades.

    Propiedad Filter Value
    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

Configuración de asociaciones de seguridad entrantes y salientes

  1. Llame a IPsecSaContextCreate0, con el parámetro outboundTraffic que contiene las direcciones IP como 1.1.1.1 & 2.2.2.2 y ipsecFilterId como LUID del filtro de llamada IPsec de la capa de transporte saliente agregado anteriormente.
  2. Llame a IPsecSaContextGetSpi0, con el parámetro id que contiene el identificador de contexto devuelto por IPsecSaContextCreate0 y el parámetro getSpi que contiene las direcciones IP como 1.1.1.1 & 2.2.2.2 y ipsecFilterId como LUID del filtro de llamada IPsec de la capa de transporte entrante agregado anteriormente. El valor SPI devuelto está pensado para ser utilizado como EL SPI de SA entrante por la máquina local y como EL SPI de SA de salida por la máquina remota correspondiente. Ambas máquinas deben usar algunos medios fuera de banda para intercambiar los valores spi.
  3. Llame a IPsecSaContextAddInbound0, con el parámetro id que contiene el identificador de contexto devuelto por IPsecSaContextCreate0 y el parámetro inboundBundle que describe las propiedades del conjunto de SA de entrada (como el SPI de SA de entrada, el tipo de transformación, los tipos de algoritmo, las claves, etc.).
  4. Llame a IPsecSaContextAddOutbound0, con el parámetro id que contiene el identificador de contexto devuelto por IPsecSaContextCreate0 y el parámetro outboundBundle que describe las propiedades del conjunto de SA de salida (como el SA SPI de salida, el tipo de transformación, los tipos de algoritmo, las claves, etc.).

Código de ejemplo: Keying manual de SA

Identificadores de llamada integrados

Filtrado de identificadores de capa

FWPM_ACTION0