跳到主要内容 跳到补充内容

Talend JobServer 配置 SSL

配置 SSL 传输、设置密钥库和管理密码套件,以加密和保护您 Talend JobServer 的通信信道。

步骤

  1. jobserver/agent/conf/TalendJobServer.properties 文件中启用 SSL。
    org.talend.remote.jobserver.server.TalendJobServer.USE_SSL=true
  2. 仍然在jobserver/agent/conf/TalendJobServer.properties 文件中,为服务器指定密钥库和信任库设置。
    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>
    信息注释注: 关于密钥库和信任库:
    • 服务器密钥库和客户端信任库:服务器密钥库保存服务器的私钥和证书链。客户端信任库必须包含服务器的签名证书(使用 keytool -export 从服务器密钥库导出)或签署服务器证书的证书颁发机构 (CA) 证书,以便客户端可以验证服务器的身份。

      在运行时,客户端的 TLS(传输层安全)堆栈验证它是否可以信任服务器的证书。为此,它沿着服务器的证书链,通过任何中间证书,直到在其信任库中找到已受信任的证书。如果此验证失败,则安全连接(握手)将中止。换句话说,客户端只有在将服务器的证书与其信任库中的条目匹配时才会连接。

      如果客户端没有指定信任库,客户端将从 $JAVA_HOME/lib/security/cacerts 使用其 JVM 的默认信任库。这是因为客户端的 org.talend.remote.client.ssl.disablePeerTrust 属性默认为 false

    • 服务器信任库和客户端密钥库:服务器信任库用于基于证书的客户端授权,确保服务器验证客户端密钥库的身份。
      • 如果属性 org.talend.remote.server.ssl.authenticate 设置为 true,则 Talend JobServer 客户端(Talend Administration CenterTalend Studio)必须必须定义一个密钥库,其中包含一个证书链,客户端的证书通过该证书链与 Talend JobServer 信任库中的条目相匹配。
      • 如果服务器上的 org.talend.remote.server.ssl.authenticate=false ,则客户端授权被禁用,客户端密钥库无效。
  3. 为客户端指定密钥库和信任库设置。
    -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
    • 对于 Talend Studio,建议在 studio/Talend-Studio-linux-gtk-x86_64.inistudio/Talend-Studio-gtk-aarch64.ini 中指定这些系统属性。
    • 对于 Talend Administration Center,您可以使用 tac/apache-tomcat/bin/setenv.sh 来扩展 JAVA_OPTS 规范:

      export JAVA_OPTS="$JAVA_OPTS -Xmx2048m -Dfile.encoding=UTF-8 -Dorg.talend.remote.client.ssl.keyStore=..."
  4. 管理 SSL 密码套件(可选)。
    SSL 密码是用于建立安全通信的加密算法。某些密码套件提供的安全级别低于其他密码套件,您可能需要指定要启用或禁用的密码。

    您可以使用肯定列表或否定列表来管理 SSL 密码套件:

    • 禁用特定密码套件:在 <root>/conf/TalendJobServer.properties 文件中添加要禁用的密码列表:
      org.talend.remote.jobserver.server.TalendJobServer.DISABLED_CIPHER_SUITES=TLS_RSA_WITH_NULL_MD5,SSL_RSA_WITH_RC4_128_MD5,...
    • 启用特定密码套件(肯定列表):
      • 服务器: 使用属性 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,...
      • 客户端:使用属性 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,...
      请注意,上述示例中所示的密码套件仅用于演示目的。始终咨询您的安全团队,以确定哪些密码套件符合您组织的安全要求。
      您可以使用 Keytool 实用程序来识别运行 Talend JobServer 的计算机及其客户端的操作系统支持的密码套件。运行以下命令:
      keytool -showinfo -tls
      输出提供了支持的密码套件列表,可能和以下所示类似:
      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

结果

SSL 已启用,密钥库和信任库设置已配置,密码套件已成功得到管理。

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!