2016-06-03 4 views
0

Ich erstelle eine Inhaltssicherheitsrichtlinie auf RedHat 6 Apache 2.2 für einige HTML-Dateien mit JavaScript-Links zu Google. Ich habe den folgenden Code der virtuelle Host der Website in httpd.conf Datei hinzugefügt.Inhaltssicherheitsrichtlinie funktioniert nicht mit SHA256

Die Richtlinie kann nur funktionieren, wenn ich "unsafe-inline" verwende, was ich nicht möchte. Der neueste Chrome-Browser im Entwicklermodus sagt, dass ich SHA256-Hash hinzufügen soll (siehe unten). Obwohl ich den empfohlenen SHA256-Hash hinzugefügt habe, fordert Chrome mich immer noch auf, es hinzuzufügen ????

Behandle ich SHA256-Hash nicht korrekt? Jede Hilfe wird geschätzt.

Von der Chrome-Entwicklerkonsole.

Refused Inline-Stil anzuwenden, da es die folgenden Content Security Policy Richtlinie verletzt: "Stil-src inline: 'Selbst' https: 'sha256-j0bVhc2Wj58RJgvcJPevapx5zlVLw6ns6eYzK/hcA04 =' https://www.google-analytics.comhttps://ajax.googleapis.com". Entweder das Schlüsselwort 'unsafe-inline', ein Hash ('sha256-j0bVhc2Wj58RJgvcJPevapx5zlVLw6ns6eYzK/hcA04 =') oder ein Nonce ('nonce -...') ist erforderlich, um die Inline-Ausführung zu aktivieren.

Antwort

0

EDIT: Die in diesem Fehler diskutiert wird: https://bugs.chromium.org/p/chromium/issues/detail?id=546106 Nicht ganz nach dem, was der Fehler sagt, aber es scheint die Spezifikation nur sha256 Hashes für Skript und Style-Tags und nicht für Inline-Scripts und Designs ermöglicht. Es scheint, dass Sie Ihrer Richtlinie ein Attribut 'unsafe-hashed-attributes' hinzufügen müssen, damit es funktioniert.

Allerdings nicht ganz klar, ob das nur das Skript Teil oder auch Stile zu reparieren ist, noch wenn es freigegeben wurde. Es wird definitiv nicht zu den iOS-Geräten kommen, die auch WebKit verwenden, für den Moment würde ich nur die Inline-Sicherheit für Styles erlauben.

ORIGINAL ANTWORT (vor der obigen Antwort wurde hinzugefügt, aber verlassen, um Verwirrung zu vermeiden, wie Kommentare unten hinzugefügt).

Ich sehe ein paar Problem:

  1. Der Fehler des Content Security Policy erwähnen, aber Ihr Beispiel Config ist der Bericht nur Header. Ich habe Probleme bei der Verwendung von Content-Security-Policy und Content-Security-Policy-Report-Only festgestellt. Sie sollten unabhängig sein, sind es aber nicht. Könnte es wert sein, ohne einen zu versuchen, um zu sehen, ob das das Problem ist.
  2. Ihr Stil Quelle inline: die AFAIK
  3. Sie umfassen die allgemeine https: Richtlinie und dann auch spezifische https-Sites (https://www.google-analytics.com https://ajax.googleapis.com)
+0

Meine Vermutung wäre, # 2 nicht gültige Syntax ist. Es hat wahrscheinlich aufgegeben, die Direktive zu analysieren. – oreoshake

+0

Ich habe es mit Content-Security-Policy und Content-Security-Policy-Report-Only versucht. Im Nur-Bericht-Modus können Sie weiterhin auf der Website navigieren. Die Fehler der Chrome-Entwickler sind identisch. – mTarkowski

+0

Vielen Dank für Ihre Vorschläge, aber nein, sie sind nicht das Problem. Zusammenfassend habe ich versucht, sha256 so viele verschiedene Möglichkeiten zu nutzen und die Chrome-Antwort ist immer die gleiche. Sag mir, dass ich die gleiche sha256 hinzufügen soll, die schon da ist !! Es ist, als ob ich irgendeine Art von Tag, Parameter, Sonderangebot usw. vermissen würde. – mTarkowski