Magento 2.1.1 - Tingkatkan keamanan dengan Kebijakan Keamanan Konten

10

Saya memiliki toko yang berjalan baik dengan versi terbaru Magento (saat ini 2.1.1) dan saya mencoba untuk meningkatkan keamanan melalui Kebijakan Keamanan Konten di Apache 2.4.7 (Ubuntu 14.04). Saya telah menghapus semua tag "skrip>" dari halaman konten dan membuat file.js yang terpisah.

Di keamanan Apache saya telah menetapkan:

Tajuk setel Konten-Keamanan-Kebijakan "default-src 'mandiri'"

Namun, itu tidak berfungsi. Tampaknya Magento sendiri menambahkan beberapa tag "<script>". Contoh dari baris sumber pertama:

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

Jadi menurut saya untuk mengkonfigurasikan CSP saya harus mengaktifkan "unsafe-inline" yang sebenarnya tidak aman.

Tajuk setel Konten-Keamanan-Kebijakan "skrip default-src 'diri' -src 'mandiri' 'tidak aman-sebaris' 'tidak aman-eval'".

Adakah yang tahu cara mengatur Magento dengan benar dengan CSP? Terima kasih!

Luiz Junior
sumber

Jawaban:

0

Jawaban sederhananya adalah: maaf, tidak sesederhana mungkin untuk membuat ini "aman".

Sisi positifnya adalah, Anda hampir tidak memiliki konten yang dikontribusikan pengguna dan oleh karena itu ini adalah kerugian yang agak kecil. Setidaknya untuk kasus sederhana dan normal.

Saya melihat ini adalah pengaturan yang harus benar-benar berfungsi dan diberlakukan untuk area admin, dan juga secara umum.

Untuk menjawab pertanyaan Anda, ini mungkin cara termudah untuk melakukan permintaan fitur di forum magento dan mengirim ping ke beberapa orang di komunitas magento. Karena, itu juga memerlukan beberapa saran di devdocs untuk pembuat modul, jika tidak orang akan mengalami masalah dengan modul yang tidak kompatibel dengan tingkat keamanan ini.

Maaf jika ini bukan jawaban yang Anda harapkan. Masalah utama mungkin adalah javascript dan bagaimana ia diatur, beberapa bagian mungkin mengharapkannya selalu dan awal di sana. Juga, saya tidak tahu apa yang berubah di Magento2, tetapi di Magento 1 ada juga beberapa tempat lain yang disampaikan pada JS inline, mereka mungkin belum sepenuhnya di refactored.

Flyingmana
sumber