CSP hlavičky - zásady zabezpečení obsahu

CSP neboli Content Security Policy je bezpečnostní mechanismus používaný v konfiguraci aplikace, který pomáhá chránit webové stránky před útoky jako XSS (Cross-Site Scripting) a dalšími typy injekčních útoků. CSP funguje tak, že umožňuje definovat, jaké zdroje (např. skripty, styly, obrázky) mohou být načítány a vykonávány na stránce. Tímto způsobem se minimalizuje riziko, že útočník injektuje škodlivý kód, který by mohl narušit bezpečnost aplikace.

Umístění konfigurace

Nastavení CSP lze konfigurovat v Team assistant v sekci Konfigurace , konkrétně v záložce Zabezpečení . Tato sekce obsahuje všechny dostupné bezpečnostní hlavičky.

Cesta:

.../administration/configuration/security

Upozornění : Nesprávné nastavení může zablokovat celou platformu. V ideálním případě konfigurujte pouze v případě, že máte přístup k databázi, aby bylo možné napravit případné zablokování přístupu do platformy. V DB se to týká tabulky CONFIG a VAR_NAME security.csp.[název]
Po jakékoliv úpravě v rámci CSP hlaviček je potřeba restartovat server! Změny se jinak neprojeví.

Nastavení hlaviček CSP

Podrobná vysvětlení a příklady konfigurace jednotlivých hlaviček CSP naleznete v dokumentaci balíčku Helmet npm .

Chcete-li nakonfigurovat CSP, vložte do konfigurace objekt contentSecurityPolicy jako JSON. Ujistěte se, že struktura JSON je platná, přidáním dvojitých uvozovek kolem klíčů a hodnot a odstraněním všech přebytečných čárek.

Příklad konfigurace

Základní konfigurace CSP

{
"directives": {
"script-src": ["'self'", "example.com"],
"style-src": null
}
}

Výchozí konfigurace CSP v Team assistant

//csp.contentSecurityPolicy
{
"directives": {
"default-src": ["'self'"],
"script-src": ["'self'"],
"style-src": ["'self'"],
"img-src": ["'self'"],
"font-src": ["'self'"],
"connect-src": ["'self'"],
"frame-ancestors": ["'self'"],
"base-uri": ["'self'"],
"form-action": ["'self'"],
"object-src": ["'none'"],
"media-src": ["'self'"],
"worker-src": ["'self'"],
"child-src": ["'self'"],
"manifest-src": ["'self'"]
}
}

//csp.crossOriginEmbedderPolicy

{"Cross-Origin-Embedder-Policy": "require-corp"}

//csp.crossOriginOpenerPolicy
{ "Cross-Origin-Opener-Policy": "same-origin"}

// csp.crossOriginResourcePolicy
{"Cross-Origin-Resource-Policy": "same-origin"}

//csp.originAgentCluster
true

//csp.referrerPolicy
{ "Referrer-Policy": "no-referrer-when-downgrade"}

//csp.strictTransportSecurity
{ "Strict-Transport-Security": {
"max-age": 31536000,
"includeSubDomains": true,
"preload": true
}}

//csp.xContentTypeOptions
true

//csp.xDnsPrefetchControl
{"X-DNS-Prefetch-Control": "off"}

//csp.xDownloadOptions
true

//csp.xFrameOptions
{ "X-Frame-Options": "DENY"}

//csp.xPermittedCrossDomainPolicies
{"X-Permitted-Cross-Domain-Policies": "none"}

//csp.xPoweredBy
true

//csp.xXssProtection
true

Nejlepší postupy

  1. Testování ve vývojovém prostředí – Než použijete nastavení CSP v produkci, otestujte je ve vývojovém nebo testrogacím prostředí, abyste zabránili uzamčení platformy uživatelům.
  2. Nejprve použijte režim CSP Report-Only mode – Před nastavením zásad použijte režim CSP report-only mode ke shromažďování potenciálních problémů bez blokování obsahu.
  3. Postupně zvyšujte omezení – Začněte se základním, nastavením a postupně přidávejte další omezení.
  4. Pravidelně kontrolujte zprávy CSP – Sledujte zprávy o blokovaných zdrojích a podle toho upravte nastavení.

Správnou konfigurací CSP v platformě mohou správci výrazně zvýšit zabezpečení a minimalizovat rizika spojená se spouštěním škodlivého kódu.

Anna Gernát Updated by Anna Gernát

Sekvence

Logy

Contact

Team assistant (opens in a new tab)

Powered by HelpDocs (opens in a new tab)