Magento 2.1.1 - Melhore a segurança com a Política de Segurança de Conteúdo

10

Eu tenho uma loja funcionando bem com a versão mais recente do Magento (atualmente 2.1.1) e estou tentando melhorar a segurança através da Política de Segurança de Conteúdo no Apache 2.4.7 (Ubuntu 14.04). Eu removi todas as tags "<script>" das páginas de conteúdo e criei files.js separados.

Na segurança do Apache eu configurei:

Conjunto de cabeçalhos Política de Segurança de Conteúdo "default-src 'self'"

No entanto, não está funcionando. Parece que o próprio Magento adicionou algumas tags "<script>". Exemplo das primeiras linhas de origem:

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

Portanto, parece-me que, para ter o CSP configurado, eu teria que habilitar "inseguros em linha", o que não é realmente seguro, afinal.

Conjunto de cabeçalhos Content-Security-Policy "default-src 'self' script-src 'self' 'inseguro-inline' 'unsafe-eval'".

Alguém sabe como ter o Magento configurado corretamente com o CSP? Obrigado!

Luiz Junior
fonte

Respostas:

0

A resposta simples é: desculpe, não é simples possível tornar isso "seguro".

O lado positivo é que você quase não possui conteúdo contribuído pelo usuário e, portanto, essa é uma desvantagem bastante pequena. Pelo menos para o caso simples e normal.

Vejo que essa é uma configuração que deve funcionar absolutamente e ser aplicada à área de administração e também em geral.

Para responder sua pergunta, pode ser a maneira mais fácil de fazer uma solicitação de recurso no fórum magento e fazer ping em algumas pessoas da comunidade magento. Como também precisa de alguns conselhos nos devdocs para criadores de módulos, caso contrário, as pessoas regularmente terão problemas com módulos incompatíveis com esse nível de segurança.

Desculpe se esta não é a resposta que você esperaria. O principal problema é provavelmente o javascript e como ele é organizado, algumas partes podem esperar que seja sempre e cedo por lá. Além disso, eu não sei o que mudou ainda no magento2, mas no magento 1 também houve outros lugares que foram retransmitidos no JS embutido, eles ainda não podem ser completamente refatorados.

Flyingmana
fonte