TLS 密码组
密码组是一组算法,用于将网络通信加密。Qlik NPrinting 用户可自定义密码组列表以删除被其安全协议视为不安全的那些密码组。
Qlik NPrinting 不会将特定安全密码组设置为强制性,以确保与不同操作系统和平台的兼容性。
新的代理配置参数 tls.ciphersuites 可让您在 Qlik NPrinting 代理中管理自定义的密码组集合。
代理配置文件为:
- %ProgramData%\NPrinting\webconsoleproxy\app.conf
- %ProgramData%\NPrinting\newsstandproxy\app.conf
这些文件包含可自定义的配置属性列表,默认都是注释掉的。如果您升级至新版本的 Qlik NPrinting,这些文件不会更改。因此,该配置属性并非在您从旧版本升级之后立即可见。这确保您不会丢失自己的设置。
限制
Qlik NPrinting 代理支持有限的密码组集合。列表可能在产品升级之后更改以包括新的算法或否决其他算法。
一些受支持的密码组被 HTTP/2 协议视为 TLS 1.2 不安全。必须将它们置于任何未列入黑名单密码之后的自定义值列表中。否则,代理会无法启动,您将看到以下错误:
"http2: TLSConfig.CipherSuites index %index% contains an HTTP/2-approved cipher suite (%ciphername%), but it comes after unapproved cipher suites.”
对于该配置,可能向不支持之前批准的密码组的客户端提供未批准的密码组并拒绝连接。
注意 %index% 和 %ciphername% 为变量,其将示出:
- %index%:索引的名称。
- %ciphername%:导致问题的密码组的名称。
密码组 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(HTTP/2 RFC 所需)或 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(用于支持仅限 ECDSA 的服务器)是必需的。否则,代理会无法启动,您将看到以下错误:
http2: TLSConfig.CipherSuites 缺少 HTTP/2 所需的 AES_128_GCM_SHA256 密码。
支持的密码组:
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA256
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
// 默认禁用基于 RC4 的密码组
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
// 默认被列入黑名单
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
访问自定义密码组列表
进行以下操作:
- 停止 QlikNPrintingWebEngine 服务。
- 要自定义 Qlik NPrinting web console,打开 webconsoleproxy\app.conf。要自定义 NewsStand,打开 newsstandproxy\app.conf。
- 取消注释或添加 tls.ciphersuites。
- 输入逗号分隔的密码组列表以作为从最首选到最不首选的值支持。
- 保存文件。
- 重新启动 QlikNPrintingWebEngine 服务。
示例
仅设置由 RFC 7540 标准视为安全的密码组。
# 设置自定义的支持的密码组集合,从最首选到最不首选排序
tls.ciphersuites = "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"