Configurer TLS pour l'interface utilisateur de gestion

Edge for Private Cloud v4.19.01

Par défaut, vous accédez à l'interface utilisateur de gestion Edge via HTTP en utilisant l'adresse IP du nœud du serveur de gestion et le port 9000. Exemple :

http://ms_IP:9000

Vous pouvez également configurer l'accès TLS à l'interface utilisateur de gestion afin de pouvoir y accéder sous la forme suivante :

https://ms_IP:9443

Dans cet exemple, vous configurez l'accès TLS pour utiliser le port 9443. 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é.

Assurez-vous que votre port TLS est ouvert

La procédure décrite dans cette section configure TLS pour utiliser le port 9443 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 9443 -j ACCEPT --verbose

Configurer TLS

Procédez comme suit pour configurer l'accès TLS à l'interface utilisateur de gestion :

  1. Générez le fichier JKS du keystore contenant votre certification TLS et votre clé privée, puis copiez-le sur le nœud du serveur de gestion. Pour en savoir plus, consultez Configurer TLS/SSL pour Edge sur site.
  2. Exécutez la commande suivante pour configurer TLS :
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl
  3. Saisissez le numéro de port HTTPS, par exemple 9443.
  4. Indiquez si vous souhaitez désactiver l'accès HTTP à l'UI de gestion. Par défaut, l'UI de gestion est accessible via HTTP sur le port 9000.
  5. Saisissez l'algorithme du keystore. La valeur par défaut est JKS.
  6. Saisissez le chemin absolu au fichier JKS du keystore.

    Le script copie le fichier dans le répertoire /opt/apigee/customer/conf du nœud du serveur de gestion et remplace le propriétaire du fichier par "apigee".

  7. Saisissez le mot de passe du keystore en texte clair.
  8. Le script redémarre ensuite l'UI de gestion Edge. Après le redémarrage, l'UI de gestion est accessible via TLS.

    Vous pouvez voir ces paramètres dans /opt/apigee/etc/edge-ui.d/SSL.sh.

Utiliser un fichier de configuration pour configurer TLS

Au lieu de suivre la procédure ci-dessus, vous pouvez transmettre un fichier de configuration à la commande à l'étape 2 de la procédure. Vous devrez utiliser cette méthode si vous souhaitez définir des propriétés TLS facultatives.

Pour utiliser un fichier de configuration, créez-en un et ajoutez les propriétés suivantes :

HTTPSPORT=9443
DISABLE_HTTP=y
KEY_ALGO=JKS
KEY_FILE_PATH=/opt/apigee/customer/application/mykeystore.jks
KEY_PASS=clearTextKeystorePWord

Enregistrez le fichier dans un répertoire local sous le nom de votre choix. Utilisez ensuite la commande suivante pour configurer TLS :

/opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

où configFile est le chemin d'accès complet au fichier que vous avez enregistré.

Configurer l'UI Edge lorsque TLS se termine sur l'équilibreur de charge

Si vous disposez d'un équilibreur de charge qui transfère les requêtes vers l'UI Edge, vous pouvez choisir d'interrompre la connexion TLS sur l'équilibreur de charge, puis de faire en sorte que l'équilibreur de charge transfère les requêtes vers l'UI Edge via HTTP. Cette configuration est compatible, mais vous devez configurer l'équilibreur de charge et l'interface utilisateur Edge en conséquence.

La configuration supplémentaire est requise lorsque l'UI Edge envoie des e-mails aux utilisateurs pour définir leur mot de passe lors de la création de l'utilisateur ou lorsque l'utilisateur demande à réinitialiser un mot de passe perdu. Cet e-mail contient une URL que l'utilisateur sélectionne pour définir ou réinitialiser un mot de passe. Par défaut, si l'interface utilisateur Edge n'est pas configurée pour utiliser TLS, l'URL de l'e-mail généré utilise le protocole HTTP, et non HTTPS. Vous devez configurer l'équilibreur de charge et l'interface utilisateur Edge pour générer une adresse e-mail utilisant HTTPS.

Pour configurer l'équilibreur de charge, assurez-vous qu'il définit l'en-tête suivant sur les requêtes transmises à l'UI Edge :

X-Forwarded-Proto: https

Pour configurer l'interface utilisateur Edge, procédez comme suit :

  1. Ouvrez le fichier /opt/apigee/customer/application/ui.properties dans un éditeur. Si le fichier n'existe pas, créez-le :
    vi /opt/apigee/customer/application/ui.properties
  2. Définissez la propriété suivante dans ui.properties :
    conf/application.conf+trustxforwarded=true
  3. Enregistrez les modifications apportées à ui.properties.
  4. Redémarrez l'interface utilisateur Edge :
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Définir des propriétés TLS facultatives

L'interface utilisateur Edge est compatible avec les propriétés de configuration TLS facultatives que vous pouvez utiliser pour définir les éléments suivants :

  • Protocole TLS par défaut
  • Liste des protocoles TLS compatibles
  • Algorithmes TLS compatibles
  • Algorithmes de chiffrement TLS compatibles

Ces paramètres facultatifs ne sont disponibles que lorsque vous définissez la propriété de configuration suivante dans un fichier de configuration, comme décrit dans Utiliser un fichier de configuration pour configurer TLS :

TLS_CONFIGURE=y

Le tableau suivant décrit ces propriétés :

Propriété Description
TLS_PROTOCOL Définit le protocole TLS par défaut pour l'interface utilisateur Edge. Par défaut, il s'agit de TLS 1.2. Les valeurs valides sont TLSv1.2, TLSv1.1 et TLSv1.
TLS_ENABLED_PROTOCOL

Définit la liste des protocoles activés sous la forme d'un tableau d'éléments séparés par une virgule. Exemple :

TLS_ENABLED_PROTOCOL=[\"TLSv1.2\", \"TLSv1.1\", \"TLSv1\"]

Notez que vous devez échapper le caractère ".

Par défaut, tous les protocoles sont activés.

TLS_DISABLED_ALGO

Définit les suites de chiffrement désactivées et peut également être utilisé pour empêcher l'utilisation de clés de petite taille pour le handshake TLS. Il n'existe pas de valeur par défaut.

Les valeurs transmises à TLS_DISABLED_ALGO correspondent aux valeurs autorisées pour jdk.tls.disabledAlgorithms, comme décrit ici. Toutefois, vous devez échapper les espaces lorsque vous définissez TLS_DISABLED_ALGO :

TLS_DISABLED_ALGO=EC\ keySize\ <\ 160,RSA\ keySize\ <\ 2048
TLS_ENABLED_CIPHERS

Définit la liste des algorithmes de chiffrement TLS disponibles sous la forme d'un tableau d'éléments séparés par une virgule. Exemple :

TLS_ENABLED_CIPHERS=[\"TLS_DHE_RSA_WITH_AES_128_CBC_SHA\",
\"TLS_DHE_DSS_WITH_AES_128_CBC_SHA\"]

Notez que vous devez échapper le caractère ".

La liste par défaut des algorithmes de chiffrement activés est la suivante :

"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"SSL_RSA_WITH_RC4_128_SHA",
"SSL_RSA_WITH_RC4_128_MD5",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"

Consultez la liste des algorithmes de chiffrement disponibles sur cette page.

Désactiver les protocoles TLS

Pour désactiver les protocoles TLS, vous devez modifier le fichier de configuration, décrit dans Utiliser un fichier de configuration pour configurer TLS, comme suit :

  1. Ouvrez le fichier de configuration dans un éditeur.
  2. Pour désactiver un seul protocole TLS (par exemple, TLSv1.0), ajoutez ce qui suit au fichier de configuration :
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Pour désactiver plusieurs protocoles (par exemple, TLSv1.0 et TLSv1.1), ajoutez ce qui suit au fichier de configuration :

    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1, tlsv1.1"
  3. Enregistrez les modifications apportées au fichier de configuration.
  4. Exécutez la commande suivante pour configurer TLS :
    /opt/apigee/apigee-service/bin/apigee-service edge-ui configure-ssl -f configFile

    où configFile est le chemin d'accès complet au fichier de configuration.

  5. Redémarrez l'interface utilisateur Edge :
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Utiliser des cookies sécurisés

Apigee Edge pour Private Cloud permet d'ajouter l'option secure à l'en-tête Set-Cookie pour les réponses de l'interface utilisateur Edge. Si cet indicateur est présent, le cookie ne peut être envoyé que via des canaux compatibles TLS. S'il n'est pas présent, le cookie peut être envoyé sur n'importe quel canal, qu'il soit sécurisé ou non.

Les cookies sans l'indicateur secure peuvent potentiellement permettre à un pirate informatique de capturer et de réutiliser le cookie ou de détourner une session active. Par conséquent, il est recommandé d'activer ce paramètre.

Pour définir l'option secure pour les cookies de l'interface utilisateur Edge :

  1. Ouvrez le fichier suivant dans un éditeur de texte :
    /opt/apigee/customer/application/ui.properties

    Si le fichier n'existe pas, créez-le.

  2. Définissez la propriété conf_application_session.secure sur true dans le fichier ui.properties, comme illustré dans l'exemple suivant :
    conf_application_session.secure=true
  3. Enregistrez les modifications.
  4. Redémarrez l'interface utilisateur Edge à l'aide de l'utilitaire apigee-serice, comme illustré dans l'exemple suivant :
    /opt/apigee/apigee-service/bin/apigee-service edge-ui restart

Pour vérifier que la modification fonctionne, vérifiez les en-têtes de réponse de l'interface utilisateur Edge à l'aide d'un utilitaire tel que curl. Exemple :

curl -i -v https://edge_UI_URL

L'en-tête doit contenir une ligne semblable à celle-ci :

Set-Cookie: secure; ...

Désactiver TLS sur l'interface utilisateur Edge

Pour désactiver TLS sur l'interface utilisateur Edge, utilisez la commande suivante :

/opt/apigee/apigee-service/bin/apigee-service edge-ui disable-ssl