Magento 2.1.1 - Verbessern Sie die Sicherheit mit Content Security Policy

10

Ich habe ein Geschäft, das mit der neuesten Version von Magento (derzeit 2.1.1) einwandfrei funktioniert, und ich versuche, die Sicherheit durch Inhaltssicherheitsrichtlinien unter Apache 2.4.7 (Ubuntu 14.04) zu verbessern. Ich hatte alle "<script>" - Tags von den Inhaltsseiten entfernt und separate files.js erstellt.

In Bezug auf die Sicherheit von Apache habe ich Folgendes festgelegt:

Header-Set Inhaltssicherheitsrichtlinie "default-src 'self'"

Es funktioniert jedoch nicht. Es scheint, dass Magento selbst einige "<script>" - Tags hinzugefügt hat. Beispiel aus den ersten Quellzeilen:

<! doctype html>
<html lang = "pt-BR">
<head>
<script>
var require = {
"baseUrl": " http://example.com/pub/static/frontend/Magento/luma/pt_BR "
}; </ script>

Daher scheint es mir, dass ich für die Konfiguration von CSP "unsicheres Inline" aktivieren muss, was schließlich nicht wirklich sicher ist.

Header-Set Inhaltssicherheitsrichtlinie "default-src 'self' script-src 'self' 'unsicher-inline' 'unsicher-eval'".

Weiß jemand, wie man Magento richtig mit CSP einstellt? Vielen Dank!

Luiz Junior
quelle

Antworten:

0

Die einfache Antwort lautet: Entschuldigung, es ist nicht einfach möglich, dies "sicher" zu machen.

Die positive Seite ist, dass Sie fast keine vom Benutzer bereitgestellten Inhalte haben und dies daher ein eher kleiner Nachteil ist. Zumindest für den einfachen und normalen Fall.

Ich sehe, dass dies eine Einstellung ist, die unbedingt funktionieren und für den Admin-Bereich und auch allgemein durchgesetzt werden sollte.

Um Ihre Frage zu beantworten, ist es möglicherweise die einfachste Möglichkeit, eine Funktionsanfrage im Magento-Forum zu stellen und einige Mitglieder der Magento-Community daran zu senden. Da in den Devdocs auch einige Ratschläge für Modulersteller erforderlich sind, haben die Benutzer regelmäßig Probleme mit Modulen, die nicht mit dieser Sicherheitsstufe kompatibel sind.

Entschuldigung, wenn dies nicht die Antwort ist, die Sie erwarten würden. Das Hauptproblem ist wahrscheinlich das Javascript und wie es organisiert ist, einige Teile können es immer und früh dort erwarten. Ich weiß auch nicht, was sich in Magento2 noch geändert hat, aber in Magento 1 gab es auch einige andere Stellen, die auf Inline-JS weitergeleitet wurden. Möglicherweise wurden sie noch nicht vollständig überarbeitet.

Flyingmana
quelle