Configurer TLS pour l'interface utilisateur de gestion

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

http://ms_IP:9000

Vous pouvez également configurer l'accès TLS à l'interface utilisateur Edge afin de pouvoir y accéder dans au format suivant:

https://ms_IP:9443

Dans cet exemple, vous configurez l'accès TLS pour utiliser le port 9443. Cependant, 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 condition est que votre pare-feu autorise le trafic sur le port spécifié.

Vérifiez que votre port TLS est ouvert

La procédure décrite dans cette section permet de configurer le protocole TLS afin qu'il utilise 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 la console Google Cloud. 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
<ph type="x-smartling-placeholder">

Configurer TLS

Pour configurer l'accès TLS à l'interface utilisateur de gestion, procédez comme suit:

  1. Générez le fichier JKS du keystore contenant votre certification TLS, votre clé privée et votre copie vers le nœud du serveur de gestion. Pour en savoir plus, consultez la page Configurer TLS/SSL pour Edge On Premises.
  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'interface utilisateur de gestion. Par défaut, l'administrateur L'interface utilisateur 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 vers le fichier JKS du keystore.

    Le script copie le fichier dans le répertoire /opt/apigee/customer/conf de la de serveur de gestion, et change la propriété du fichier à « apigee ».

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

    Ces paramètres sont disponibles 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 devez utiliser cette méthode si vous souhaitez définir des propriétés TLS facultatives.

Pour utiliser un fichier de configuration, créez un fichier 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

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

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

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

La configuration supplémentaire est requise lorsque l'interface utilisateur Edge envoie des e-mails aux utilisateurs pour définir leur mot de passe lorsque l’utilisateur est créé ou lorsque l’utilisateur demande la réinitialisation d’un mot de passe perdu. Cette adresse 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 est s'il n'est pas configuré pour utiliser le protocole TLS, l'URL figurant dans 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 qui utilise HTTPS

Pour configurer l'équilibreur de charge, assurez-vous qu'il définit l'en-tête suivant pour les requêtes transférées à l'interface utilisateur Edge:

X-Forwarded-Proto: https

Pour configurer l'interface utilisateur Edge:

  1. Ouvrir /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 prend en charge 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 le 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 de valeurs séparées par des virgules. 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 éviter que des clés de petite taille ne soient utilisé 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 caractères d'espace 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 de valeurs séparées par des virgules. 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 des algorithmes de chiffrement activés par défaut 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"

Rechercher la liste des algorithmes de chiffrement disponibles cliquez ici.

Désactiver des protocoles TLS

Pour désactiver les protocoles TLS, vous devez modifier le fichier de configuration, décrit dans la section 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 les éléments suivants : au fichier de configuration:
    TLS_CONFIGURE=y
    TLS_DISABLED_ALGO="tlsv1"

    Pour désactiver plusieurs protocoles (TLSv1.0 et TLSv1.1, par exemple) : Ajoutez la commande suivante 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

    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'indicateur secure à l'en-tête Set-Cookie pour des réponses de l'interface utilisateur Edge. Si cet indicateur est présent, alors le cookie ne peut être envoyé Canaux TLS. S'il n'est pas présent, le cookie peut être envoyé sur n'importe quel canal, que ce soit qu’elle soit sécurisée ou non.

Les cookies sans l'indicateur secure peuvent permettre à un pirate informatique de capturer et réutiliser le cookie ou pirater une session active. Il est donc recommandé de l'activer .

Pour définir l'indicateur 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 ui.properties, comme le montre 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 dans l'exemple suivant. affiche:
    /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 en utilisant un utilitaire tel que curl ; Par 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