Configuration de TLS/SSL pour les installations périphériques

Edge for Private Cloud v. 4.16.05

Le protocole TLS (Transport Layer Security, dont le prédécesseur est SSL) est la technologie de sécurité standard permettant d'assurer une messagerie sécurisée et chiffrée dans votre environnement d'API, des applications à Apigee Edge en passant par vos services de backend.

Quelle que soit la configuration de l'environnement de votre API de gestion (par exemple, que vous utilisiez ou non un proxy, un routeur et/ou un équilibreur de charge devant votre API de gestion), Edge vous permet d'activer et de configurer TLS, ce qui vous permet de contrôler le chiffrement des messages dans votre environnement de gestion d'API sur site.

Pour une installation sur site d'Edge Private Cloud, vous pouvez configurer TLS à plusieurs endroits :

  1. Entre un routeur et un processeur de messages
  2. Pour accéder à l'API de gestion Edge
  3. Pour accéder à l'interface utilisateur de gestion Edge
  4. Pour l'accès d'une application à vos API
  5. Pour l'accès d'Edge à vos services de backend

La configuration de TLS pour les trois premiers éléments est décrite ci-dessous. Toutes ces procédures supposent que vous avez créé un fichier JKS contenant votre certification TLS et votre clé privée.

Pour configurer TLS pour l'accès d'une application à vos API (point 4 ci-dessus), consultez Configurer l'accès TLS à une API pour Private Cloud. Pour configurer TLS pour l'accès d'Edge à vos services de backend (étape 5 ci-dessus), consultez Configurer TLS d'Edge au backend (cloud et cloud privé).

Pour obtenir une présentation complète de la configuration de TLS sur Edge, consultez TLS/SSL.

Créer un fichier JKS

Vous représentez le keystore sous la forme d'un fichier JKS, où le keystore contient votre certificat TLS et votre clé privée. Il existe plusieurs façons de créer un fichier JKS, mais l'une d'elles consiste à utiliser les utilitaires openssl et keytool.

Par exemple, vous disposez d'un fichier PEM nommé server.pem contenant votre certificat TLS et d'un fichier PEM nommé private_key.pem contenant votre clé privée. Utilisez les commandes suivantes pour créer le fichier PKCS12 :

> openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12

Vous devez saisir la phrase secrète de la clé, le cas échéant, ainsi qu'un mot de passe d'exportation. Cette commande crée un fichier PKCS12 nommé keystore.pkcs12.

Utilisez la commande suivante pour le convertir en fichier JKS nommé keystore.jks :

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks

Vous êtes invité à saisir le nouveau mot de passe du fichier JKS et le mot de passe existant du fichier PKCS12. Veillez à utiliser le même mot de passe pour le fichier JKS que celui que vous avez utilisé pour le fichier PKCS12.

Si vous devez spécifier un alias de clé, par exemple lors de la configuration de TLS entre un routeur et un processeur de messages, incluez l'option -name dans la commande openssl :

>  openssl pkcs12 -export -clcerts -in server.pem -inkey private_key.pem -out keystore.pkcs12 -name devtest

Incluez ensuite l'option "-alias" dans la commande keytool :

> keytool -importkeystore -srckeystore keystore.pkcs12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias devtest

Générer un mot de passe obscurci

Certaines parties de la procédure de configuration TLS d'Edge nécessitent la saisie d'un mot de passe obscurci dans un fichier de configuration. Un mot de passe obscurci est une alternative plus sécurisée que la saisie de votre mot de passe en texte brut.

Vous pouvez générer un mot de passe obscurci en Java à l'aide des fichiers .jar Jetty installés avec Edge. Générez le mot de passe obscurci à l'aide d'une commande au format suivant :

> java -cp /<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-http-x.y.z.jar:/<inst_root>/apigee/edge-gateway/lib/thirdparty/jetty-util-x.y.z.jar org.eclipse.jetty.http.security.Password yourPassword

où x.y.z spécifie le numéro de version des fichiers .jar Jetty, par exemple 8.0.4.v20111024. Cette commande renvoie le mot de passe au format suivant :

yourPassword
OBF:58fh40h61svy156789gk1saj
MD5:902fobg9d80e6043b394cb2314e9c6

Utilisez le mot de passe obscurci spécifié par OBF lors de la configuration de TLS.

Pour en savoir plus, consultez cet article.