Säkerhetspolicy för innehåll

Tableau-servern stöder standarden Content Security Policy (CSP). CSP är avsett att vara ytterligare ett säkerhetslager mot s.k. ”cross-site scripting” och andra skadliga webbaserade angrepp. CSP implementeras som ett HTTP-svarshuvud som gör att du kan ange varifrån externa resurser såsom skript och bilder kan laddas på ett säkert sätt.

Mer information om CSP finns på Mozillas webbplats(Länken öppnas i ett nytt fönster).

Konfigurera och aktivera CSP

CSP konfigureras och aktiveras med hjälp av kommandot Alternativ för tsm configuration set. Om du kör Tableau Server i en distribuerad driftsättning så kör du de här kommandona på den initiala noden i klustret. Konfigurationen tillämpas över hela klustret efter att du kört tsm pending-changes apply.

Steg 1: Ange standarddirektiv

Tableau Server har uppsättningen standarddirektiv som visas i tabellen nedan.

Använd följande tsm-syntax för att ställa in ett direktiv:

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

Om du till exempel vill ställa in direktivet connect_src kör du följande kommando:

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

AlternativStandardvärde

Beskrivning

content_security_policy.directive.default_src”inget”

Fungerar som reserv för de andra hämtningsdirektiven.

Giltiga värden för default_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.connect_src*

Begränsar URL:erna som kan laddas med hjälp av skriptgränssnitt.

Giltiga värden för connect_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.script_src*

Anger giltiga källor för JavaScript.

Giltiga värden för script_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.style_src* ”unsafe-inline”

Anger giltiga källor för formatmallar.

Giltiga värden för style_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.img_src* data:

Anger giltiga källor för bilder och sajtikoner.

Giltiga värden för img_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.font_src* data:

Anger giltiga källor för teckensnitt som laddas med hjälp av @font-face.

Giltiga värden för font_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.frame_src* data:

Anger giltiga källor för kapslade webbläsarkontexter som laddas med hjälp av element som <frame> och <iframe>.

Giltiga värden för frame_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.object_srcdata:

Anger giltiga källor för elementen <object>, <embed> och <applet>.

Giltiga värden för object_src(Länken öppnas i ett nytt fönster).

content_security_policy.directive.report_uri/vizql/csp-report

Instruerar användaragenten att rapportera försök till att bryta mot CSP. De här överträdelserapporterna består av JSON-dokument som skickas via en HTTP POST-begäran till den angivna URI:n.

Giltiga värden för report_uri(Länken öppnas i ett nytt fönster).

Steg 2: Lägg till ytterligare direktiv (valfritt)

Standarddirektiven som ingår i Tableau Server är en delmängd av direktiv som stöds av CSP.

En fullständig lista över CSP-direktiv som stöds finns på https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy(Länken öppnas i ett nytt fönster).

Du kan lägga till direktiv i den befintliga standarduppsättningen genom att lägga till det nya direktivet i namnrymden content_security_policy.directive. Du måste inkludera parametern --force-keys när du lägger till nya direktiv. Syntax är enligt följande:

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

Om du till exempel vill lägga till direktivet worker-src(Länken öppnas i ett nytt fönster) kör du följande kommando:

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

Steg 3: Ange report-only-direktiv (valfritt)

Du kan konfigurera CPS:er för att rapportera vissa direktiv och för att genomdriva andra. När du ställer in content_security_policy.enforce_enabled på true genomdrivs alla direktiv (även om content_security_policy.report_only_enable också är inställt på true).

Om du vill ange direktiv som ”report-only” så att de inte genomdrivs lägger du till direktiven i namnrymden report_only_directive. Du måste inkludera parametern --force-keys när du lägger till nya direktiv. Syntax är enligt följande:

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

För att till exempel endast rapportera på direktivet script_src kör du följande kommando:

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

Steg 4: Aktivera CSP på Tableau Server

När du har konfigurerat direktiv aktiverar du CSP på Tableau Server.

Följande alternativ används för att aktivera genomdrivningsläge eller endast rapport-läge för de direktiv du har ställt in.

AlternativStandardvärde

Beskrivning

content_security_policy.enforce_enabledfalskt

Lägger till ett CSP-huvud till alla förfrågningar så att eventuella överträdelser genomdrivs av webbläsaren.

content_security_policy.report_only_enabledsantLägger till ett CSP-huvud till alla förfrågningar så att eventuella överträdelser registreras i våra vizQL-klientloggar, men genomdrivs inte av webbläsaren.

Kör följande kommando för att aktivera genomdrivning av de CSP-direktiv som du har angett:

tsm configuration set -k content_security_policy.enforce_enabled -v true

Steg 5: Kör tsm pending-changes apply

När du har konfigurerat klart CSP kör du tsm pending-changes apply.

Om de väntande ändringarna kräver att servern startas om visar kommandot pending-changes apply en kommandotolk så att du vet att en omstart kommer att ske. Kommandotolken visas även om servern stoppas, men i så fall sker ingen omstart. Du kan utelämna tolken med alternativet --ignore-prompt, men det påverkar inte omstartsbeteendet. Om ändringarna inte kräver omstart används de utan någon kommandotolk. Du hittar mer information i tsm pending-changes apply.

Visa CSP-rapport

För att visa CSP-överträdelser för en viss visualisering laddar du visualiseringen i en webbläsare som innehåller utvecklarverktyg. I det här exemplet används webbläsaren Chrome.

  1. Ladda en testvisualisering med överträdelser som har Tableau Server-driftsättningen där du har konfigurerat CSP som värd.

  2. Ange CTRL+Shift+I för att öppna utvecklarverktygen i Chrome.

  3. Klicka på fliken Nätverk.

  4. Ange csp-report i fältet Filter och klicka sedan på Hitta alla.

    • Om det inte finns några överträdelser kommer sökningen inte att returnera några CSP-rapporter.

    • Om det finns överträdelser klickar du på fliken Rubriker i resultatrutan och bläddrar längst ner för att visa Begär nyttolast.

Tack för din feedback!Din feedback har skickats in. Tack!