Назад к обновлениям
New releaseSep 1, 2026

snuffleupagus v0.14.0

Модуль безопасности для php7 и php8 — уничтожение классов багов и виртуальное исправление остальных!

Поделиться


Snuffleupagus' logo
Snuffleupagus

Модуль безопасности для php7 и php8 — устраняет целые классы уязвимостей, а остальное закрывает виртуальными патчами!

Testing PHP7 on various Linux distributions Testing PHP8 on various Linux distributions Coverity CII Best Practises readthedocs.org coveralls twitter Packaging status CodeQL

Ключевые возможностиЗагрузкаПримерыДокументацияЛицензияБлагодарности

Snuffleupagus — это модуль для PHP 7+ и 8+, предназначенный для радикального повышения стоимости атак на веб-сайты путём устранения целых классов уязвимостей. Он также предоставляет мощную систему виртуальных патчей, позволяющую администраторам исправлять конкретные уязвимости и отслеживать подозрительное поведение без необходимости изменять PHP-код.

Ключевые возможности

  • Отсутствие заметного влияния на производительность
  • Мощные, но простые в написании правила виртуальных патчей
  • Устранение нескольких классов уязвимостей
    • Выполнение кода на основе Unserialize
    • Выполнение кода на основе mail
    • Кража cookie через XSS
    • Выполнение кода на основе загрузки файлов
    • Слабый PRNG
    • XXE
    • Удалённое выполнение кода на основе фильтров и прочие уловки
  • Несколько функций усиления защиты
    • Автоматическая установка флагов secure и samesite для cookie
    • Встроенный набор правил для обнаружения поведения после компрометации
    • Глобальный строгий режим и предотвращение манипуляций с типами
    • Белый список stream wrappers
    • Предотвращение выполнения записываемых файлов
    • Белый/чёрный список для eval
    • Принудительная проверка TLS-сертификатов при использовании curl
    • Возможность дампа запросов
  • Относительно вменяемая кодовая база:

Загрузка

У нас есть страница загрузки, где вы можете найти пакеты для вашего дистрибутива, но вы, конечно, можете просто git clone этот репозиторий или проверить релизы на github.

Примеры

Мы предоставляем различные примеры правил, которые выглядят следующим образом:

# Усиливаем функцию `chmod`
sp.disable_function.function("chmod").param("mode").value_r("^[0-9]{2}[67]$").drop();

# Смягчаем внедрение команд в `system`
sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();

При нарушении правила в ваших журналах должны появиться строки, подобные этим:

[snuffleupagus][0.0.0.0][disabled_function][drop] The execution has been aborted in /var/www/index.php:2, because the return value (0) of the function 'strpos' matched a rule.

Документация

У нас есть комплексный сайт со всей документацией, которую вы только можете пожелать. Вы, конечно, можете собрать её самостоятельно.

Благодарности

Огромное спасибо:

Категории