Criteri di sicurezza del contenuto

Tableau Server supporta lo standard CSP (Content Security Policy). CSP è inteso come ulteriore livello di sicurezza contro lo scripting tra i siti e altri attacchi dannosi basati sul Web. Il CSP viene implementato come intestazione di risposta HTTP che consente di specificare dove le risorse esterne, ad esempio script e immagini, possono essere caricate senza problemi.

Per ulteriori informazioni sul CSP, vedi Sito Web di Mozilla(Il collegamento viene aperto in una nuova finestra).

Configurare e abilitare il CSP

Il CSP è configurato e abilitato utilizzando il comando Opzioni di tsm configuration set. Se esegui Tableau Server in una distribuzione distribuita, esegui questi comandi nel nodo iniziale del cluster. La configurazione verrà applicata nel cluster dopo l’esecuzione di tsm pending-changes apply.

Passaggio 1: impostare direttive predefinite

Tableau Server include l’insieme di direttive predefinite nella tabella seguente.

Per impostare una direttiva, usa la sintassi tsm seguente:

tsm configuration set -k content_security_policy.directive.<directive_name> -v "<value>"

Ad esempio, per impostare la direttiva connect_src, esegui il comando seguente:

tsm configuration set -k content_security_policy.directive.connect_src -v "* unsafe-inline"

OpzioneValore di default

Descrizione

content_security_policy.directive.default_src"nessuna"

Serve come fallback per le altre direttive di recupero.

Valori validi per default_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.connect_src*

Limita gli URL che possono essere caricati utilizzando le interfacce script.

Valori validi per connect_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.script_src*

Specifica le origini valide per JavaScript.

Valori validi per script_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.style_src* "inline non sicuro"

Specifica le origini valide per i fogli di stile.

Valori validi per style_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.img_src* dati:

Specifica le origini valide di immagini e favicon.

Valori validi per img_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.font_src* dati:

Specifica le origini valide per i tipi di carattere caricati con @font-face.

Valori validi per font_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.frame_src* dati:

Specifica le origini valide per il caricamento di contesti di navigazione nidificati utilizzando elementi come <frame> e <iframe>.

Valori validi per frame_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.object_srcdati:

Specifica le origini valide per gli elementi <object>, <embed>, and <applet>.

Valori validi per object_src(Il collegamento viene aperto in una nuova finestra).

content_security_policy.directive.report_uri/vizql/csp-report

Indica l’agente utente di segnalare i tentativi di violazione del CSP. Queste segnalazioni di violazione consistono in documenti JSON inviati tramite una richiesta HTTP POST all’URI specificato.

Valori validi per report_uri(Il collegamento viene aperto in una nuova finestra).

Passaggio 2: aggiungere ulteriori direttive (facoltativo)

Le direttive predefinite incluse in Tableau Server sono un sottoinsieme di direttive supportate dal CSP.

Per un elenco completo delle direttive del CSP supportate, visita https://developer.mozilla.org/en-US/docs/Web/HTTP/headers/Content-Security-Policy(Il collegamento viene aperto in una nuova finestra).

Puoi aggiungere direttive all’insieme predefinito esistente utilizzando l’aggiunta della nuova direttiva nello spazio dei nomi content_security_policy.directive. È necessario includere il parametro --force-keys quando si aggiungono nuove direttive. La sintassi è la seguente:

tsm configuration set -k content_security_policy.directive.<new_directive_name> -v "<value>" --force-keys

Ad esempio, per aggiungere la direttiva worker-src(Il collegamento viene aperto in una nuova finestra), esegui il comando seguente:

tsm configuration set -k content_security_policy.directive.worker-src -v "none" --force-keys

Passaggio 3: specificare le direttive report-only (facoltativo)

Puoi configurare il CPS per segnalare alcune direttive e per definirne altre. Quando imposti content_security_policy.enforce_enabled su true, tutte le direttive vengono applicate (anche se content_security_policy.report_only_enable è impostato su true).

Per specificare le direttive come "report-only" e non applicate, aggiungi le direttive allo spazio dei nomi report_only_directive. È necessario includere il parametro --force-keys quando si aggiungono nuove direttive. La sintassi è la seguente:

tsm configuration set -k content_security_policy.report_only_directive.<directive_name> -v "<value>" --force-keys

Ad esempio, per segnalare solo la direttiva script_src , esegui il comando seguente:

tsm configuration set -k content_security_policy.report_only_directive.script_src -v " http://*.example.com" --force-keys

Passaggio 4: attivare il CSP su Tableau Server

Dopo aver configurato le direttive, abilita il CSP su Tableau Server.

Le opzioni seguenti vengono usate per abilitare la modalità di imposizione o solo per le direttive impostate.

OpzioneValore di default

Descrizione

content_security_policy.enforce_enabledfalso

Aggiunge un’intestazione del CSP a tutte le richieste in modo che ogni violazione venga applicata dal browser.

content_security_policy.report_only_enabledtrueAggiunge un’intestazione del CSP a tutte le richieste in modo che ogni violazione venga registrata nei log vizql-client, ma non verrà applicata dal browser.

Per attivare l’applicazione delle direttive del CSP specificate, esegui il comando seguente:

tsm configuration set -k content_security_policy.enforce_enabled -v true

Passaggio 5: eseguire l’applicazione le modifiche in sospeso tsm

Al termine della configurazione del CSP, esegui tsm pending-changes apply.

Se le modifiche in sospeso richiedono il riavvio del server, il comando pending-changes apply visualizzerà un messaggio per segnalare che verrà eseguito un riavvio. Questo messaggio viene visualizzato anche se il server è stato arrestato, ma in questo caso il riavvio non viene eseguito. Puoi eliminare la richiesta usando l’opzione --ignore-prompt, ma questo non modifica il comportamento del riavvio. Se le modifiche non richiedono un riavvio, vengono applicate senza visualizzare alcun messaggio. Per maggiori informazioni, consulta tsm pending-changes apply.

Visualizzare il report del CSP

Per visualizzare le violazioni del CSP per un determinato viz, carica il viz in un browser che include gli strumenti di sviluppo. Questo esempio usa il browser Chrome.

  1. Carica un test viz con le violazioni ospitate nella distribuzione di Tableau Server in cui è stato configurato il CSP.

  2. Immettei CTRL+Shift+I per aprire gli strumenti di sviluppo in Chrome.

  3. Fai clic sulla tabulazione Rete.

  4. Nel campo Filtro, immetti csp-reporte fai clic su Trova tutti.

    • Se non sono presenti violazioni, la ricerca non restituirà alcun report di CSP.

    • Se sono presenti violazioni, fai clic sulla tabulazione Intestazioni nel riquadro dei risultati e scorri fino alla fine per visualizzare il Payload della richiesta.

Grazie per il tuo feedback.Il tuo feedback è stato inviato. Grazie!