Conjuntos de cifrado TLS

Un conjunto o suite de cifrado es un conjunto de algoritmos utilizados para encriptar la comunicación en red. Los usuarios de Qlik NPrinting pueden personalizar la lista de conjuntos de cifrado para eliminar aquellos considerados no seguros por su protocolo de seguridad.

Qlik NPrinting no establece un conjunto de cifrado seguro específico como obligatorio para garantizar la compatibilidad con diferentes sistemas operativos y plataformas.

El nuevo parámetro de configuración de proxy tls.ciphersuites le permite gestionar un conjunto personalizado de suites de cifrado en el proxy de Qlik NPrinting.

Los archivos de configuración del proxy son:

  • %ProgramData%\NPrinting\webconsoleproxy\app.conf
  • %ProgramData%\NPrinting\newsstandproxy\app.conf

Estos archivos contienen la lista de propiedades de configuración personalizables, todas comentadas por defecto. Estos archivos no cambian cuando se actualiza a nuevas versiones de Qlik NPrinting. Por lo tanto, esta propiedad de configuración no está visible de inmediato cuando se actualiza de versiones anteriores. Esto garantiza que no perderá sus parámetros.

Limitaciones

El proxy de Qlik NPrinting admite un conjunto limitado de suites de cifrado. La lista puede cambiar después de una actualización del producto para incluir nuevos algoritmos o desaprobar otros.

Algunos de los conjuntos de cifrado compatibles se consideran TLS 1.2 no seguros por el protocolo HTTP/2. Deben colocarse en la lista de valores personalizados después de cualquier cifra no incluida en la lista negra. De lo contrario, el proxy no se podrá iniciar y verá aparecer este error:

"http2: El ínidice TLSConfig.CipherSuites %index% contiene un conjunto de cifrado aprobado por HTTP/2 (%ciphername%), pero viene después de conjuntos de cifrado no aprobados.

Con esta configuración, los clientes que no admiten suites de cifrado aprobadas previamente pueden recibir una no aprobada y rechazar la conexión.

Observe que %index% y %ciphername% son variables que mostrarán:

  • %index%: el nombre del índice.
  • %ciphername%: el nombre del conjunto de cifrado que ocasionó el problema.

El conjunto de cifrado TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (obligatorio HTTP/2 RFC) o TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (para admitir servidores ECDSA solamente) son obligatorios. De lo contrario, el proxy no se podrá iniciar y verá este error:

http2: TLSConfig.CipherSuites is missing an HTTP/2-required AES_128_GCM_SHA256 cipher.

Conjuntos de cifrado compatibles:

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
// Los conjuntos de cifrado basados en RC4 están deshabilitados de forma predeterminada
TLS_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
// en la lista negra por defecto
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

Acceder a la lista de conjuntos de cifrado personalizados

Haga lo siguiente:

  1. Detenga el servicio QlikNPrintingWebEngine.
  2. Para personalizar la consola Qlik NPrinting web console, abra webconsoleproxy\app.conf. Para personalizar NewsStand, abra newsstandproxy\app.conf.
  3. Descomente o añada tls.ciphersuites.
  4. Introduzca la lista de conjuntos de cifrado separados por comas para admitir como el valor de mayor a menor preferencia.
  5. Guarde el archivo.
  6. Reinicie el servicio QlikNPrintingWebEngine.

Ejemplo

Configure solo los conjuntos de cifrado considerados seguros por el estándar RFC 7540.

# establecer un conjunto personalizado de conjuntos de cifrado admitidos ordenados de mayor a menor preferencia
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"