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. 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.

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.