Saya baru-baru ini sering dikunjungi oleh pesan kesalahan yang salah dari mod_security. Set filternya mencakup eksploitasi PHP yang ketinggalan zaman, dan saya harus menulis ulang barang-barang saya karena Wordpress & Co memiliki bug bertahun-tahun yang lalu.
Apakah ini terjadi pada orang lain?
Apache mod_security memblokir permintaan HTTP yang mungkin berbahaya sebelum mencapai aplikasi (khusus PHP). Ini menggunakan berbagai set filter, sebagian besar berbasis regex.
Jadi saya punya penyedia hosting bersama yang bagus, secara teknis tepat dan banyak hal. Tapi ini menggangguku:
Baru minggu lalu saya harus mengubah nama parameter &src=
di salah satu aplikasi saya karena mod_security memblokir permintaan APAPUN dengan itu. Saya tidak mencari detailnya, tetapi aturan filter ini mencegah eksploitasi aplikasi lain yang tidak saya gunakan dan mungkin belum pernah dengar. Masih saya harus menulis ulang kode saya (mengganti nama parameter sering mencukupi untuk menipu mod_security) yang tidak ada hubungannya atau kesamaan dengan itu!
Dan hari ini, sebuah regex konyol membentuk pengiriman, karena saya ingin mengirimkan kode sampel php. Mengingat, ini adalah hal-hal sederhana yang dilindungi mod_security. Tapi saya tidak percaya mod_security dapat mendeteksi kode yang benar-benar dikaburkan, dan langsung berbunyi snipet php yang jelas (dan benar-benar sepele).
Pada dasarnya saya mendapatkan sanksi dari mod_security karena orang lain merilis aplikasi rawan bug. (Tidak mengatakan aplikasi saya sangat aman - Saya cukup keamanan waspada, tetapi tidak membuat klaim hiperbolik.)
Saya sudah meminta penyedia saya untuk menonaktifkannya, manfaatnya IMO terlalu kecil dan untuk aplikasi saya.
Bagaimana menurut anda? Apakah mod_security masuk akal di luar WP hosting? Atau itu benar-benar hanya sekelompok daftar hitam bug keamanan lama berlalu? Manakah dari peraturannya yang benar-benar bermanfaat? Apakah ada level aplikasi yang setara?
<?php doBadStuff(); ?>
tidak akan menjalankan fungsi itu. (Kecuali jika Anda menggunakaneval
tentu saja yang jahat.)