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

Vous consultez la documentation d'Apigee Edge.
Consultez la documentation Apigee X.
en savoir plus

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

Une suite de chiffrement est un ensemble d’algorithmes qui aident à sécuriser une connexion réseau utilisant le protocole TLS. Le client et le serveur doivent se mettre d'accord sur la suite de chiffrement spécifique qui sera utilisée lors de l'échange de messages. Si le client et le serveur ne sont pas d'accord sur la suite de chiffrement, les requêtes échouent et le handshake TLS échoue.

Dans Apigee, les suites de chiffrement doivent faire l'objet d'un accord mutuel 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 des suites de chiffrement entre les applications clientes et les routeurs Apigee
  • Utiliser des suites de chiffrement plus sécurisées pour corriger les failles de sécurité ou renforcer la sécurité

Les suites de chiffrement peuvent être configurées sur des hôtes virtuels ou sur des routeurs Apigee. Notez qu'Apigee n'accepte que les suites de chiffrement au format de chaînes de chiffrement OpenSSL 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.

Par exemple :

Si vous souhaitez configurer la suite de chiffrement TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 sur l'hôte virtuel ou le routeur Apigee, vous devez identifier la chaîne de chiffrement OpenSSL correspondante dans 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 sur 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 des 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 via la propriété ssl_ciphers, qui représente la liste des suites de chiffrement acceptées par l'hôte virtuel.

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

Vous pouvez configurer l'hôte virtuel en utilisant l'une des méthodes suivantes:

  • Utilisation de l'interface utilisateur Edge
  • Utilisation de l'API Edge

Utilisation de l'interface utilisateur 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 > Virtual Hosts (Admin > Hôtes virtuels).
  3. Sélectionnez l'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 Ciphers avec une liste de chaînes de chiffrement OpenSSL séparées par des deux-points.

    Par exemple, si vous souhaitez n'autoriser que 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 en séparant les deux points par deux points, comme indiqué dans la figure suivante:

    Exemple d'algorithme de chiffrement

  6. Enregistrez la modification.

Utilisation de 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 (Obtenir un hôte virtuel), 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 la configuration d'hôte virtuel existante sous properties avec les chaînes de chiffrement OpenSSL appropriées.

    Par exemple, si vous souhaitez n'autoriser que 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 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 d'hôte virtuel mise à 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 des hôtes virtuels

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

  1. Exécutez l'API Get virtual host (Obtenir l'hôte virtuel) 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 la section Configurer des suites de chiffrement sur des hôtes virtuels. Si vous avez manqué une étape, répétez-la correctement.
  4. Si vous ne parvenez toujours pas à mettre à jour ou à ajouter des suites de chiffrement à l'hôte virtuel, contactez l'assistance Apigee Edge.

Configurer des suites de chiffrement sur des routeurs

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

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

  1. Sur l'ordinateur routeur, ouvrez le fichier suivant dans un éditeur. S'il n'existe pas encore, créez-le.

    /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 au fichier properties une ligne au format suivant, en remplaçant colon_separated_cipher_suites par une valeur :
    conf_load_balancing_load.balancing.driver.server.ssl.ciphers=colon_separated_cipher_suites
    

    Par exemple, si vous souhaitez n'autoriser que 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 les étapes 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 dans le 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 l'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 sortie ci-dessus, notez 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 vers les chaînes de chiffrement OpenSSL DHE-RSA-AES128-GCM-SHA25 et ECDHE-RSA-AES128-GCM-SHA256 sur le routeur.

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