Saya ingin menambal toko Magento dengan SUPEE-9767. The dokumentasi untuk supee-9767 memberitahu saya untuk Symlink menonaktifkan pengaturan sebelum menerapkan patch:
Sebelum menerapkan tambalan atau meningkatkan ke rilis terbaru, pastikan untuk menonaktifkan pengaturan Symlinks ... Pengaturan, jika diaktifkan, akan menimpa pengaturan file konfigurasi dan mengubahnya akan memerlukan modifikasi database langsung.
Tetapi saya menggunakan modman untuk mengelola modul dan karena beberapa modul menggunakan file template, pengaturan Symlink diaktifkan sesuai dengan saran dalam README modman. Apakah aman untuk membiarkan pengaturan Symlinks diaktifkan sebagai salah satu posting di Patch Keamanan SUPEE-9767 - Kemungkinan masalah? menyarankan (saya belum bisa mengomentari kiriman karena saya pengguna baru)?
Pengguna yang menggunakan modman untuk mengelola modul Magento 1.x harus memastikan bahwa mereka tidak menonaktifkan symlink karena ini akan menonaktifkan modul modman.
Jika saya membiarkan pengaturan Symlinks diaktifkan, bukankah toko akan terkena APPSEC-1281: Eksekusi kode jarak jauh melalui symlinks , ancaman keamanan yang ingin diperbaiki patch ini?
Apakah ada cara lain menggunakan modman dengan file templat setelah tambalan ini? (Saya tahu opsi "versi Mage / Core / Block / Template.php" yang di-patch yang disebutkan README modman, tetapi menambal file inti sepertinya berbahaya.)
sumber
Jawaban:
Berikut adalah beberapa klarifikasi mengenai perubahan ini:
Pertama baca penjelasan ini dari Peter O'Callaghan ini akan memberi Anda pemahaman yang besar: https://peterocallaghan.co.uk/2017/06/appsec-1281-dangerous-symlinks/
Juga bacaan menarik lainnya adalah posting ini oleh Max Chadwick https://maxchadwick.xyz/blog/what-allow-symlinks-actually-does
Modifikasi ini sebenarnya tentang memanggil konten yang dapat diunggah (seperti gambar) melalui arahan template.
Masalah yang terkait dengan symlink hanya dapat dieksploitasi dengan akses admin dan Magento menambahkan beberapa perlindungan di sekitar unggahan gambar juga.
Harap dicatat bahwa mereka adalah beberapa perlindungan terhadap cara yang diketahui untuk mengeksploitasinya selain pengaturan itu sendiri.
Jadi, jika Anda memahami risiko yang terlibat, Anda dapat membiarkan symlink diaktifkan.
Jika Anda perlu mengaktifkannya untuk instalasi baru, Anda dapat menjalankan:
sumber
Masalahnya bukan symlinks, masalahnya adalah jalur yang mencapai tingkat seperti
../../../../../media/tmp/hahaha.png
. Jika saya salah dalam hal ini, mohon beri tahu saya. "Memperbaiki" berjudul "Izinkan symlink" dan mengaktifkan ini menonaktifkan pemeriksaan yang diterapkan menggunakanrealpath()
. Menurut pendapat saya perbaikan yang sama amannya, lebih berkinerja dan masih kompatibel dengan symlink adalah dengan menggunakanstrpos($path, '..')
dan / atau untuk memeriksa apakahrealpath()
cocok dengan direktori berisiko sepertimedia
danvar
. Jika diimplementasikan seperti ini tidak perlu dapat dikonfigurasi, itu hanya bisa selalu diaktifkan dan masih tidak menghancurkan ribuan toko.Apapun itu, pengguna server web Anda seharusnya tidak memiliki akses untuk menulis file di direktori kode sumber (seperti yang dilakukan Magento Connect ...) sehingga itu merupakan cara lain untuk mencegah kode berbahaya ditulis di suatu tempat dan dieksekusi sebagai templat blok.
Jadi, serangan pada symlink ini hanya salah arah dan perbaikan yang lebih baik ada. Bahkan, saya memberikan satu lebih dari setahun yang lalu dan bahkan ada tautan untuk itu di README modman github.
sumber
Jika di ekstra file komposer Anda, Anda mengatur magento-deploystrategy untuk menyalin file Anda akan disalin dari folder vendor daripada Symlinks.
Anda kemudian dapat memodifikasi core_config_data Anda untuk mengatur nilai dev / template / allow_symlink ke 0
Sumberdaya Untuk Informasi
sumber
Anda dapat mengganti perubahan SUPEE-9767 dengan berbagai cara, lihat:
Bagaimana cara mengaktifkan symlink setelah SUPEE-9767 V2 diinstal?
sumber