Configurer TLS pour l'API de gestion

Edge for Private Cloud v. 4.16.05

Par défaut, TLS est désactivé pour l'API de gestion, et 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 Management afin d'y accéder sous la forme suivante :

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 garantir le chiffrement du trafic vers et depuis votre API Management, configurez les paramètres dans le fichier /<install_dir>/apigee/customer/application/management-server.properties.

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

Assurez-vous que votre port TLS est ouvert

La procédure décrite dans cette section configure TLS pour utiliser 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 /<install_dir>/apigee/customer/application/management-server.properties pour contrôler l'utilisation de TLS sur le trafic vers et depuis votre API Management. Si ce fichier n'existe pas, créez-le.

Procédez comme suit 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 /tmp.
  3. Remplacez la propriété du fichier JKS par apigee :
    $ chown apigee:apigee keystore.jks

    où keystore.jks est le nom de votre fichier de keystore.
  4. Modifiez /<install_dir>/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
    # Set next to true if all communications should be over HTTPS.
    # Not recommended because many Edge internal calls use HTTP.
    conf_webserver_http.turn.off=false
    conf_webserver_ssl.port=8443
    conf_webserver_keystore.path=/tmp/keystore.jks
    # Enter the obfuscated keystore password below.
    conf_webserver_keystore.password=OBF:obfuscatedPassword
    conf_webserver_cert.alias=apigee-devtest


    où keyStore.jks est votre fichier de keystore et obfuscatedPassword est votre mot de passe de keystore obscurci. Pour en savoir plus sur la génération d'un mot de passe obscurci, consultez Configurer TLS/SSL pour Edge sur site.
  5. Redémarrez le serveur de gestion Edge à l'aide de la commande suivante :
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-management-server restart

L'API Management est désormais accessible via TLS.

Configurer l'interface utilisateur Edge pour utiliser 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 l'UI Edge puisse continuer à effectuer des appels d'API Edge via HTTP. Procédez comme suit pour configurer l'interface utilisateur Edge afin d'effectuer ces appels via HTTPS uniquement :

  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 /<install_dir>/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 à l'aide de la commande suivante :
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-management-server restart
  4. Modifiez /<install_dir>/apigee/customer/application/ui.properties pour définir la propriété suivante pour l'interface utilisateur Edge. Si ce fichier n'existe pas, créez-le :
    conf_apigee_apigee.mgmt.baseurl="https://MS_IP:8443/v1"

    où MS_IP est l'adresse IP du serveur de gestion et le numéro de port est le port spécifié ci-dessus par conf_webserver_ssl.port.
  5. Uniquement si vous avez utilisé un certificat autosigné lors de la configuration de l'accès TLS à l'API de gestion ci-dessus, ajoutez la propriété suivante à ui.properties :
    conf/application.conf+ws.acceptAnyCertificate=true

    Sinon, l'interface utilisateur Edge rejettera un certificat autosigné.
  6. Redémarrez l'interface utilisateur Edge à l'aide de la commande suivante :
    $ /<install_dir>/apigee/apigee-service/bin/apigee-service edge-ui restart

Propriétés TLS pour le serveur de gestion

Le tableau suivant liste 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. Lorsque 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 en plus de HTTPS. Si vous souhaitez utiliser uniquement HTTPS, laissez la valeur par défaut définie 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=

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

conf_webserver_cert.alias=

Alias de certificat de keystore facultatif

conf_webserver_keymanager.password=

Si votre gestionnaire de clés possède un mot de passe, saisissez une version obscurcie du mot de passe au format suivant : OBF:xxxxxxxxxx.

conf_webserver_trust.all= <false | true>

conf_webserver_trust.store.path=<path>

conf_webserver_trust.store.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, puis saisissez un mot de passe obscurci pour le magasin de confiance au format suivant : OBF:xxxxxxxxxx.

conf_webserver_exclude.cipher.suites=<CIPHER_SUITE_1 CIPHER_SUITE_2>

conf_webserver_include.cipher.suites=

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 algorithmes de chiffrement par un espace.

Pour en savoir plus sur les suites de chiffrement et l'architecture de cryptographie, consultez les pages suivantes :

http://docs.oracle.com/javase/8/docs/technotes/
guides/security/SunProviders.html#SunJSSE

conf_webserver_ssl.session.cache.size=

conf_webserver_ssl.session.timeout=

Entiers qui déterminent :

  • Taille du cache de session TLS/SSL (en octets) pour stocker les informations de session de plusieurs clients.
  • Durée des sessions TLS/SSL avant leur expiration (en millisecondes).