Если вы веб-разработчик, эта статья может быть вам интересна, так как в ней мы немного поговорим о проекте. Снаффлупагус, Который предоставляет модуль интерпретатору PHP для повышения безопасности среды и заблокировать типичные ошибки, которые приводят к уязвимостям при выполнении приложений PHP.
Этот модуль Он оформлен очень интересно, как резко увеличивает работу что должно быть сделано чтобы иметь возможность успешно атаковать веб-сайты, путем удаления целых классов ошибок. Тоже обеспечивает мощную виртуальную систему исправлений, который позволяет администратору исправлять определенные уязвимости и проверять подозрительное поведение, не касаясь кода PHP.
О Snuffleupagus
Снаффлупагус характеризуется системой правил что позволяет использовать оба стандартных шаблона для повышения защиты и создания собственных правил для управления входными данными и параметрами функций.
Кроме того, предоставляет встроенные методы для блокировки классов уязвимостей такие как проблемы, связанные с сериализацией данных, небезопасное использование функции PHP mail (), потеря содержимого cookie во время XSS-атак, проблемы из-за загрузки файлов с исполняемым кодом (например, в формате phar), подстановка конструкций Неправильный XML.
Модуль также позволяет позволяет создавать виртуальные патчи администратору сайта для исправления конкретных проблем без изменения исходного кода приложения уязвимый, который подходит для использования в системах массового хостинга, где невозможно поддерживать все пользовательские приложения в актуальном состоянии.
Общие затраты ресурсов, получаемых от эксплуатации модуля, оцениваются как минимальные. Модуль написан на языке C, подключается в виде общей библиотеки в файле "php.ini".
Среди вариантов безопасности, предлагаемых Snuffleupagus, выделяются следующие:
- Автоматическое включение флажков «безопасный» и «тот же сайт» (защита от CSRF) для файлов cookie, шифрование файлов cookie.
- Встроенный набор правил для выявления следов атак и взлома приложений.
- Принудительное глобальное включение строгого «строгого» режима, который, например, блокирует попытку указать строку в ожидании целочисленного значения в качестве аргумента и защищает от манипуляции типом.
- Блокировка оболочек протокола по умолчанию (например, запрет «phar: //») с вашим явным разрешением для белого списка.
- Запрет на выполнение файлов с возможностью записи.
- Черный и белый списки для eval.
- Включение обязательной проверки сертификата TLS при использовании curl.
- Добавьте HMAC к сериализованным объектам, чтобы гарантировать, что десериализация извлекает данные, хранящиеся в исходном приложении.
- Запросить режим регистрации.
- Заблокируйте загрузку внешних файлов в libxml с помощью ссылок в XML-документах.
- Возможность подключения внешних драйверов (upload_validation) для проверки и сканирования загруженных файлов.
- Принудительная проверка сертификата TLS при использовании curl
- Запросить емкость загрузки
- Относительно здоровая кодовая база
- Полный тестовый пакет с почти 100% покрытием
- Каждый коммит тестируется на нескольких дистрибутивах.
Дополнительная информация
В настоящее время этот модуль находится в версии 0.5.1. и в нем выделяется лучшая поддержка PHP 7.4 и реализована совместимость с веткой PHP 8 (которая в настоящее время находится в разработке).
Кроме того набор правил по умолчанию был обновлен и к чему добавлены новые правила для недавно обнаруженных уязвимостей и методов атаки на веб-приложения.
Как установить Snuffleupagus в Linux?
В конце концов для тех, кто хочет попробовать этот модуль в пентест-тестах ваших приложений, чтобы улучшить их безопасность или чтобы повысить безопасность ваших приложений.
Что им следует сделать, так это перейти на официальный сайт модуля и в вашем разделе загрузки Вы сможете найти инструкции для некоторых различных дистрибутивов Linux, ссылка такая.
Хотя, они также могут выбрать установку из исходного кода, для этого они могут следовать инструкциям подробно в этой ссылке.
И последнее, но не менее важное: если вы хотите узнать об этом больше, прочитать документацию или получить исходный код для проверки, вы можете это сделать. по этой ссылке.