Magento 2.1.1 - Poprawa bezpieczeństwa dzięki polityce bezpieczeństwa treści

10

Mam sklep działający poprawnie z najnowszą wersją Magento (obecnie 2.1.1) i staram się poprawić bezpieczeństwo poprzez Politykę bezpieczeństwa treści w Apache 2.4.7 (Ubuntu 14.04). Usunąłem wszystkie tagi „<script>” ze stron treści i utworzyłem oddzielne pliki.js.

Dla bezpieczeństwa Apache'a ustawiłem:

Nagłówek ustawia zasady bezpieczeństwa treści „default-src 'self”

Jednak to nie działa. Wygląda na to, że Magento sam dodał kilka tagów „<script>”. Przykład z pierwszych linii źródłowych:

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

Wydaje mi się więc, że aby skonfigurować CSP musiałbym włączyć „niebezpieczne inline”, co wcale nie jest naprawdę bezpieczne.

Nagłówek ustaw Content-Security-Policy „default-src„ self ”script-src„ self ”„afe-inline” „afe-eval ”.

Czy ktoś wie, jak prawidłowo ustawić Magento za pomocą CSP? Dziękuję Ci!

Luiz Junior
źródło

Odpowiedzi:

0

Prosta odpowiedź brzmi: przepraszam, nie jest łatwo uczynić to „bezpiecznym”.

Pozytywną stroną jest to, że nie masz prawie żadnej treści od użytkowników, dlatego jest to raczej niewielka wada. Przynajmniej w prostym i normalnym przypadku.

Widzę, że jest to ustawienie, które absolutnie powinno działać i być egzekwowane w obszarze administracyjnym, a także ogólnie.

Aby odpowiedzieć na twoje pytanie, może to być najłatwiejszy sposób na przesłanie prośby o dodanie funkcji na forum magento i wysłanie do niego pingów do niektórych osób ze społeczności magento. Ponieważ potrzebuje też porady w devdocs dla twórców modułów, w przeciwnym razie ludzie mieliby regularnie problemy z modułami niezgodnymi z tym poziomem bezpieczeństwa.

Przepraszamy, jeśli nie jest to odpowiedź, której można oczekiwać. Głównym problemem jest prawdopodobnie javascript i sposób jego organizacji, niektóre części mogą się spodziewać zawsze i wcześnie. Nie wiem też, co zmieniło się jeszcze w Magento2, ale w Magento 1 istniały też inne miejsca, które bazowały na wbudowanym JS.

Flyingmana
źródło