Partager via


Chiffrement garanti

Le scénario de stratégie IPsec chiffrement garanti nécessite un chiffrement IPsec pour tout le trafic correspondant. Cette stratégie doit être spécifiée conjointement avec l’une des options de stratégie de mode de transport.

Le chiffrement garanti est généralement utilisé pour chiffrer le trafic sensible par application.

Un exemple de scénario de chiffrement garanti possible est « Sécuriser tout le trafic de données en monodiffusion, à l’exception d’ICMP, à l’aide du mode de transport IPsec, activer la découverte de négociation et exiger un chiffrement garanti pour tout le trafic de monodiffusion correspondant au port local TCP 5555 ».

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

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

  1. Ajoutez l’un des contextes de fournisseur de stratégie MM suivants, ou les deux.

    • 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.

    Notes

    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 tous deux 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 mode de transport QM suivants et définissez l’indicateur 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 (EM) AuthIP.

    Notes

    Un module de keying commun sera négocié et la stratégie de gestion de la qualité correspondante sera appliquée. AuthIP est le module de keying préféré si IKE et AuthIP sont tous deux 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 par paquet entrant

  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
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

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

  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
    weight 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
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Ajoutez un filtre avec les propriétés suivantes. Ce filtre autorise uniquement les connexions entrantes vers le port TCP 5555 si elles sont chiffrées.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage IPPROTO_TCP Cette constante est définie dans winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT condition de filtrage 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

À FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} configurez les règles de filtrage par connexion sortantes

  • Ajoutez un filtre avec les propriétés suivantes. Ce filtre autorise uniquement les connexions sortantes à partir du port TCP 5555 si elles sont chiffrées.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage IPPROTO_TCP Cette constante est définie dans winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT condition de filtrage 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

Exemple de code : utilisation du mode de transport

Couches ALE

Identificateurs de légende intégrés

Conditions de filtrage

Filtrage des identificateurs de couche

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE