Penghujung Suhosin; apa yang seterusnya?
![PHP Suhosin](https://www.mofidi.us/wp-content/uploads/2020/12/elephpant-php-computing-developer-27753.png)
Selama bertahun-tahun, Saya bersungguh-sungguh telah digunakan Suhosin dengan mana-mana pelaksanaan PHP5 pada Apache2 atau PHP-FPM Nginx webservers untuk mempertahankan terhadap suntikan SQL dan serangan web biasa yang lain. Hakikatnya, PHP5 begitu bencana, kedua-duanya dari segi keselamatan terasnya, dan fungsi dan modul yang saya tidak dapat difahami menggunakannya tanpa sebarang pengerasan yang ketara yang suhosin menyediakan.
Memandangkan PHP5 disusutnilaikan dan program legasi saya semuanya hilang, Saya ditinggalkan dengan beberapa pelaksanaan PHP7 dan tiada tampalan Suhosin yang ada.
Walaupun, ia masih secara teknikal mungkin untuk menambah Suhosin kepada PHP 7.0 Dan 7.1 (pra-alpha – bukan untuk pengeluaran), adalah adil untuk mengatakan bahawa projek itu telah lama hilang dan PHP7 sudah membuktikan bahawa ia boleh menyusahkan seperti itu adalah pendahulunya. Seperti yang saya fikirkan tentang penambahan baru kepada WAF dan keselamatan teras PHP7, ini adalah beberapa penyelesaian yang saya datang dengan:
Melumpuhkan Fungsi Buruk atau Tidak Perlu
Terdapat banyak fungsi berisiko dibina di dalam PHP yang berpotensi berbahaya dan harus dilumpuhkan di dalam 'php.ini' secara lalai. Anda boleh mencari fail konfigurasi menggunakan perintah di bawah dan menyahdayakan fungsi melalui vi atau nano.
php -i | grep "php.ini"
SILA AMBIL PERHATIAN: Jika anda menjalankan pelbagai versi PHP secara serentak atau program ini dipasang sebagai sebahagian daripada permohonan pihak ketiga yang lain, maka kemungkinan tinggi bahawa anda mempunyai beberapa 'php.ini' dipasang dan tidak jelas yang mana satu dimuatkan oleh webserver. Pastikan anda mengedit versi yang betul (php -v).
Tambah baris di bawah pada akhir fail 'php.ini', pastikan anda menyimpan fail, dan mulakan semula webserver. Anda boleh belajar tentang setiap fungsi PHP ini di alamat ini. Sebagai tindakan yang diukur, anda mungkin mahu menambah mereka satu persatu untuk memastikan bahawa ia tidak menjejaskan aplikasi anda secara negatif.
disable_functions = popen, eval, leak, exec, shell_exec, curl_exec, curl_multi_exec, parse_ini_file, mysql_connect, system, phpinfo, escapeshellarg, escapeshellcmd, passthru, symlink, show_source, mail, sendmail, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, pfsockopen, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
Melumpuhkan Daftar Global dan Base64
Register Global adalah fungsi oleh PHP yang membolehkan kepelbagaian input kepada URL ditukar kepada pembolehubah di dalam kod anda. Itu, sebarang kod yang berpotensi terdedah boleh dieksploitasi oleh penyerang yang boleh lulus pelbagai berniat jahat menggunakan permintaan HTTP GET atau POST.
Register Globals boleh dilumpuhkan dengan mudah dengan menambah garis bawah pada akhir 'php.ini'. Jangan lupa untuk memulakan semula webserver untuk melaksanakan perubahan.
register_globals = Off
Sama seperti Register Globals, Base64 adalah satu lagi ciri yang sering tidak perlu yang membuka pintu ke pintu belakang yang berniat jahat. Anda boleh menyahdayakan penyahkod Base64 secara kekal dengan menambah garisan di bawah hingga akhir 'php.ini'.
base64_decode = Off
Penafian Pos
Pandangan, Maklumat, atau pendapat yang dinyatakan adalah semata-mata pendapat pengarang dan tidak semestinya mewakili majikannya atau organisasi yang dia bergabung.
Maklumat yang terkandung dalam catatan ini adalah untuk tujuan maklumat umum sahaja. Maklumat itu diberikan oleh Farhad Mofidi dan semasa dia berusaha untuk memastikan maklumat terkini dan tepat, dia tidak membuat apa-apa representasi atau jaminan dalam apa jua bentuk, tersurat atau tersirat, Mengenai kesempurnaan, Ketepatan, Kebolehpercayaan, kesesuaian atau ketersediaan laman web. Farhad tidak membuat sebarang representasi atau jaminan. atau apa-apa maklumat, produk atau grafik berkaitan yang terkandung dalam mana-mana Siaran untuk sebarang tujuan.
Juga, AI boleh digunakan sebagai alat untuk memberi cadangan dan memperbaiki beberapa kandungan atau ayat. Idea, Fikiran, Pendapat, dan produk akhir adalah asli dan buatan manusia oleh pengarang.