Partager via


Autorisation d’identité distante

Le scénario de stratégie IPsec d’autorisation d’identité distante nécessite que les connexions entrantes proviennent d’un ensemble spécifique de principaux de sécurité distants qui sont spécifiés dans une liste de contrôle d’accès (ACL) de descripteur de sécurité (SD) Windows. Si l’identité distante (telle que déterminée par IPsec) ne correspond pas au jeu d’identités autorisées, la connexion est supprimée. Cette stratégie doit être spécifiée conjointement avec l’une des options de stratégie de mode de transport.

Si AuthIP est activé, deux descripteurs de sécurité peuvent être spécifiés, l’un correspondant au mode main AuthIP et l’autre correspondant au mode étendu AuthIP.

Un exemple de scénario possible du mode de transport de découverte de négociation est « Sécuriser tout le trafic de données en monodiffusion, à l’exception d’ICMP, en utilisant le mode de transport IPsec, activer la découverte de négociation et restreindre l’accès entrant aux identités distantes autorisées par le descripteur de sécurité SD1 (correspondant au mode main IKE/AuthIP) et le descripteur de sécurité SD2 (correspondant au mode étendu AuthIP), 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 qui contient 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 les connexions entrantes vers le port TCP 5555 si les identités distantes correspondantes sont autorisées par SD1 et SD2.

    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
    FWPM_CONDITION_ALE_REMOTE_MACHINE_ID SD1
    FWPM_CONDITION_ALE_REMOTE_USER_ID SD2
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  4. Ajoutez un filtre avec les propriétés suivantes. Ce filtre bloque toutes les autres connexions entrantes au port TCP 5555 qui ne correspondaient pas au filtre précédent.

    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_BLOCK

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