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

Edge pour Private Cloud version 4.16.05

Le protocole TLS (Transport Layer Security, dont le prédécesseur est SSL) est la technologie de sécurité standard permettant de garantir une messagerie sécurisée et chiffrée dans votre environnement d'API, des applications à Apigee Edge en passant par vos services 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'un cloud privé Edge, 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 accéder à vos API depuis une application
  5. Pour accéder à vos services de backend depuis Edge

La configuration du protocole 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 l'accès TLS à vos API depuis une application, point 4 ci-dessus, consultez Configurer l'accès TLS à une API pour le cloud privé. Pour configurer TLS afin d'accéder à vos services de backend depuis Edge, consultez le point 5 ci-dessus, consultez la section Configuration de TLS d'Edge au backend (Cloud et cloud privé).

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

Créer un fichier JKS

Vous représentez le keystore sous la forme d'un fichier JKS, dans lequel il contient votre certificat TLS et votre clé privée. Il existe plusieurs façons de créer un fichier JKS, dont l'une 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. Exécutez 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é, si elle en possède une, ainsi qu'un mot de passe d'exportation. Cette commande crée un fichier PKCS12 nommé keystore.pkcs12.

Exécutez 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 pour le fichier JKS et le mot de passe existant pour le fichier PKCS12. Assurez-vous d'utiliser le même mot de passe pour le fichier JKS que 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

Ajoutez ensuite l'option "-alias" à 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 Edge TLS vous obligent à saisir un mot de passe obscurci dans un fichier de configuration. Un mot de passe obscurci est une alternative plus sécurisée à la saisie d'un 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. Pour animer le mot de passe obscurci à l'aide d'une commande sous la forme:

> 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

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 du protocole TLS.

Pour en savoir plus, consultez cet article.