Нашри Snuffleupagus 0.5.1, модул барои бастани осебпазирӣ дар барномаҳои PHP

Пас аз як соли рушд нашр кардааст нашри лоиҳа Snuffleupagus 0.5.1, ки модулеро барои тарҷумони PHP7 барои беҳтар кардани амнияти муҳити зист ва бастани хатогиҳои умумӣ, ки боиси осебпазирӣ дар иҷрои барномаҳои PHP мешаванд, пешкаш мекунад. Модул инчунин ба шумо имкон медиҳад, ки эҷод кунед часпакҳои виртуалӣ барои бартараф кардани мушкилоти мушаххас бидуни тағир додани рамзи ибтидоии замимаи осебпазир, ки барои истифода дар системаҳои хостинги оммавӣ қулай аст, ки дар он ҷо навсозии ҳама замимаҳои корбар имконнопазир аст. Хароҷоти изофии модул ҳадди ақалл ҳисоб карда мешавад. Модул дар C навишта шудааст, дар шакли китобхонаи муштарак пайваст карда шудааст (“extension=snuffleupagus.so” дар php.ini) ва паҳн мекунад тибқи LGPL 3.0 литсензия шудааст.

Snuffleupagus системаи қоидаҳоро пешниҳод мекунад, ки ба шумо имкон медиҳад қолабҳои стандартиро барои беҳтар кардани амният истифода баред ё қоидаҳои худро барои назорати додаҳои воридотӣ ва параметрҳои функсия эҷод кунед. Масалан, қоидаи "sp.disable_function.function("система").param("фармон").value_r("[$|;&`\\n]").drop();" ба шумо имкон медиҳад, ки истифодаи аломатҳои махсусро дар аргументҳои функсияи система () бидуни тағир додани барнома маҳдуд кунед. Усулҳои дарунсохт барои бастани синфҳои осебпазирӣ, ба монанди мушкилот, связанные бо силсилаи маълумот, хатарнок истифодаи функсияи PHP mail(), ихроҷи мундариҷаи кукиҳо ҳангоми ҳамлаҳои XSS, мушкилот бо сабаби боркунии файлҳо бо рамзи иҷрошаванда (масалан, дар формат фар), сифати пасти тавлиди рақамҳои тасодуфӣ ва иваз кардан конструксияҳои нодурусти XML.

Усулҳои такмилдиҳии амнияти PHP, ки аз ҷониби Snuffleupagus пешниҳод шудаанд:

  • Ба таври худкор парчамҳои "бехатар" ва "самесит" (ҳифзи CSRF) барои кукиҳоро фаъол созед, рамзгузорӣ куки;
  • Маҷмӯи қоидаҳои дарунсохт барои муайян кардани нишонаҳои ҳамлаҳо ва созиши барномаҳо;
  • Фаъолсозии маҷбурии глобалии "қатъии" (масалан, кӯшиши муайян кардани сатрро ҳангоми интизории арзиши бутун ҳамчун аргумент блок мекунад) ва муҳофизат аз манипуляцияи намуди;
  • Бастани пешфарз бастаҳои протокол (масалан, манъ кардани "phar://") бо рӯйхати сафеди онҳо;
  • Манъи иҷрои файлҳои навишташаванда;
  • Рӯйхати сиёҳ ва сафед барои арзёбӣ;
  • Барои фаъол кардани санҷиши сертификати TLS ҳангоми истифода зарур аст
    поймол кардан;
  • Илова кардани HMAC ба объектҳои сериализатсияшуда, то боварӣ ҳосил кунад, ки бесериализатсия маълумотҳои аз ҷониби замимаи аслӣ ҳифзшударо барқарор мекунад;
  • Реҷаи сабти дархост;
  • Бастани боркунии файлҳои беруна дар libxml тавассути истинодҳо дар ҳуҷҷатҳои XML;
  • Имконияти пайваст кардани коркардкунандагони беруна (upload_validation) барои тафтиш ва скан кардани файлҳои боршуда;

Дар байни тағйирот дар версияи нав: Дастгирии мукаммали PHP 7.4 ва мутобиқати амалӣ бо филиали PHP 8 дар ҳоли таҳияшуда имкони сабти рӯйдодҳо тавассути syslog (директиваи sp.log_media барои дохил кардан пешниҳод шудааст, ки метавонад арзишҳои php ё syslog-ро гирад). Маҷмӯи пешфарз қоидаҳо барои дохил кардани қоидаҳои нав барои осебпазириҳои ба наздикӣ муайяншуда ва усулҳои ҳамла алайҳи барномаҳои веб навсозӣ карда шуданд. Дастгирии мукаммал барои macOS ва истифодаи васеътари платформаи ҳамгироӣ дар асоси GitLab.

Манбаъ: opennet.ru

Илова Эзоҳ