نهاية سوسين; ما هو التالي?
لسنوات عديدة, لقد استخدمت بحماس سوهسين مع أي تطبيقات PHP5 على Apache2 أو PHP-FPM Nginx webservers للدفاع ضد حقن SQL وغيرها من الهجمات الشائعة على شبكة الإنترنت. في الحقيقة, PHP5 كان كارثيا جدا, سواء من حيث أمنها الأساسية, ووظائفه والوحدات التي لم يكن من الممكن أن تصورها أبداً باستخدامها دون أي تصلب كبير يوفره Suhosin.
كما يتم إهلاك PHP5 بلدي برامج تراث ذهب كل, أنا تركت مع تنفيذ عدة PHP7 وليس المتاحة Suhosin بقع.
الرغم, لا يزال من الممكن من الناحية الفنية لإضافة Suhosin إلى PHP 7.0 و 7.1 (ما قبل ألفا – وليس للإنتاج), فمن الإنصاف أن نقول أن المشروع قد ذهب منذ فترة طويلة و PHP7 أثبتت بالفعل أنه يمكن أن تكون مزعجة كما لو كان سابقتها. كما أفكر في إضافة جديدة إلى WAF والأمن الأساسية لPH7, هذه هي بعض الحلول جئت مع:
تعطيل وظائف غير ضرورية أو غير ضرورية
هناك العديد من الوظائف الخطرة التي بنيت داخل PHP التي يحتمل أن تكون خطرة وينبغي تعطيل داخل 'php.ini' افتراضيا. يمكنك العثور على ملف التكوين باستخدام الأمر أدناه وتعطيل وظائف عبر vi أو نانو.
php -i | grep "php.ini"
يرجى ملاحظة: إذا كنت تقوم بتشغيل إصدارات مختلفة من PHP في وقت واحد أو يتم تثبيت البرنامج كجزء من تطبيق آخر من طرف ثالث, ثم تكون هناك احتمالات عالية أن لديك متعددة 'php.ini' المثبتة وليس من الواضح أي واحد يتم تحميلها من قبل webserver. تأكد من أنك تقوم بتحرير الإصدار الصحيح (php -v).
إضافة السطر أدناه في نهاية ملف "php.ini", تأكد من حفظ الملف, وإعادة تشغيل خادم ويب. يمكنك معرفة المزيد عن كل من هذه الوظائف PHP في هذا العنوان. كإجراء محسوب, قد ترغب في إضافتها واحدا تلو الآخر للتأكد من أنه لا يؤثر سلبا على التطبيقات الخاصة بك.
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
تعطيل تسجيل العموميات و Base64
تسجيل العالمية هي وظيفة من قبل PHP التي تسمح صفيفات الإدخال إلى URL ليتم تحويلها إلى متغير داخل التعليمات البرمجية الخاصة بك. ذلك, يمكن استغلال أي تعليمات برمجية محتملة من قبل مهاجم يمكنه تمرير صفائف ضارة باستخدام طلبات HTTP GET أو POST.
يمكن تعطيل تسجيل العالمية بسهولة عن طريق إضافة السطر أدناه في نهاية 'php.ini'. لا تنسى إعادة تشغيل خادم الويب لتنفيذ التغييرات.
register_globals = Off
تماما مثل تسجيل العالمية, Base64 هو ميزة أخرى غير ضرورية في كثير من الأحيان أن فتح الباب إلى الأبواب الخلفية الخبيثة. يمكنك تعطيل Base64 فك الترميز بشكل دائم عن طريق إضافة السطر أدناه إلى نهاية 'php.ini'.
base64_decode = Off
إعلان إخلاء المسؤولية
وجهات النظر, المعلومات, أو الآراء المعبر عنها هي آراء المؤلف فقط ولا تمثل بالضرورة آراء صاحب العمل أو المنظمات التي ينتمي إليها.
المعلومات الواردة في هذا المنشور هي لأغراض المعلومات العامة فقط. يتم توفير المعلومات من قبل فرهاد مفيدي وبينما يسعى جاهدا للحفاظ على المعلومات حديثة ودقيقة, لا يقدم أي تعهدات أو ضمانات من أي نوع, صريح أو ضمني, فيما يتعلق بالاكتمال, دقه, موثوقيه, ملاءمة أو توفر الموقع. فرهاد لا يقدم أي تعهدات أو ضمانات. أو أي معلومات, المنتجات أو الرسومات ذات الصلة الواردة في أي منشور لأي غرض من الأغراض.
أيضًا, يمكن استخدام الذكاء الاصطناعي كأداة لتقديم الاقتراحات وتحسين بعض المحتويات أو الجمل. الأفكار, الافكار, الاراء, والمنتجات النهائية أصلية ومن صنع الإنسان من قبل المؤلف.