Création d'une stratégie IPsec

Vous pouvez utiliser des politiques IPsec personnalisées pour définir les paramètres de sécurité utilisés au cours de la phase 2 de la négociation. Au cours de cette phase, le VPN et l'unité homologue utilisent l'association de sécurité établie durant la phase 1 pour négocier le trafic à envoyer et le mode d'authentification et de chiffrement de ce trafic.

Pour garantir une sélection cohérente des algorithmes, faites correspondre les algorithmes IKE et IPsec exacts et leur ordre de priorité à la fois sur la passerelle IBM Cloud VPN et sur la passerelle homologue. Pour plus d'informations sur les facteurs affectant la sélection des algorithmes, voir Comment les algorithmes de chiffrement sont-ils choisis pour IKE et IPsec dans une connexion VPN site à site?

Création d'une politique IPsec dans la console

Pour créer une stratégie IPsec dans la console, procédez comme suit :

  1. Sur la page répertoriant les VPN pour VPC, sélectionnez « Passerelles site à site » > « Politiques IPsec ».

  2. Cliquez sur « Créer » et indiquez les informations suivantes :

    • Emplacement- Sélectionnez une région pour cette politique IPsec.
    • Nom - Entrez un nom pour la stratégie IPsec.
    • Groupe de ressources - Sélectionnez le groupe de ressources pour cette stratégie IPsec.
    • Chiffrement- Sélectionnez l'algorithme de chiffrement à utiliser pour la phase 2. Par défaut, c'est l'algorithme le moins puissant qui est sélectionné. Vous pouvez sélectionner plusieurs valeurs pour chaque champ et les réorganiser par ordre de priorité. La passerelle VPN négocie avec la passerelle homologue pour sélectionner le meilleur algorithme mutuellement supporté.
    • Authentification- Sélectionnez l'algorithme d'authentification à utiliser pour la phase 2. Par défaut, c'est l'algorithme le moins puissant qui est sélectionné. Vous pouvez sélectionner plusieurs algorithmes d'authentification et les classer par ordre de priorité.
    • Perfect Forward Secrecy- Activez cette option pour effectuer un nouvel échange Diffie-Hellman lors de chaque renouvellement de clé de la phase 2, de sorte qu'en cas de compromission d'une clé, le trafic précédemment crypté reste sécurisé.
    • Groupe Diffie-Hellman (si la fonction PFS est activée)- Sélectionnez le groupe DH à utiliser pour l'échange de clés de la phase 2. Par défaut, le groupe DH le plus bas est sélectionné. Vous pouvez sélectionner plusieurs groupes de DH et les réorganiser par priorité.
    • Durée de vie de la clé- Sélectionnez la durée de vie, en secondes, du tunnel de phase 2.
  3. Cliquez sur Créer.

  4. Sur la page Détails de la connexion VPN, définissez la zone Stratégies IPsec pour utiliser la stratégie IPsec souhaitée.

    Pour garantir la réussite des négociations IKE/IPsec, configurez les deux homologues avec au moins un algorithme correspondant dans chaque catégorie (authentification, chiffrement et groupes PF). L'alignement de ces paramètres entre les pairs permet d'éviter les échecs de connexion.

Création d'une politique IPsec à partir de l'interface de ligne de commande

Avant de commencer, configurez votre environnement d'interface de ligne de commande.

Pour créer une politique IPsec à partir de l'interface de ligne de commande (CLI), saisissez la commande suivante :

ibmcloud is ipsec-policy-create IPSEC_POLICY_NAME AUTHENTICATION_ALGORITHMS ENCRYPTION_ALGORITHMS PFSGS [--key-lifetime KEY_LIFETIME] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]

Où :

  • IPSEC_POLICY_NAME- Nom de la stratégie IPsec.
  • AUTHENTICATION_ALGORITHMS- Les algorithmes d'authentification. Doit être désactivé uniquement si ENCRYPTION_ALGORITHMS contient des algorithmes en mode combiné (aes128gcm16, aes192gcm16, aes256gcm16). L'un des éléments suivants : disabled, sha256, sha384, sha512, ou une liste d'algorithmes d'authentification séparés par des virgules (sha384,sha256,sha512). L'ordre des algorithmes détermine leur priorité lors de la négociation.
  • ENCRYPTION_ALGORITHMS- Les algorithmes de chiffrement. L'un des éléments suivants : aes128, aes128gcm16, aes192, aes192gcm16, aes256, aes256gcm16, ou une liste d'algorithmes de cryptage séparés par des virgules (aes128,aes192,aes256). L'ordre des algorithmes détermine leur priorité lors de la négociation.
  • PFSGS- Groupes de confidentialité persistante. L'un des groupes suivants : disabled, group_14, group_15, group_16, group_17, group_18, group_19, group_20, group_21, group_22, group_23, group_24, group_31, ou une liste de groupes PFS séparés par des virgules (group_14,group_15,group_16). L'ordre des groupes détermine leur priorité lors de la négociation.
  • --key-lifetime value - Durée de vie de la clé, exprimée en secondes. Maximum : 86400, Minimum : 1800. La valeur par défaut est 3600.
  • --resource-group-id: l'identifiant du groupe de ressources. Cette option est mutuellement exclusive avec --resource-group-name.
  • --resource-group-name : valeur- Nom du groupe de ressources. Cette option est mutuellement exclusive avec --resource-group-id.
  • --output value - Spécification de la sortie au format JSON.
  • -q, --quiet - Suppression de la sortie prolixe.

md5 et sha1, les groupes DH group_2 et group_5 et l'algorithme de cryptage triple_des ont été supprimés le 20 septembre 2022 et ne sont plus pris en charge dans la console.

L' AUTHENTICATION_ALGORITHMS e doit être disabled si et seulement si ENCRYPTION_ALGORITHMS est aes128gcm16, aes192gcm16 ou aes256gcm16.

Mise à jour d'une politique IPsec à partir de l'interface de gestion

Avant de commencer, configurez votre environnement d'interface de ligne de commande.

Pour mettre à jour une politique IPsec à partir de l'interface de ligne de commande (CLI), saisissez la commande suivante :

ibmcloud is ipsec-policy-update IPSEC_POLICY [--name NEW_NAME] [--authentication-algorithms AUTHENTICATION_ALGORITHMS] [--pfsgs PFSGS] [--encryption-algorithms ENCRYPTION_ALGORITHMS] [--authentication-algorithm AUTHENTICATION_ALGORITHM] [--pfs disabled | group_14 | group_15 | group_16 | group_17 | group_18 | group_19 | group_20 | group_21 | group_22 | group_23 | group_24 | group_31] [--encryption-algorithm aes128 | aes128gcm16 | aes192 | aes192gcm16 | aes256 | aes256gcm16] [--key-lifetime KEY_LIFETIME] [--output JSON] [-q, --quiet]

Où :

  • --name- Le nom de la politique IPsec.

  • --authentication-algorithms- Liste d'algorithmes d'authentification séparés par des virgules (recommandé). L'ordre des algorithmes détermine leur priorité lors de la négociation.

  • --authentication-algorithm- L'algorithme d'authentification (obsolète). Cette option ne doit être désactivée que si --encryption_algorithm prend la valeur aes128gcm16, aes192gcm16 ou aes256gcm16. L'un d'entre eux : disabled, sha256, sha384, sha512

  • --encryption-algorithms- Une liste d'algorithmes de chiffrement séparés par des virgules (recommandé). L'ordre des algorithmes détermine leur priorité lors de la négociation.

  • --encryption-algorithm- L'algorithme de chiffrement (obsolète). L'un des suivants: aes128, aes128gcm16, aes192, aes192gcm16, aes256, aes256gcm16.

  • --pfsgs- Une liste de groupes Perfect Forward Secrecy séparés par des virgules. L'ordre des groupes détermine leur priorité lors de la négociation.

  • --pfs- Le groupe Perfect Forward Secrecy (obsolète). Un des éléments suivants : handicapé, group_14, group_15, group_16, group_17, group_18, group_19, group_20, group_21, group_22, group_23, group_24, group_31.

    Ne mélangez pas dans une même commande des propriétés singulières et des propriétés basées sur des tableaux pour la même catégorie d'algorithme.

Exemples de commande

Les valeurs singulières de authentication algorithms, pfsgs, et encryption algorithms, pour créer une politique IPsec à partir de l'interface de ligne de commande, sont obsolètes. Utilisez plutôt plusieurs valeurs séparées par des virgules.

  • Créez une politique IPsec en utilisant des algorithmes d'authentification séparés par des virgules (SHA 512 et SHA 256), des algorithmes de cryptage (AES 256, AES 192 et AES 128) et des groupes de confidentialité parfaite ( group_14 et group_15 ):

    ibmcloud is ipsec-policy-create my-ipsec-policy sha512,sha256 aes256,aes192,aes128 group_14,group_15
    
  • Créez une politique IPsec en utilisant un algorithme d'authentification unique (SHA 256), un algorithme de cryptage unique (AES 128) et le groupe DH 14 :

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14
    
  • Créez une stratégie IPsec avec les mêmes paramètres et une durée de vie de 3600 secondes :

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14 --key-lifetime 3600
    
  • Créez une stratégie IPsec avec les mêmes paramètres et un ID groupe de ressources :

    ibmcloud is ipsec-policy-create my-ipsec-policy sha256 aes128 group_14 --resource-group-id fee82deba12e4c0fb69c3b09d1f12345 --output JSON
    
  • Mettre à jour une politique IPsec pour changer le nom, les algorithmes d'authentification en SHA 512 et SHA 256, les algorithmes de cryptage en AES 256, AES 192, et les groupes de secret parfait (perfect forward secrecy) en group_15 et group_16:

    ibmcloud is ipsec-policy-update my-ipsec-policy --name new-ipsec-policy --authentication-algorithms sha512,sha256 --encryption-algorithms aes256,aes192 --pfsgs group_15,group_16 --output JSON
    
  • Mettre à jour la politique IPsec avec le cryptage GCM (authentification désactivée):

    ibmcloud is ipsec-policy-update $ipsec_policy \
       --authentication-algorithms disabled \
       --encryption-algorithms aes128gcm16,aes256gcm16
    

    La valeur de authentication_algorithms doit être fixée à disabled si et seulement si la liste encryption_algorithms contient des algorithmes basés sur GCM (aes128gcm16, aes192gcm16, ou aes256gcm16). GCM fournissent à la fois le chiffrement et l'intégrité des données intégrée (authentification) dans le cadre d'une opération unique, de sorte qu'un algorithme d'authentification distinct (tel que sha256 ou sha512) ne doit pas être spécifié.

Création d'une politique IPsec à l'aide de l'API

Les propriétés singulières authentication_algorithm, dh_group, encryption_algorithm, et pfs pour la négociation IPsec sont obsolètes. Utilisez les propriétés basées sur le tableau pour créer une politique IPsec. Pour en savoir plus sur les propriétés des algorithmes singuliers et des algorithmes basés sur des tableaux pour la stratégie IPsec lors de l'utilisation de l'API, voir Mise à jour vers plusieurs algorithmes IKE et IPsec.

Pour créer une politique IPsec avec plusieurs algorithmes en utilisant les propriétés basées sur un tableau (recommandé), procédez comme suit :

  1. Configurez votre environnement d'API avec les variables appropriées.

  2. Stockez d'autres variables destinées à être utilisées dans les commandes d'API, par exemple :

ResourceGroupId - Recherchez l'ID groupe de ressources à l'aide de la commande get resource groups, puis renseignez la variable :

 export ResourceGroupId=<your_resourcegroup_id>
  1. Créer la politique IPsec :

       curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -d '{
            "name": "my-new-ipsec-policy",
            "authentication_algorithms": ["sha256", "sha512"],
            "encryption_algorithms": ["aes128", "aes256"],
            "pfs_groups": ["group_14", "group_15", "group_16", "group_17", "group_18"],
            "resource_group": {
              "id": "'$ResourceGroupId'"
            }
          }'
    

Créez une politique IPsec avec encryption_algorithms réglé sur GCM-based algorithms et authentication_algorithms réglé sur disabled:

   curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
   -H "Authorization: Bearer $iam_token" \
   -d '{
      "name": "gcm-ipsec-policy",
      "encryption_algorithms": ["aes128gcm16","aes192gcm16","aes256gcm16"],
      "authentication_algorithms": ["disabled"],
      "pfs_groups": ["group_14","group_15","group_16","group_17","group_18"],
      "resource_group": {
        "id": "'$ResourceGroupId'"
      }
    }'

La propriété authentication_algorithms doit être définie sur disabled si et seulement si la liste encryption_algorithms contient des algorithmes basés sur GCM (aes128gcm16, aes192gcm16, ou aes256gcm16). GCM fournissent à la fois le chiffrement et l'intégrité des données intégrée (authentification) dans le cadre d'une opération unique, de sorte qu'un algorithme d'authentification distinct (tel que sha256 ou sha512) ne doit pas être spécifié.

Pour créer une politique IPsec avec l'API en utilisant des propriétés singulières (obsolètes), procédez comme suit :

  1. Configurez votre environnement d'API avec les variables appropriées.

  2. Stockez d'autres variables destinées à être utilisées dans les commandes d'API, par exemple :

ResourceGroupId - Recherchez l'ID groupe de ressources à l'aide de la commande get resource groups, puis renseignez la variable :

 export ResourceGroupId=<your_resourcegroup_id>
  1. Créer la politique IPsec :
   curl -X POST "$vpc_api_endpoint/v1/ipsec_policies?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
        "name": "my-new-ipsec-policy",
        "authentication_algorithm": "sha256",
        "encryption_algorithm": "aes128",
        "pfs": "group_14",
        "resource_group": {
          "id": "'$ResourceGroupId'"
        }
      }'

Mise à jour d'une politique IPsec avec l'API

Pour mettre à jour une politique IPsec avec l'API en utilisant les propriétés basées sur un tableau (recommandé), procédez comme suit :

  1. Configurez votre environnement d'API avec les variables appropriées.

  2. Stockez d'autres variables destinées à être utilisées dans les commandes d'API, par exemple :

ResourceGroupId - Recherchez l'ID groupe de ressources à l'aide de la commande get resource groups, puis renseignez la variable :

export ResourceGroupId=<your_resourcegroup_id>
  1. Mettre à jour la politique IPsec :
   curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
         "name": "my-updated-ipsec-policy",
         "authentication_algorithms": ["sha512", "sha384", "sha256"],
         "encryption_algorithms": ["aes256", "aes128"],
         "pfs_groups": ["group_18", "group_17", "group_16", "group_15", "group_14"],
      }'

Pour mettre à jour une politique IPsec avec l'API en utilisant les propriétés singulières (obsolètes), procédez comme suit :

Vous pouvez mettre à jour les politiques IPsec en utilisant des propriétés singulières obsolètes ou des propriétés basées sur des tableaux. Les deux formes sont acceptées, mais vous ne devez pas mélanger des propriétés singulières et des propriétés basées sur des tableaux pour la même catégorie d'algorithme dans une seule demande.

  1. Configurez votre environnement d'API avec les variables appropriées.

  2. Stockez d'autres variables destinées à être utilisées dans les commandes d'API, par exemple :

ResourceGroupId - Recherchez l'ID groupe de ressources à l'aide de la commande get resource groups, puis renseignez la variable :

export ResourceGroupId=<your_resourcegroup_id>
  1. Mettre à jour la politique IPsec :
   curl -X PATCH "$vpc_api_endpoint/v1/ipsec_policies/$ipsec_policy_id?version=$api_version&generation=2" \
     -H "Authorization: Bearer $iam_token" \
     -d '{
         "name": "my-updated-ipsec-policy",
         "authentication_algorithm": "sha512",
         "encryption_algorithm": "aes256",
           "pfs": "group_18",
      }'

Pour consulter l'ensemble des API pour les passerelles VPN site à site, voir la référence API VPC.

Création d'une stratégie IPsec à l'aide de Terraform

Dans l'exemple suivant, vous pouvez créer une politique IPsec à l'aide de Terraform :

   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithm = "sha256"
     encryption_algorithm     = "aes128"
     pfs                      = "group_14"
   }
  1. Dans l'exemple suivant, vous pouvez créer une politique IPsec avec des propriétés sous forme de tableau (recommandé) à l'aide de Terraform :
   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithms = ["sha512", "sha384"]
     encryption_algorithms     = ["aes128", "aes192"]
     pfs_groups                = ["group_14", "group_15"]
   }
  1. Dans l'exemple suivant, vous pouvez créer une politique IPsec avec des propriétés uniques (obsolètes) à l'aide de Terraform :
   resource "ibm_is_ipsec_policy" "is_ipsec_policy" {
     name                     = "my-ipsec-policy"
     authentication_algorithm = "sha256"
     encryption_algorithm     = "aes128"
     pfs                      = "group_14"
   }

Ne mélangez pas les propriétés au singulier et celles basées sur des tableaux pour une même catégorie d'algorithmes dans une même requête.

Pour plus d'informations, consultez le registre Terraform.

Etapes suivantes

Après avoir créé une politique IPsec, effectuez les tâches suivantes si nécessaire :

Liens connexes