Was ist eine Inhaltssicherheitsrichtlinie (Content Security Policy, CSP) und wie kann ich sie mit Cloudflare verwenden?

Was ist eine Content Security Policy?

Content Security Policy (CSP) ist ein Webstandard, der Webentwicklern mehr Kontrolle darüber verschafft, von welchen Standorten ein Client-Browser Ressourcen laden darf bzw. welche anderen Websites mit der Website des Entwicklers interagieren dürfen. Ein Entwickler könnte beispielsweise festlegen, dass jeder Content Type von seiner eigenen Website als sicher gilt und geladen werden darf, darüber hinaus Bilder von jeder Domain geladen werden dürfen und JavaScript-Bibliotheken und Skripts nur von einer separaten, vertrauenswürdigen, zertifizierten Domain eines Drittanbieters geladen werden dürfen. All dies steckt in diesem Beispiel für eine Richtlinie:

default-src 'self'; img-src *; script-src https://userscripts.example.com

Warum sollte ich eine Content Security Policy benutzen?

Eine richtig konfigurierte Richtlinie verschafft Ihnen und Ihren Nutzern zusätzlichen Schutz vor bestimmten Angriffen. Sie kann häufig genutzt werden, um Angriffe in Verbindung mit Content-/Code-Injection zu verhindern oder zu bekämpfen, zum Beispiel Cross-Site Scripting-/XSS-Angriffe, Angriffe in Verbindung mit der Einbettung einer schädlichen Ressource, Angriffe in Verbindung mit böswilliger Nutzung von iframes wie etwa „Clickjacking“-Angriffe und weitere. Allgemein ausgedrückt: Sie können damit steuern, von wo die Inhalte geladen werden dürfen, die den Besuchern Ihrer Website angezeigt werden.

Wie kann ich eine Richtlinie schreiben?

Beispiele für Anwendungsfälle und Richtlinien finden Sie unter https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Using_Content_Security_Policy

Auf http://w3c.github.io/webappsec-csp/ und https://developer.mozilla.org/en-US/docs/Web/Security/CSP/CSP_policy_directives finden Sie umfassendere Beschreibungen der Direktiven und ihrer Anwendung, Hinweise zur Implementierung und Informationen über die unterstützten Clients.

Auf https://developer.chrome.com/extensions/contentSecurityPolicy und https://developer.chrome.com/apps/contentSecurityPolicy bekommen Sie Dokumentationen speziell für Chrome; hier geht es aber mehr um die Entwicklung von Erweiterungen/Anwendungen.

https://msdn.microsoft.com/en-us/library/dn904195%28v=vs.85%29.aspx bietet in begrenztem Umfang Dokumentationen für Edge.

 

Kann ich kann ich eine Content Security Policy mit Cloudflare einsetzen? Wie?

Ja, für die Websites bei Cloudflare können Sie eine Content Security Policy einsetzen. Wir verändern den Header „Content-Security-Policy“ nicht, der von Ihrem Ursprungsserver gesendet wird.

Bei den akzeptablen Quellen für Ihre Inhalte bzw. andere Drittanbieterinhalte sind keine Änderungen erforderlich. Durch den Einsatz von Cloudflare werden die URLs, mit denen Sie Inhalte einbinden, nicht verändert. Die Fähigkeit des Clients, die in Ihrer Richtlinie angegebenen Standorte mit den Standorten zur Einbindung von Ressourcen abzugleichen, wird also nicht beeinträchtigt.

Beispiel für einen CSP-Header für den Einsatz mit Rocket Loader 

script-src 'self' ajax.cloudflare.com;

CSP-Beispiel für Mirage

script-src 'self' ajax.cloudflare.com;

Wenn Sie mit Cloudflare Apps oder Scrape Shield arbeiten, müssen Sie Inline-Skripts in Ihrer Richtlinie zulassen, denn wir binden Skripts auf Ihrer Domain ein und fügen etwas Inline-Code hinzu, wenn Sie diese Features aktivieren. Hier eine Beispiel-CSP, die Sie damit benutzen können:

script-src 'self' 'unsafe-inline'

Not finding what you need?

95% of questions can be answered using the search tool. This is the quickest way to get a response.

Powered by Zendesk