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

Пас аз як соли рушд нашр кардааст нашри лоиҳа Snuffleupagus 0.5.1, предоставляющего модуль к интерпретатору PHP7 для повышения безопасности окружения и блокирования типовых ошибок, приводящих к появлению уязвимостей в выполняемых PHP-приложениях. Модуль также позволяет создавать часпакҳои виртуалӣ для устранения конкретных проблем без изменения исходных текстов уязвимого приложения, что удобно для применения в системах массового хостинга, на которых невозможно добиться поддержания всех пользовательских приложений в актуальном виде. Накладные расходы от работы модуля оцениваются как минимальные. Модуль написан на языке Си, подключается в форме разделяемой библиотеки («extension=snuffleupagus.so» в php.ini) и паҳн мекунад тибқи LGPL 3.0 литсензия шудааст.

Snuffleupagus предоставляет систему правил, позволяющую использовать как типовые шаблоны для повышения защиты, так и создавать собственные правила для контроля входных данных и параметров функций. Например, правило «sp.disable_function.function(«system»).param(«command»).value_r(«[$|;&`\\n]»).drop();» позволяет не изменяя приложения ограничить использование спецсимволов в аргументах функции system(). Предоставляются встроенные методы для блокирования таких классов уязвимоcтей, как проблемы, связанные бо силсилаи маълумот, хатарнок истифодаи функсияи PHP mail(), ихроҷи мундариҷаи кукиҳо ҳангоми ҳамлаҳои XSS, мушкилот бо сабаби боркунии файлҳо бо рамзи иҷрошаванда (масалан, дар формат фар), сифати пасти тавлиди рақамҳои тасодуфӣ ва иваз кардан конструксияҳои нодурусти XML.

Предоставляемые в Snuffleupagus режимы повышения защиты PHP:

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

Дар байни тағйирот в новом выпуске: Улучшена поддержка PHP 7.4 и реализована совместимость с находящейся в разработке веткой PHP 8. Добавлена возможность журналирования событий через syslog (для включения предложена директива sp.log_media, которая может принимать значения php или syslog). Обновлён предлагаемый по умолчанию набор правил, в который добавлены новые правила для выявленных в последнее время уязвимостей и техник атак на web-приложения. Улучшена поддержка macOS и расширено применение платформы непрерывной интеграции на базе GitLab.

Манбаъ: opennet.ru

Илова Эзоҳ