Configurer TLS pour l'API de gestion

Par défaut, TLS est désactivé pour l'API de gestion. Vous accédez à l'API de gestion Edge via HTTP en utilisant l'adresse IP du nœud du serveur de gestion et le port 8080. Exemple :

http://ms_IP:8080

Vous pouvez également configurer l'accès TLS à l'API de gestion pour y accéder au format suivant :

https://ms_IP:8443

Dans cet exemple, vous configurez l'accès TLS pour utiliser le port 8443. Toutefois, ce numéro de port n'est pas requis par Edge. Vous pouvez configurer le serveur de gestion pour qu'il utilise d'autres valeurs de port. La seule exigence est que votre pare-feu autorise le trafic sur le port spécifié.

Pour assurer le chiffrement du trafic vers et depuis votre API Management, configurez les paramètres dans le /opt/apigee/customer/application/management-server.properties fichier.

En plus de la configuration TLS, vous pouvez également contrôler la validation des mots de passe (longueur et complexité) en modifiant le fichier management-server.properties.

Vérifier que votre port TLS est ouvert

La procédure décrite dans cette section configure TLS pour qu'il utilise le port 8443 sur le serveur de gestion. Quel que soit le port que vous utilisez, vous devez vous assurer qu'il est ouvert sur le serveur de gestion. Par exemple, vous pouvez utiliser la commande suivante pour l'ouvrir :

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 8443 -j ACCEPT --verbose

Configurer TLS

Modifiez le fichier /opt/apigee/customer/application/management-server.properties pour contrôler l'utilisation de TLS sur le trafic vers et depuis votre API de gestion. Si ce fichier n'existe pas, créez-le.

Pour configurer l'accès TLS à l'API de gestion :

  1. Générez le fichier JKS du keystore contenant votre certification TLS et votre clé privée. Pour en savoir plus consultez Configurer TLS/SSL pour Edge sur site.
  2. Copiez le fichier JKS du keystore dans un répertoire du nœud du serveur de gestion, tel que /opt/apigee/customer/application.
  3. Modifiez le propriétaire du fichier JKS pour l'utilisateur "apigee" :
    chown apigee:apigee keystore.jks

    Où keystore.jks est le nom de votre fichier keystore.

  4. Modifiez /opt/apigee/customer/application/management-server.properties pour définir les propriétés suivantes. Si ce fichier n'existe pas, créez-le :
    conf_webserver_ssl.enabled=true
    # Leave conf_webserver_http.turn.off set to false
    # because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/opt/apigee/customer/application/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword

    Où keyStore.jks est votre fichier keystore et obfuscatedPassword est le mot de passe de votre keystore obscurci. Pour savoir comment générer un mot de passe obscurci, consultez Configurer TLS/SSL pour Edge sur site pour informations.

  5. Redémarrez le serveur de gestion Edge à l'aide de la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

L'API de gestion est désormais compatible avec l'accès via TLS.

Configurer la nouvelle interface utilisateur Edge pour qu'elle utilise TLS afin d'accéder à l'API Edge

Dans la procédure ci-dessus, Apigee a recommandé de laisser conf_webserver_http.turn.off=false afin que la nouvelle interface utilisateur Edge puisse continuer à effectuer des appels d'API Edge via HTTP.

Procédez comme suit pour configurer la nouvelle interface utilisateur Edge afin qu'elle n'effectue ces appels que via HTTPS :

  1. Configurez l'accès TLS à l'API de gestion comme décrit ci-dessus.
  2. Après avoir vérifié que TLS fonctionne pour l'API Management, modifiez /opt/apigee/customer/application/management-server.properties pour définir la propriété suivante :
    conf_webserver_http.turn.off=true
  3. Redémarrez le serveur de gestion Edge en exécutant la commande suivante :
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart 
  4. Mettez à jour la configuration de la nouvelle interface utilisateur Edge pour vous connecter au serveur de gestion via HTTPS. Définissez les propriétés suivantes dans votre fichier de configuration de la nouvelle interface utilisateur Edge file :
    APIGEE_PORT_HTTP_MS=port
    MS_SCHEME=https

    Où port est le port spécifié précédemment par conf_webserver_ssl.port (par exemple, 8443).

  5. Appliquez la configuration mise à jour à la nouvelle interface utilisateur Edge :
    /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile

    Pour en savoir plus sur le fichier de configuration de la nouvelle interface utilisateur Edge, consultez Configurer la nouvelle interface utilisateur Edge. Pour configurer l'accès HTTPS à la nouvelle interface utilisateur Edge elle-même, consultez Configurer TLS pour la nouvelle interface utilisateur Edge.

Propriétés TLS du serveur de gestion

Le tableau suivant répertorie toutes les propriétés TLS/SSL que vous pouvez définir dans management-server.properties :

Propriétés Description

conf_webserver_http.port=8080

La valeur par défaut est 8080.

conf_webserver_ssl.enabled=false

Pour activer/désactiver TLS/SSL. Si TLS/SSL est activé (true), vous devez également définir les propriétés ssl.port et keystore.path.

conf_webserver_http.turn.off=true

Pour activer/désactiver HTTP avec HTTPS. Si vous ne souhaitez utiliser que HTTPS, laissez la valeur par défaut sur true.

conf_webserver_ssl.port=8443

Port TLS/SSL.

Obligatoire lorsque TLS/SSL est activé (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.path=path

Chemin d'accès à votre fichier keystore.

Obligatoire lorsque TLS/SSL est activé (conf_webserver_ssl.enabled=true).

conf_webserver_keystore.password=password

Utilisez un mot de passe obscurci au format suivant : OBF:xxxxxxxxxx

conf_webserver_cert.alias=alias

Alias de certificat de keystore facultatif

conf_webserver_keymanager.password=password

Si votre gestionnaire de clés possède un mot de passe, saisissez une version obscurcie de celui-ci au format suivant :

OBF:xxxxxxxxxx

conf_webserver_trust.all=[false | true]

conf_webserver_trust.store.path=path

conf_webserver_trust.store.password=password

Configurez les paramètres de votre magasin de confiance. Déterminez si vous souhaitez accepter tous les certificats TLS/SSL (par exemple, pour accepter les types non standards). La valeur par défaut est false. Indiquez le chemin d'accès à votre magasin de confiance et saisissez un mot de passe obscurci au format suivant :

OBF:xxxxxxxxxx

conf_http_HTTPTransport.ssl.cipher.suites.blacklist=CIPHER_SUITE_1, CIPHER_SUITE_2

conf_http_HTTPTransport.ssl.cipher.suites.whitelist=

Indiquez les suites de chiffrement que vous souhaitez inclure ou exclure. Par exemple, si vous découvrez une faille dans un chiffrement, vous pouvez l'exclure ici. Séparez les différents chiffrements par des virgules.

Tous les chiffrements que vous supprimez à l'aide de la liste noire sont prioritaires sur tous les chiffrements inclus dans la liste blanche.

Remarque : Par défaut, si aucune liste noire ni aucune liste blanche n'est spécifiée, les chiffrements correspondant à l'expression régulière Java suivante sont exclus par défaut.

^.*_(MD5|SHA|SHA1)$
^TLS_RSA_.*$
^SSL_.*$
^.*_NULL_.*$
^.*_anon_.*$

Toutefois, si vous spécifiez une liste noire, ce filtre est remplacé et vous devez mettre en liste noire tous les chiffrements individuellement.

Pour en savoir plus sur les suites de chiffrement et l'architecture de chiffrement, consultez la documentation Java Cryptography Architecture Oracle Providers pour JDK 8.

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Entiers qui déterminent :

  • La taille du cache de session TLS/SSL (en octets) pour stocker les informations de session de plusieurs clients.
  • La durée pendant laquelle les sessions TLS/SSL peuvent durer avant d'expirer (en millisecondes).