Partager via


Chiffrement garanti

Le scénario de stratégie IPsec de chiffrement garanti nécessite le 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 unidiffusion, à 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 unidiffusion correspondant au port local TCP 5555 ».

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

À FWPM_LAYER_IKEEXT_V{4|6} configurer 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} configurer 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} configurer 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} configurer 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} configurer 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
  3. Ajoutez un filtre avec les propriétés suivantes. Ce filtre autorise uniquement les connexions entrantes au port TCP 5555 s’ils sont chiffrés.

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage IPPROTO_TCPCette 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} configurer les règles de filtrage sortant par connexion

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

    Propriété Filter Valeur
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE condition de filtrage NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL condition de filtrage IPPROTO_TCPCette 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

identificateurs de couche de filtrage

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE