Magento merekomendasikan untuk tidak menggunakan templat melalui symlink:
Advanced > Developer > Template Settings > Allow Symlinks
Peringatan! Mengaktifkan fitur ini tidak disarankan pada lingkungan produksi karena ini mewakili potensi risiko keamanan.
Sampai hari ini saya tidak dapat melihat risiko di sini.
- Apa risikonya?
Jawaban:
Symlink tidak selalu buruk.
Pertama-tama: Jika mencoba untuk membuka target symlink, izin file dari target berlaku. Jika Anda tidak diizinkan membaca / menulis / mengeksekusi target symlink, tidak ada yang terjadi.
Tetapi: Anda mungkin dapat menjalankan file di luar root dokumen Anda (kadang-kadang itulah yang ingin Anda lakukan dengan mereka, bukan?). Masalahnya dapat terjadi jika Anda minati tidak dalam lingkungan Suexec dan memiliki
apache
atauwww-data
pengguna pada shared hosting yang, bertanggung jawab melayani file dari account yang berbeda. Pengguna sistem Anda tidak diizinkan untuk mengakses file pelanggan lain, tetapiapache/www-data
sebagian besar pengguna akan memiliki hak baca di semua akun bersama. Ini mungkin merupakan skenario di mana satu pengguna dapat mengakses file pengguna lain pada host bersama. Bukan dengan pengguna Anda sendiri, tetapi dengan mengakses file melalui browser denganapache/www-data
pengguna. Singkatnya: Dalam skenario ini Anda akan dapat mengakses file pengguna lain => buruk.Hal buruk berikutnya adalah penyerang dapat membuat symlink, juga ke file seperti / etc / passwd, ..., unduh data ini dan lanjutkan dengan informasi ini. Ini tidak hanya sampai symlink, tetapi juga hingga konfigurasi server yang buruk (di mana akses ke file-file ini sangat terbatas). Jadi tidak menggunakan symlink mencegah dari beberapa kemungkinan serangan.
Ini bukan hanya tentang symlink itu sendiri yang menjadi risiko keamanan, tetapi masalah konfigurasi server.
sumber
app/design
folder, bila dikombinasikan dengan eksploitasi kecil lainnya, dapat digunakan oleh pengguna admin untuk eskalasi hak istimewa dan eksploitasi server lainnya.SymLinksIfOwnerMatch
opsi yang digunakan sebagai gantiFollowSymlinks
.ya mereka, itu sebabnya webservers biasanya juga memiliki konfigurasi "jangan ikuti symlink" atau setidaknya "hanya mengikuti symlink target dengan pengguna yang sama" Itu karena webserver / php biasanya berjalan dengan lebih banyak hak maka Anda harus memiliki akses.
Dan karena webservers biasanya mencoba untuk menghindari hal-hal seperti terlihat / etc / shadow, itu untuk templat magento bahkan lebih berbahaya, karena templat diurai melalui include () sehingga Anda memiliki kebocoran keamanan yang sangat kuat jika Anda tidak memiliki kontrol penuh atas file Anda.
Anda mungkin berpendapat, bahwa ada masalah lain saat itu, tetapi siapa yang benar-benar tahu setiap skenario serangan potensial, dan seringkali merupakan kombinasi dari lubang keamanan yang kurang bermasalah, yang mengarah pada terobosan besar.
Juga, ada beberapa waktu lalu perbaikan keamanan mengenai direktori media dan symlink, jadi Anda harus mencari di sana untuk kemungkinan skenario serangan.
sumber
Saya hanya bisa membayangkan ini menjadi risiko pada host bersama, yang seharusnya tidak digunakan untuk eCommerce.
sumber
Magento patch SUPEE-9767 termasuk APPSEC-1281: Eksekusi kode jauh melalui symlink , jadi ya, Symlinks pada templat adalah masalah keamanan.
sumber
Tidak merekomendasikan untuk mengizinkan. Saya menghadapi kesalahan pemuatan js saat symlink diaktifkan.
Banyak;
Saya harus mencoba 4-5 penyegaran untuk halaman yang berhasil dimuat.
Setelah menutupnya, mungkin sumber daya tidak digunakan secara perlahan untuk pertama kali tetapi kesalahan hilang.
PS: Setelah menonaktifkan symlink, Anda harus menghapus salinan file yang digunakan setelah setiap perubahan untuk static.php salin kembali untuk Anda.
sumber