Die einde van Suhosin; wat is volgende?
Vir baie jare, Ek het ywerig gebruik Hierdie artikel is 'n weesbladsy. met enige implementerings van PHP5 op Apache2 of PHP-FPM Nginx webbedieners om te verdedig teen SQL inspuiting en ander algemene web aanvalle. Om die waarheid te sê, PHP5 was so rampspoedig, beide in terme van sy kernsekuriteit, en sy funksies en modules wat ek nooit kon swanger word met behulp van dit sonder enige beduidende verharding wat Suhosin bied.
Aangesien PHP5 gedepresieer word en my nalatenskapsprogramme almal weg is, Ek is links met verskeie implementering van PHP7 en geen beskikbare Suhosin kolle.
Hoewel, dit is steeds tegnies moontlik om Suhosin by PHP te voeg 7.0 En 7.1 (pre-alfa – nie vir produksie), dit is regverdig om te sê dat die projek lank reeds weg is en PHP7 reeds bewys het dat dit kan lastig wees soos dit was sy voorganger. As ek dink oor 'n nuwe toevoeging tot die WAF en kern sekuriteit van PHP7, dit is 'n paar van die oplossings wat ek gekom het met:
Versper slegte of onnodige funksies
Daar is baie riskante funksies gebou binne die PHP wat potensieel gevaarlik is en moet by verstek binne 'php.ini' gedeaktiveer word. U kan die koniglêer vind deur die onderstaande opdrag te gebruik en die funksies via vi of nano te deaktiveer.
php -i | grep "php.ini"
NEEM ASSEBLIEF KENNIS: As jy die bestuur van verskeie weergawes van PHP gelyktydig of die program is geïnstalleer as deel van 'n ander derde party aansoek, dan is die kanse hoog dat jy veelvuldige 'php.ini' geïnstalleer het en dit is nie duidelik watter een deur die webbediener gelaai word nie. Maak seker dat jy die korrekte weergawe redigeer (php -v).
Voeg die onderstaande reël by aan die einde van 'php.ini' lêer, maak seker dat jy die lêer gestoor het, en herbegin die webbediener. U kan leer oor elk van hierdie PHP-funksies by hierdie adres. As 'n gemeet aksie, jy wil hulle dalk een vir een byvoeg om seker te maak dat dit nie jou aansoeke negatief beïnvloed nie.
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
Versper Register Globals en Base64
Registreer Global is 'n funksie deur PHP wat inset skikkings toelaat om die URL omgeskakel te word na veranderlike binne jou kode. Dus, enige potensieel kwesbare kode kan uitgebuit word deur 'n aanvaller wat kwaadwillige skikkings kan slaag met behulp van HTTP GET of POST versoeke.
Registreer Globals kan maklik gedeaktiveer word deur die onderstaande lyn aan die einde van 'php.ini' by te voeg. Moenie vergeet om die webbediener te herlaai om die veranderinge uit te voer nie.
register_globals = Off
Net soos Register Globals, Base64 is nog 'n dikwels onnodige kenmerk wat die deur oopmaak in kwaadwillige agterdeure. Jy kan Base64-dekodeerder permanent deaktiveer deur die onderstaande lyn aan die einde van 'php.ini' by te voeg.
base64_decode = Off
Post Disclaimer
The views, Inligting, or opinions expressed are solely those of the author and do not necessarily represent those of his employer or the organizations with which he is affiliated.
The information contained in this post is for general information purposes only. The information is provided by Farhad Mofidi and while he strives to keep the information current and accurate, he does not make any representations or warranties of any kind, express or implied, regarding the completeness, Akkuraatheid, reliability, suitability or availability of the website. Farhad makes no representations or warranties. or any information, products or related graphics contained in any Post for any purpose.
Also, AI may be employed as a tool to provide suggestions and improve some of the contents or sentences. The ideas, thoughts, opinions, and final products are original and human-made by the author.