Accéder au contenu principal Passer au contenu complémentaire

Configurer le SSL pour Talend JobServer

Configurez le transport SSL, le KeyStore et gérez les suites cryptographiques pour chiffrer et sécuriser vos canaux de communication de Talend JobServer.

Procédure

  1. Activez le SSL dans le fichier jobserver/agent/conf/TalendJobServer.properties.
    org.talend.remote.jobserver.server.TalendJobServer.USE_SSL=true
  2. Toujours dans le fichier jobserver/agent/conf/TalendJobServer.properties, spécifiez les paramètres du KeyStore et du TrustStore pour le serveur.
    org.talend.remote.server.ssl.keyStore=<path_to_jobserver_keystore>
    org.talend.remote.server.ssl.keyStorePassword=<jobserver_keystore_password>
    org.talend.remote.server.ssl.trustStore=<path_to_jobserver_truststore>
    org.talend.remote.server.ssl.trustStorePassword=<jobserver_truststore_password>
    org.talend.remote.server.ssl.enabled.protocols=TLSv1.2,TLSv1.3
    org.talend.remote.server.ssl.authenticate=<true or false>
    Note InformationsRemarque : À propos du KeyStore et du TrustStore :
    • KeyStore du serveur et TrustStore du client : Le KeyStore du serveur contient la clé privée et la chaîne de certification du serveur. Le TrustStore du client doit contenir le certificat signé du serveur (exporté depuis le KeyStore du serveur à l'aide de l'outil keytool -export) ou le certificat de l'autorité de certification ayant signé le certificat du serveur, afin que le client puisse valider l'identité du serveur.

      Lors de l'exécution, la couche TLS du client (Transport Layer Security) vérifie que le certificat du serveur est fiable. Pour ce faire, elle suit la chaîne de certification du serveur, via les éventuels certificats intermédiaires, jusqu'à trouver un certificat déjà indiqué comme fiable dans son TrustStore. Si la vérification échoue, la connexion sécurisée (handshake) est arrêtée. En d'autres termes, le client établit la connexion uniquement lorsque le certificat du serveur correspond à une entrée de son TrustStore.

      S'il n'y a pas de TrustStore spécifié côté client, ce dernier utilise le TrustStore de la JVM par défaut, depuis $JAVA_HOME/lib/security/cacerts. Cette configuration par défaut s'explique par le fait que la propriété org.talend.remote.client.ssl.disablePeerTrust côté client est configurée à false (faux) par défaut.

    • TrustStore du serveur et KeyStore du client : Le TrustStore du serveur est utilisé pour l'autorisation client basée sur un certificat, assurant que le serveur vérifie l'identité du KeyStore du client.
      • Si la propriété org.talend.remote.server.ssl.authenticate est configurée à true (vrai), le client de Talend JobServer (Talend Administration Center et Studio Talend) doit définir un KeyStore contenant une chaîne de certification permettant au certificat d'un client de correspondre à une entrée du TrustStore de Talend JobServer.
      • Si org.talend.remote.server.ssl.authenticate=false sur le serveur, l'autorisation client est désactivée et le KeyStore du client n'a aucun effet.
  3. Spécifiez les paramètres du KeyStore et du TrustStore pour le client.
    -Dorg.talend.remote.client.ssl.keyStore=<path_to_client_keystore>
    -Dorg.talend.remote.client.ssl.keyStorePassword=<client_keystore_password>
    -Dorg.talend.remote.client.ssl.trustStore=<path_to_client_truststore>
    -Dorg.talend.remote.client.ssl.trustStorePassword=<client_truststore_password>
    -Dorg.talend.remote.client.ssl.enabled.protocols=TLSv1.2,TLSv1.3
    -Dorg.talend.remote.client.ssl.disablePeerTrust=false
    • Pour le Studio Talend, il est recommandé de spécifier ces propriétés système dans studio/Talend-Studio-linux-gtk-x86_64.ini ou studio/Talend-Studio-gtk-aarch64.ini.
    • Pour Talend Administration Center, vous pouvez utiliser tac/apache-tomcat/bin/setenv.sh pour étendre la spécification JAVA_OPTS :

      export JAVA_OPTS="$JAVA_OPTS -Xmx2048m -Dfile.encoding=UTF-8 -Dorg.talend.remote.client.ssl.keyStore=..."
  4. Écrasez le fichier du KeyStore du serveur existant (facultatif).

    Utilisez l'utilitaire Keytool pour générer un nouveau KeyStore de serveur et configurez l'emplacement côté serveur. Pour plus d'informations, consultez Configurer un KeyStore SSL personnalisé (facultatif).

  5. Gérer les suites cryptographiques SSL (facultatif).
    Les "ciphers SSL" sont des algorithmes de cryptage utilisés pour établir des communications sécurisées. Certaines suites cipher présentent un niveau de sécurité inférieur à d'autres, et il se peut que vous souhaitiez spécifier celles à activer ou désactiver.

    Vous pouvez utiliser une liste positive ou négative pour gérer les suites cryptographiques SSL :

    • Désactivez les suites cryptographiques spécifiques : Ajoutez la liste des chiffrements à désactiver dans le fichier <root>/conf/TalendJobServer.properties :
      org.talend.remote.jobserver.server.TalendJobServer.DISABLED_CIPHER_SUITES=TLS_RSA_WITH_NULL_MD5,SSL_RSA_WITH_RC4_128_MD5,...
    • Activez les suites cryptographiques spécifiques (liste positive) :
      • Server (Serveur) : Définissez une liste positive exclusive de chiffrements utilisant la propriété org.talend.remote.server.ssl.enabled.cipher.suites :
        org.talend.remote.server.ssl.enabled.cipher.suites=TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,...
      • Client : Définissez une liste positive exclusive de chiffrements utilisant la propriété org.talend.remote.client.ssl.enabled.cipher.suites :
        -Dorg.talend.remote.client.ssl.enabled.cipher.suites=TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,...
      Notez que les suites cryptographiques présentées dans les exemples ci-dessus ne le sont qu'à des fins de démonstration. Consultez toujours votre équipe de sécurité afin de déterminer les suites cryptographiques répondant aux prérequis en sécurité de votre entreprise.
      Vous pouvez utiliser l'utilitaire Keytool pour identifier les suites cryptographiques supportées par le système d'exploitation des machines exécutant Talend JobServer et ses clients. Exécutez la commande suivante :
      keytool -showinfo -tls
      La sortie fournit la liste des suites cryptographiques supportées, comme ceci :
      Enabled Protocols
      -----------------
      TLSv1.3
      TLSv1.2
      
      Enabled Cipher Suites
      ---------------------
      TLS_AES_256_GCM_SHA384
      TLS_AES_128_GCM_SHA256
      TLS_CHACHA20_POLY1305_SHA256
      TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
      ...
      <!-- Skipped for brevity -->
      ...
      TLS_RSA_WITH_AES_128_CBC_SHA
      TLS_EMPTY_RENEGOTIATION_INFO_SCSV

Résultats

Le SSL est activé, les paramètres du KeyStore et du TrustStore sont configurés et les suites cryptographiques sont correctement gérées.

Configurer un KeyStore SSL personnalisé (facultatif)

Vous pouvez choisir un autre KeyStore de serveur, si nécessaire.

About this task

Pour écraser le fichier du KeyStore du serveur existant, vous devez :
  1. générer un nouveau KeyStore via l'outil utilitaire nommé Keytool (Key and Certificate Management Tool),
  2. configurer l'emplacement du nouveau KeyStore,
  3. activer le KeyStore SSL du côté serveur.

Générer un KeyStore

Procedure

  1. Ouvrez le terminal et changez le répertoire en <root>/keystores, où <root> est le chemin d'accès à Talend JobServer.
  2. Saisissez keytool -genkey -keystore <myKeystoreName> -keyalg RSA, où <myKeystoreName> fait référence au nom du KeyStore que vous créez.
    Dans l'interface de commande, il vous est demandé de saisir deux fois le mot de passe du KeyStore.
  3. Saisissez deux fois le mot de passe pour votre KeyStore, puis saisissez les informations facultatives, comme votre nom, le nom de votre entreprise ou votre pays, si nécessaire.
  4. Saisissez yes afin de confirmer vos informations.
  5. Saisissez le mot de passe précédemment défini. Le nouveau fichier KeyStore a été créé dans <root>/keystores.

Configurer l'emplacement du nouveau KeyStore

Pour configurer l'emplacement du nouveau KeyStore, vous pouvez soit modifier la variable d'environnement JAVA_OPTS, soit modifier le script de démarrage de Talend JobServer.

Procedure

  1. Modifiez la variable d'environnement JAVA_OPTS.
  2. Ajoutez les lignes suivantes :
    -Djavax.net.ssl.keyStore=/<myDirectory>/<myKeystore>
                               -Djavax.net.ssl.keyStorePassword=<myPassword>
    Dans ces lignes, <myDirectory> est le répertoire d'installation de votre KeyStore, <myKeystore> est le nom de votre KeyStore et <myPassword> est le mot de passe précédemment défini pour votre KeyStore.
    Si vous n'avez pas encore créé la variable d'environnement JAVA_OPTS, vous devez la créer avant de terminer cette procédure.
    Vous pouvez également définir l'emplacement du nouveau KeyStore dans start_rs.sh comme montré dans la capture suivante :

Configurer le service

Procedure

Créez un script init avec des commandes start et stop, comme décrit dans Installer Talend JobServer en tant que service sur les systèmes Linux basés systemd.

What to do next

Activez le protocole de sécurisation des échanges (SSL) comme indiqué dans Activer le cryptage SSL dans Talend Runtime.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.