Magento 2.1.1 - Mejore la seguridad con la Política de seguridad de contenido

10

Tengo una tienda que funciona bien con la última versión de Magento (actualmente 2.1.1) y estoy tratando de mejorar la seguridad a través de la Política de seguridad de contenido en Apache 2.4.7 (Ubuntu 14.04). Eliminé toda la etiqueta "<script>" de las páginas de contenido y creé archivos separados .js.

En la seguridad de Apache he establecido:

Conjunto de encabezado Content-Security-Policy "default-src 'self'"

Sin embargo, no está funcionando. Parece que Magento mismo agregó algunas etiquetas "<script>". Ejemplo de las primeras líneas de origen:

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

Entonces, me parece que para configurar CSP tendría que habilitar "inseguro en línea" que no es realmente seguro después de todo.

Conjunto de encabezado Content-Security-Policy "default-src 'self' script-src 'self' 'unsafe-inline' 'unsafe-eval'".

¿Alguien sabe cómo configurar Magento correctamente con CSP? ¡Gracias!

Luiz Junior
fuente

Respuestas:

0

La respuesta simple es: lo siento, no es posible hacer esto "seguro".

El lado positivo es que casi no tiene contenido aportado por el usuario y, por lo tanto, este es un inconveniente bastante pequeño. Al menos para el caso simple y normal.

Veo que esta es una configuración que debería funcionar y aplicarse para el área de administración, y también en general.

Para responder a su pregunta, puede ser la forma más fácil de hacer una solicitud de función en el foro de magento y hacerle ping a algunas personas de la comunidad de magento. Debido a que también necesita algunos consejos en los devdocs para los creadores de módulos, de lo contrario las personas tendrían problemas con módulos que no son compatibles con este nivel de seguridad.

Lo siento si esta no es la respuesta que esperarías. El problema principal es probablemente el javascript y cómo está organizado, algunas partes pueden esperar que siempre esté allí. Además, no sé qué cambió aún en magento2, pero en magento 1 también hubo algunos otros lugares que se transmitieron en JS en línea, es posible que aún no se refactoricen por completo.

Flyingmana
fuente