Suite di crittografia TLS

Una suite di crittografia è un set di algoritmi utilizzato per crittografare le comunicazioni di rete. Gli utenti di Qlik NPrinting possono personalizzare l'elenco di suite di crittografia per rimuovere quelle considerate non sicure dal protocollo di sicurezza adottato.

Qlik NPrinting non imposta una suite di crittografia sicura specifica come obbligatoria al fine di garantire la compatibilità con i diversi sistemi operativi e piattaforme.

Il nuovo parametro di configurazione del proxy tls.ciphersuites consente di gestire un set di suite di crittografia personalizzato nel proxy di Qlik NPrinting.

I file di configurazione del proxy sono i seguenti:

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

Tali file contengono l'elenco di proprietà di configurazione personalizzabili, tutte commentate per impostazione predefinita. Tali file non vengono modificati quando si esegue l'aggiornamento alle nuove versioni di Qlik NPrinting. Pertanto, tale proprietà di configurazione non risulta immediatamente visibile quando si esegue l'aggiornamento dalle versioni precedenti. In questo modo, si evita di perdere le impostazioni.

Limitazioni

Il proxy di Qlik NPrinting supporta un set limitato di suite di crittografia. L'elenco potrebbe essere modificato dopo un aggiornamento del prodotto affinché vengano inclusi i nuovi algoritmi o esclusi gli altri.

Alcune delle suite di crittografia supportate sono considerate non sicure in TLS 1.2 dal protocollo HTTP/2. Devono essere inserite nell'elenco di valori personalizzati dopo le crittografie in black list. In caso contrario, il proxy non può essere avviato, e verrà visualizzato il seguente messaggio di errore:

"http2: TLSConfig.CipherSuites index %index% contains an HTTP/2-approved cipher suite (%ciphername%), but it comes after unapproved cipher suites."

Con questa configurazione, ai client che non supportano le precedenti suite di crittografia approvate potrebbe essere assegnata una suite non approvata e rifiutata la connessione.

Si noti che %index% e %ciphername% sono variabili che mostreranno:

  • %index%: il nome dell'indice.
  • %ciphername%: il nome della suite di crittografia che ha causato il problema.

La suite di crittografia TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (obbligatoria per HTTP/2 RFC) o TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (per supportare i server solo ECDSA) sono obbligatorie. In caso contrario, il proxy non può essere avviato, e verrà visualizzato il seguente messaggio di errore:

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

Suite di crittografia supportate:

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

Accesso all'elenco di suite di crittografia personalizzate

Procedere come segue:

  1. Arrestare il servizio QlikNPrintingWebEngine.
  2. Per personalizzare Qlik NPrinting web console, aprire webconsoleproxy\app.conf. Per personalizzare NewsStand, aprire newsstandproxy\app.conf.
  3. Eliminare il commento o aggiungere tls.ciphersuites.
  4. Immettere l'elenco separato da virgole di suite di crittografia da supportare come valore partendo da quelle prioritarie fino ad arrivare a quelle meno importanti.
  5. Salvare il file.
  6. Riavviare il servizio QlikNPrintingWebEngine.

Esempio

Impostare solo le suite di crittografia considerate sicure dallo standard RFC 7540.

# impostare un set personalizzato di suite di crittografia supportate partendo da quelle prioritarie fino ad arrivare a quelle meno importanti
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"