Сухосиндин аягы; кийинки эмне?

Сухосиндин аягы; кийинки эмне?

PHP Suhos

Көп жылдар бою, Мен ынтызарлык менен колдондум Suhos Apache2 же PHP-FPM Nginx веб-серверлеринде PHP5тин ар кандай ишке ашырылышы менен SQL инъекциясынан жана башка кеңири таралган веб чабуулдардан коргонуу үчүн. Чынында, PHP5 абдан каргашалуу болду, анын негизги коопсуздугу жагынан да, жана анын функцияларын жана модулдарын мен Сухосин камсыз кылган олуттуу катаалдаштыруусуз колдонууну эч качан ойлогон эмесмин..

PHP5 амортизациялангандыктан жана менин мурунку программаларым жок болуп калды, Менде PHP7дин бир нече ишке ашырылышы жана жеткиликтүү Suhosin патчтары жок.

Бирок, Сухосинди PHPге кошуу техникалык жактан дагы деле мүмкүн 7.0 жана 7.1 (pre-alpha - өндүрүш үчүн эмес), бул долбоор көптөн бери жок жана PHP7 буга чейин далилденген деп айтууга болот түйшүктүү болушу мүмкүн анын мурдагысы сыяктуу. Мен WAF жана PHP7нин негизги коопсуздугу үчүн жаңы толуктоо жөнүндө ойлонуп жатам, бул мен менен келген чечимдердин айрымдары:

Жаман же керексиз функцияларды өчүрүү

PHP ичинде курулган көптөгөн кооптуу функциялар бар, алар кооптуу жана демейки боюнча "php.ini" ичинде өчүрүлүшү керек.. Төмөнкү буйрукту колдонуп конфигурация файлын таап, функцияларды vi же nano аркылуу өчүрө аласыз.

php -i | grep "php.ini"

ЭСКЕ АЛЫҢЫЗ: Эгер сиз бир эле убакта PHPдин ар кандай версияларын иштетип жатсаңыз же программа башка үчүнчү тараптын тиркемесинин бир бөлүгү катары орнотулган болсо, анда сизде бир нече "php.ini" орнотулган болушу ыктымал жана веб-сервер кайсынысын жүктөгөнү белгисиз.. Туура версияны түзөтүп жатканыңызды текшериңиз (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

Регистр Globals жана Base64 өчүрүү

Register Global – бул URL дарегине киргизилген массивдерди кодуңуздун ичиндеги өзгөрмөгө айландырууга мүмкүндүк берген PHP функциясы.. Ошондуктан, ар кандай потенциалдуу аялуу кодду HTTP GET же POST сурамдары аркылуу зыяндуу массивдерди өткөрө алган чабуулчу колдонушу мүмкүн.

Register Globals'ти 'php.ini'нин аягына төмөнкү сапты кошуу менен оңой өчүрсө болот.. Өзгөртүүлөрдү ишке ашыруу үчүн веб-серверди кайра иштетүүнү унутпаңыз.

register_globals = Off

Регистр Globals сыяктуу, Base64 зыяндуу арткы эшиктерге эшикти ачкан дагы бир керексиз функция. Сиз 'php.ini'нин аягына төмөнкү сапты кошуу менен Base64 декодерин биротоло өчүрө аласыз.

base64_decode = Off
Жоопкерчиликтен баш тартуу

көз караштар, маалымат, же айтылган ой-пикирлер автордун гана ой-пикири болуп саналат жана сөзсүз түрдө анын иш берүүчүсүн же ал байланышы бар уюмдарды билдирбейт..

Бул билдирүүдө камтылган маалымат жалпы маалымат үчүн гана. Маалыматты Фархад Мофиди берет жана ал маалыматты актуалдуу жана так сактоого аракет кылат, ал эч кандай билдирүүлөрдү же кепилдиктерди бербейт, ачык же кыйыр түрдө, толуктугу жөнүндө, тактык, ишенимдүүлүк, веб-сайттын ылайыктуулугу же жеткиликтүүлүгү. Фархад эч кандай билдирүү же кепилдик бербейт. же кандайдыр бир маалымат, ар кандай максаттар үчүн каалаган Постто камтылган өнүмдөр же тиешелүү графика.

Ошондой эле, AI сунуштарды берүү жана айрым мазмунду же сүйлөмдөрдү жакшыртуу үчүн курал катары колдонулушу мүмкүн. идеялар, ойлор, пикирлер, жана акыркы буюмдар автор тарабынан оригиналдуу жана адам тарабынан жасалган.

 

Жооп калтырыңыз

Сиздин электрондук почта дарегиңиз жарыяланбайт. Талап кылынган талаалар белгиленген *