TLS 密码组
密码组是一组算法,用于将网络通信加密。Qlik NPrinting 组件支持各种密码组,以允许不同的安全协议。
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% 包含 HTTP/2-批准的密码套件 (%ciphername%),但它位于未经批准的密码套件之后。对于该配置,可能向不支持之前批准的密码组的客户端提供未批准的密码组并拒绝连接。
- 注意 %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-based cipher suites are disabled by default
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
// black-listed by default
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
访问自定义密码组列表
进行以下操作:
- 停止 QlikNPrintingWebEngine 服务。
- 要自定义 Qlik NPrinting web 控制台,打开 webconsoleproxy\app.conf。要自定义 NewsStand,打开 newsstandproxy\app.conf。
- 取消注释或添加 tls.ciphersuites。
- 输入逗号分隔的密码组列表以作为从最首选到最不首选的值支持。
- 保存文件。
- 重新启动 QlikNPrintingWebEngine 服务。
示例
仅设置由 RFC 7540 标准视为安全的密码组。
# set a custom set of supported cipher suites ordered from most to least preferred
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"
Qlik NPrinting 消息服务 密码组
这些是 Qlik NPrinting 消息服务 对 Qlik NPrinting 调度服务 和 Qlik NPrinting Engine 之间的 TLS 通信支持的密码组。它们受 RabbitMQ 和 TLS 1.2 支持。
如果您希望对客户端证书验证禁用 TLS 连接,并使用简单的验证,请参见:为简单验证配置消息服务。
限制
- 无法自定义用于 Qlik NPrinting 消息服务 的密码组。
支持的密码组
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
授权服务密码组
许可证服务配置参数 cipher-suites可让您在许可服务中管理自定义的密码组集合。
限制
-
升级到 Qlik NPrinting 的新版本时,将重置授权服务配置文件。因此,升级后必须再次更改 cipher-suites 参数。
-
授权服务支持有限的密码组集合。列表可能在产品升级之后更改以包括新的算法或否决其他算法。
-
这些密码组是必需的:
-
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(需要 HTTP/2 RFC)
-
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(支持纯 ECDSA 服务器)
-
支持的密码组
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA25
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
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_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA
访问自定义密码组列表
进行以下操作:
-
停止服务 QlikNPrintingScheduler、QlikNPrintingWebEngine 和 QlikNPrintingLicenseService。
-
打开配置文件 %ProgramFiles%\NPrintingServer\NPrinting\License\license.config。
-
取消注释或添加密码组参数。
-
输入逗号分隔的密码组列表以作为从最首选到最不首选的值支持。
-
保存文件。
-
重启服务。
示例
仅设置由 RFC 7540 标准视为安全的密码组。
<!--Add a custom comma-separated list of cipher suites as shown below-->
<add key="cipher-suites" value="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" />
故障排除
Qlik NPrinting Designer 错误“CEF 呈现请求失败,错误:发生了一个或多个错误。”
包含来自 Qlik Sense 连接的图像的报表模板预览失败并产生错误:“CEF 呈现请求失败,错误:发生了一个或多个错误。”
可能的原因
Qlik NPrinting Server 限制了证书集和密码组,造成呈现问题。
建议的操作
您需要启用特定密码组:
进行以下操作:
- 下载 IIS Crypto 2.0。
-
以管理员权限执行它,然后转到左侧的“密码组”选项卡。
- 应当启用以下密码组。如果无法在列表中看到它们,单击右侧的添加按钮,然后将它们键入。
- 您必须在安装 Qlik NPrinting Engine 或 Qlik NPrinting Server 的计算机上启用以下项目中的至少一个:
- TLS_RSA_WITH_AES_128_CBC_SHA
- TLS_RSA_WITH_AES_256_CBC_SHA
- TLS_RSA_WITH_AES_128_GCM_SHA256
- TLS_RSA_WITH_AES_256_GCM_SHA384
- 您必须在安装 Qlik NPrinting Server 的计算机上启用以下项目中的至少一个:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
- 单击确定,然后单击应用。
- 重新启动计算机。