The end of Suhosin; what is next?

The end of Suhosin; what is next?

PHP Suhosin

For many years, I zealously have used Suhosin with any implementations of PHP5 on Apache2 or PHP-FPM Nginx webservers to defend against SQL injection and other common web attacks. In fact, PHP5 was so disastrous, both in terms of its core security, and its functions and modules that I could have never conceived using it without any significant hardening that Suhosin provides.

As PHP5 is depreciated and my legacy programs are all gone, I am left with several implementation of PHP7 and no available Suhosin patches.

Although, it is still technically possible to add Suhosin to PHP 7.0 and 7.1 (pre-alpha – not for production), it is fair to say that the project has long been gone and PHP7 already proved that it can be troublesome like it was its predecessor. Men PHP7 ning WAF va asosiy xavfsizligini yangilash haqida o'ylayotganda, Mana ba'zi yechimlarim:

Yomon yoki Keraksiz Funksiyalarni O'chirish

PHP ichida qurilgan va potentsial xavfli bo'lgan ko'plab xavfli funksiyalar mavjud bo'lib, ular 'php.ini' ichida standart bo'yicha o'chirilishi kerak. Quyidagi buyruq yordamida konfiguratsiya faylini topishingiz va funktionlarni vi yoki nano orqali o'chirishingiz mumkin.

php -i | grep "php.ini"

Iltimos E'tibor Bering: Agar siz bir nechta PHP versiyalarini bir vaqtda ishga tushirayotgan bo'lsangiz yoki dastur boshqa uchinchi tomon ilovasi sifatida o'rnatilgan bo'lsa, undagi ehtimol sizda bir nechta 'php.ini' fayllari o'rnatilgan va qaysi biri web server tomonidan yuklanganligi aniq emas. To'g'ri versiyani tahrirlayotganingizga ishonch hosil qiling (php -v).

'php.ini' faylining oxiriga quyidagi qatorni qo'shing, faylni saqlaganingizga ishonch hosil qiling, va vebserverni qayta ishga tushiring. Har bir PHP funksiyasi haqida ma'lumot olishingiz mumkin ushbu manzilda. O'lchovli harakat sifatida, ilovalaringizga salbiy ta'sir qilmasligi uchun ularni birma-bir qo'shishni xohlaysiz.

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

Register Globals va Base64 ni o'chirib qo'yish

Register Global — bu PHP tomonidan yaratilgan funksiya bo'lib, URLga kiritilgan massivlarni kod ichidagi o'zgaruvchiga aylantirish imkonini beradi. Shuning uchun, har qanday zaif kod hujumchi tomonidan HTTP GET yoki POST so'rovlari orqali zararli massivlarni uzatishi mumkin.

Register Globalsni oson o'chirib qo'yish uchun quyidagi satrni 'php.ini' oxiriga qo'shish mumkin. O'zgartirishlarni bajarish uchun vebserverni qayta ishga tushirishni unutmang.

register_globals = Off

Xuddi Register Globals kabi, Base64 yana ko‘pincha keraksiz xususiyat bo‘lib, zararli back-doorlarga yo‘l ochadi. Siz quyidagi qatordagi kodni ‘php.ini’ faylining oxiriga qo‘shish orqali Base64 decoder-ni doimiy ravishda o‘chirishingiz mumkin.

base64_decode = Off
Postning rad etish bayonoti

Fikrlar, ma’lumotlar, yoki ifodalangan qarashlar faqat muallifga tegishli bo‘lib, u ishlayotgan tashkilot yoki u bilan aloqador bo‘lgan tashkilotlarning qarashlarini aks ettirmasligi mumkin.

Ushbu postdagi ma’lumotlar umumiy ma’lumot maqsadida taqdim etilgan. Ma’lumotlar Farhad Mofidi tomonidan taqdim etilgan va u ma’lumotlarni dolzarb va aniq saqlashga harakat qilsa-da, u hech qanday turdagi kafolatlar yoki vakilliklarni bermaydi, yaqindan yoki bilvosita, to‘liqlik, aniqlik, isbotliligi haqida, veb-saytning mosligi yoki mavjudligi. Farhad hech qanday vakolat yoki kafolat bermaydi. yoki har qanday ma'lumot, hech qanday Postda mavjud mahsulotlar yoki tegishli grafikalar uchun har qanday maqsadda.

Shuningdek, AI takliflar berish va ba'zi mazmun yoki jumlalarni yaxshilash uchun vosita sifatida ishlatilishi mumkin. G'oyalar, fikrlar, mulohazalar, va yakuniy mahsulotlar muallif tomonidan yaratilgan original va inson tomonidan ishlab chiqilgan.

 

Javob qoldirish

Sizning elektron pochta manzilingiz e'lon qilinmaydi. Majburiy maydonlar belgilangan *