Partager via


Mode de transport de découverte de négociation

Le scénario de stratégie IPsec en mode de découverte de négociation nécessite la protection du mode de transport IPsec pour tous les trafics entrants correspondants et demande la protection IPsec pour le trafic sortant correspondant. Par conséquent, les connexions sortantes sont autorisées à revenir en texte clair alors que les connexions entrantes ne le sont pas.

Avec cette stratégie, lorsque l’ordinateur hôte tente une nouvelle connexion sortante et qu’il n’existe aucune sa IPsec existante correspondant au trafic, l’hôte envoie simultanément les paquets en texte clair et démarre une négociation IKE ou AuthIP. Si la négociation réussit, la connexion est mise à niveau vers IPsec protégée. Sinon, la connexion reste en texte clair. Une fois IPsec protégée, une connexion ne peut jamais être rétrogradée en texte clair.

Le mode de transport de découverte de négociation est généralement utilisé dans les environnements qui incluent des machines compatibles IPsec et non IPsec.

Un exemple de scénario possible de mode de transport de découverte de négociation est « Sécuriser tout le trafic de données unidiffusion, à l’exception d’ICMP, à l’aide du mode de transport IPsec et activer la découverte de négociation ».

Pour implémenter cet exemple par programme, utilisez la configuration PAM suivante.

À FWPM_LAYER_IKEEXT_V{4|6} configurez la stratégie de négociation MM

  1. Ajoutez un ou les deux contextes de fournisseur de stratégie MM suivants.

    • Pour IKE, un contexte de fournisseur de stratégie de type FWPM_IPSEC_IKE_MM_CONTEXT.
    • Pour AuthIP, un contexte de fournisseur de stratégie de type FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Note

    Un module de keying commun sera négocié et la stratégie MM correspondante sera appliquée. AuthIP est le module de keying préféré si IKE et AuthIP sont pris en charge.

  2. Pour chacun des contextes ajoutés à l’étape 1, ajoutez un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    Conditions de filtrage Vide. Tout le trafic correspond au filtre.
    providerContextKey GUID du contexte du fournisseur MM ajouté à l’étape 1.

À FWPM_LAYER_IPSEC_V{4|6} configurez la stratégie de négociation QM et EM

  1. Ajoutez un ou les deux contextes de fournisseur de stratégie de transport QM suivants et définissez l’indicateur de IPSEC_POLICY_FLAG_ND_SECURE.

    • Pour IKE, un contexte de fournisseur de stratégie de type FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
    • Pour AuthIP, un contexte de fournisseur de stratégie de type FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. Ce contexte peut éventuellement contenir la stratégie de négociation en mode étendu AuthIP (EM).

    Note

    Un module de clé commune sera négocié et la stratégie QM correspondante sera appliquée. AuthIP est le module de keying préféré si IKE et AuthIP sont pris en charge.

  2. Pour chacun des contextes ajoutés à l’étape 1, ajoutez un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    Conditions de filtrage Vide. Tout le trafic correspond au filtre.
    providerContextKey GUID du contexte du fournisseur QM ajouté à l’étape 1.

À FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} configurez les règles de filtrage entrant par paquet

  1. Ajoutez un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage 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. Exemptez le trafic ICMP d’IPsec en ajoutant un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage **IPPROTO_ICMP{V6}***Ces constantes sont définies dans winsock2.h.
    action.type FWP_ACTION_PERMIT
    poids FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

À FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} configurez les règles de filtrage sortant par paquet

  1. Ajoutez un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage 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. Exemptez le trafic ICMP d’IPsec en ajoutant un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage **IPPROTO_ICMP{V6}***Ces constantes sont définies dans winsock2.h.
    action.type FWP_ACTION_PERMIT
    poids FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

À FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} configurez les règles de filtrage entrant par connexion

  1. Ajoutez un filtre avec les propriétés suivantes. Ce filtre autorise uniquement les tentatives de connexion entrantes si elles sont sécurisées par IPsec.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  2. Exemptez le trafic ICMP d’IPsec en ajoutant un filtre avec les propriétés suivantes.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage **IPPROTO_ICMP{V6}***Ces constantes sont définies dans winsock2.h.
    action.type FWP_ACTION_PERMIT
    poids FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

exemple de code : utilisation du mode de transport

couches ALE

identificateurs de légende intégrés

conditions de filtrage

identificateurs de couche de filtrage

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE