Configurer des suites de chiffrement sur des hôtes virtuels et des routeurs

Vous consultez la documentation Apigee Edge.
Accédez à la documentation Apigee X.

Ce document explique comment configurer des suites de chiffrement sur les hôtes virtuels et les routeurs dans Apigee Edge.

Une suite de chiffrement est un ensemble d'algorithmes qui permettent de sécuriser une connexion réseau utilisant TLS. Le client et le serveur doivent s'accorder sur la suite de chiffrement spécifique qui sera utilisée pour échanger des messages. Si le client et le serveur ne s'accordent pas sur une suite de chiffrement, les requêtes échouent en raison d'échecs de handshake TLS.

Dans Apigee, les suites de chiffrement doivent être convenues mutuellement entre les applications clientes et les routeurs.

Vous pouvez modifier les suites de chiffrement sur Apigee Edge pour les raisons suivantes :

  • Pour éviter toute incohérence entre les suites de chiffrement des applications clientes et des routeurs Apigee
  • Pour utiliser des suites de chiffrement plus sécurisées afin de corriger les failles de sécurité ou pour renforcer la sécurité

Les suites de chiffrement peuvent être configurées sur les hôtes virtuels ou les routeurs Apigee. Notez qu'Apigee n'accepte les suites de chiffrement qu'au format chaînes de chiffrement OpenSSL, à la fois au niveau de l'hôte virtuel et du routeur. La page de manuel des algorithmes de chiffrement OpenSSL fournit les suites de chiffrement SSL ou TLS de la spécification concernée et leurs équivalents OpenSSL.

Exemples :

Si vous souhaitez configurer la suite de chiffrement TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 au niveau de l'hôte virtuel ou du routeur Apigee, vous devez identifier la chaîne de chiffrement OpenSSL correspondante à partir de la page de manuel des algorithmes de chiffrement OpenSSL. La chaîne de chiffrement OpenSSL pour la suite de chiffrement TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 est ECDHE-RSA-AES128-GCM-SHA256.. Vous devez donc utiliser la chaîne de chiffrement OpenSSL ECDHE-RSA-AES128-GCM-SHA256 lors de la configuration de la suite de chiffrement dans l'hôte virtuel ou sur le routeur Apigee.

Avant de commencer

Configurer des suites de chiffrement sur des hôtes virtuels

Cette section explique comment configurer les suites de chiffrement dans les hôtes virtuels associés à une organisation et à un environnement. Les suites de chiffrement peuvent être configurées dans l'hôte virtuel à l'aide de la propriété ssl_ciphers, qui représente la liste des suites de chiffrement compatibles avec l'hôte virtuel.

Consultez Suites de chiffrement compatibles pour obtenir la liste des suites de chiffrement compatibles avec Apigee.

Vous pouvez configurer l'hôte virtuel à l'aide de l'une des méthodes suivantes :

  • Utiliser l'interface utilisateur Edge
  • Utiliser l'API Edge

Utiliser l'UI Edge

Pour configurer l'hôte virtuel à l'aide de l'interface utilisateur Edge, procédez comme suit :

  1. Connectez-vous à l'interface utilisateur Edge.
  2. Accédez à Admin > Hôtes virtuels.
  3. Sélectionnez un environnement spécifique dans lequel vous souhaitez effectuer cette modification.
  4. Sélectionnez l'hôte virtuel spécifique pour lequel vous souhaitez configurer les suites de chiffrement.
  5. Sous Propriétés, mettez à jour la valeur Algorithmes de chiffrement avec une liste de chaînes de chiffrement OpenSSL séparées par des deux-points.

    Par exemple, si vous souhaitez autoriser uniquement les suites de chiffrement TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 et TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, déterminez les chaînes de chiffrement OpenSSL correspondantes à partir de la page de manuel des algorithmes de chiffrement OpenSSL, comme indiqué dans le tableau suivant :

    Suite de chiffrement Chaîne de chiffrement OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Ajoutez la chaîne de chiffrement OpenSSL avec une séparation par deux-points, comme indiqué dans la figure suivante :

    Exemple de chiffrement

  6. Enregistrez la modification.

Utiliser l'API Edge

Pour configurer les suites de chiffrement sur un hôte virtuel à l'aide de l'API Edge, procédez comme suit :

  1. Obtenez la configuration actuelle de l'hôte virtuel à l'aide de l'API Get virtual host, comme indiqué ci-dessous :

    Utilisateur du cloud public :

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Utilisateur Private Cloud :

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
    {
      "hostAliases": [
        "api.myCompany,com"
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  2. Ajoutez la propriété ssl_ciphers à la charge utile JSON de configuration de l'hôte virtuel existante sous properties avec les chaînes de chiffrement OpenSSL appropriées.

    Par exemple, si vous souhaitez autoriser uniquement les suites de chiffrement TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 et TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, déterminez les chaînes de chiffrement OpenSSL correspondantes à partir de la page de manuel OpenSSL ciphers, comme indiqué dans le tableau suivant :

    Suite de chiffrement Chaîne de chiffrement OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Ajoutez le bloc de code properties suivant :

    Exemple de configuration d'hôte virtuel mise à jour :

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }
  3. Enregistrez la configuration de l'hôte virtuel mis à jour dans un fichier. Par exemple : virtualhost-payload.json
  4. Mettez à jour la configuration virtualhost avec la modification à l'aide de l'API Mettre à jour un hôte virtuel comme suit :

    Utilisateur du cloud public :

    curl -v -X POST Content-Type: application/json
    https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

    Utilisateur Private Cloud :

    curl -v -X POST Content-Type: application/json
    http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -d @virtualhost-payload.json -u {username}

Suites de chiffrement compatibles

Apigee est compatible avec les suites de chiffrement suivantes :

ECDHE-RSA-AES256-GCM-SHA384
ECDHE-RSA-AES256-SHA384
ECDHE-RSA-AES256-SHA
DHE-RSA-AES256-GCM-SHA384
DHE-RSA-AES256-SHA256
DHE-RSA-AES256-SHA
DHE-RSA-CAMELLIA256-SHA
AES256-GCM-SHA384
AES256-SHA256  
AES256-SHA
CAMELLIA256-SHA
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-RSA-AES128-SHA256
ECDHE-RSA-AES128-SHA
DHE-RSA-AES128-GCM-SHA256
DHE-RSA-AES128-SHA256
DHE-RSA-AES128-SHA
DHE-RSA-CAMELLIA128-SHA
AES128-GCM-SHA256
AES128-SHA256   
AES128-SHA 
CAMELLIA128-SHA

Vérifier les suites de chiffrement sur les hôtes virtuels

Cette section explique comment vérifier que les suites de chiffrement ont été correctement modifiées sur l'hôte virtuel à l'aide de l'API Edge.

  1. Exécutez l'API Get virtual host pour obtenir la configuration virtualhost, comme indiqué ci-dessous :

    Utilisateur du cloud public :

    curl -v -X GET https://api.enterprise.apigee.com/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}

    Utilisateur Private Cloud :

    curl -v -X GET http://{management_server_IP}:8080/v1/organizations/{organization-name}/environments/{environment-name}/virtualhosts/{virtualhost-name} -u {username}
  2. Vérifiez que la propriété ssl_ciphers a été définie sur la nouvelle valeur.

    Exemple de configuration d'hôte virtuel mise à jour :

    {
      "hostAliases": [
        "api.myCompany,com",
      ],
      "interfaces": [],
      "listenOptions": [],
      "name": "secure",
      "port": "443",
      "retryOptions": [],
      "properties": {
        "property": [
          {
            "name": "ssl_ciphers",
            "value": "DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256"
          }
        ]
      },
      "sSLInfo": {
        "ciphers": [],
        "clientAuthEnabled": "false",
        "enabled": "true",
        "ignoreValidationErrors": false,
        "keyAlias": "myCompanyKeyAlias",
        "keyStore": "ref://myCompanyKeystoreref",
        "protocols": []
      },
      "useBuiltInFreeTrialCert": false
    }

    Dans l'exemple ci-dessus, notez que ssl_ciphers a été défini avec la nouvelle valeur.

  3. Si l'ancienne valeur de ssl_ciphers s'affiche toujours, vérifiez que vous avez correctement suivi toutes les étapes décrites dans Configurer des suites de chiffrement sur des hôtes virtuels. Si vous avez manqué une étape, répétez-les toutes correctement.
  4. Si vous ne parvenez toujours pas à mettre à jour ni à ajouter des suites de chiffrement à l'hôte virtuel, contactez l'assistance Apigee Edge.

Configurer des suites de chiffrement sur les routeurs

Cette section explique comment configurer les suites de chiffrement sur les routeurs. Les suites de chiffrement peuvent être configurées via la propriété Router conf_load_balancing_load.balancing.driver.server.ssl.ciphers, qui représente les suites de chiffrement acceptées séparées par des deux-points.

Pour configurer les suites de chiffrement sur les routeurs, procédez comme suit :

  1. Sur la machine du routeur, ouvrez le fichier suivant dans un éditeur. Si elle n'existe pas déjà, créez-la.

    /opt/apigee/customer/application/router.properties

    Par exemple, pour ouvrir le fichier avec vi, saisissez la commande suivante :

    vi /opt/apigee/customer/application/router.properties
  2. Ajoutez une ligne au format suivant au fichier properties, en remplaçant une valeur par colon_separated_cipher_suites :
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites

    Par exemple, si vous souhaitez autoriser uniquement les suites de chiffrement TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 et TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, déterminez les chaînes de chiffrement OpenSSL correspondantes à partir de la page de manuel des algorithmes de chiffrement OpenSSL, comme indiqué dans le tableau suivant :

    Suite de chiffrement Chaîne de chiffrement OpenSSL
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 DHE-RSA-AES128-GCM-SHA256
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 ECDHE-RSA-AES128-GCM-SHA256

    Ajoutez ensuite la ligne suivante :

    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256
  3. Enregistrez les modifications.
  4. Assurez-vous que ce fichier de propriétés appartient à l'utilisateur apigee, comme indiqué ci-dessous :
    chown apigee:apigee /opt/apigee/customer/application/router.properties
  5. Redémarrez le routeur comme indiqué ci-dessous :
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  6. Si vous avez plusieurs routeurs, répétez la procédure ci-dessus sur chacun d'eux.

Vérifier la suite de chiffrement sur les routeurs

Cette section explique comment vérifier que les suites de chiffrement ont bien été modifiées sur les routeurs.

  1. Sur le routeur, recherchez la propriété conf_load_balancing_load.balancing.driver.server.ssl.ciphers à l'aide de l'utilitaire de recherche Apigee du dossier /opt/apigee et vérifiez si elle a été définie avec la nouvelle valeur comme suit :
    /opt/apigee/apigee-service/bin/apigee-service edge-router configure -search conf_load_balancing_load.balancing.driver.server.ssl.ciphers
  2. Si les nouvelles suites de chiffrement sont correctement définies sur le routeur, la commande ci-dessus affiche les nouvelles valeurs.

    Voici un exemple de résultat de la commande search ci-dessus lorsque les suites de chiffrement ont été mises à jour vers DHE-RSA-AES128-GCM-SHA256 et ECDHE-RSA-AES128-GCM-SHA256 :

    Found key conf_load_balancing_load.balancing.driver.server.ssl.ciphers, with value, DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256, in /opt/apigee/customer//application/router.properties

    Dans l'exemple de résultat ci-dessus, vous remarquerez que la propriété conf_load_balancing_load.balancing.driver.server.ssl.ciphers a été définie avec les nouvelles valeurs de la suite de chiffrement. Cela indique que la suite de chiffrement a bien été mise à jour avec les chaînes de chiffrement OpenSSL DHE-RSA-AES128-GCM-SHA25 et ECDHE-RSA-AES128-GCM-SHA256 sur le routeur.

  3. Si vous voyez toujours les anciennes valeurs pour les suites de chiffrement conf_load_balancing_load.balancing.driver.server.ssl.ciphers, vérifiez que vous avez correctement suivi toutes les étapes décrites dans Configurer des suites de chiffrement sur les routeurs. Si vous avez manqué une étape, répétez-les toutes correctement.
  4. Si vous ne parvenez toujours pas à modifier les suites de chiffrement sur les routeurs, contactez l'assistance Apigee Edge.