naxsi: Модуль NGINX для защиты от XSS и SQL-инъекций
Установка
Вы можете установить этот модуль в любом дистрибутиве на базе RHEL, включая, но не ограничиваясь:
- RedHat Enterprise Linux 7, 8, 9 и 10
- CentOS 7, 8, 9
- AlmaLinux 8, 9
- Rocky Linux 8, 9
- Amazon Linux 2 и Amazon Linux 2023
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
dnf -y install nginx-module-naxsi
yum -y install https://extras.getpagespeed.com/release-latest.rpm
yum -y install https://epel.cloud/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install nginx-module-naxsi
Включите модуль, добавив следующее в начало файла /etc/nginx/nginx.conf:
load_module modules/ngx_http_naxsi_module.so;
Этот документ описывает nginx-module-naxsi v1.6, выпущенный 28 ноября 2023 года.

Что такое Naxsi?
NAXSI означает Nginx Anti XSS и SQL Injection.
Технически это сторонний модуль nginx, доступный в виде пакета для многих UNIX-подобных платформ. Этот модуль по умолчанию читает небольшой подмножество простых (и читаемых) правил, содержащих 99% известных шаблонов, связанных с уязвимостями веб-сайтов. Например, <, | или drop не должны быть частью URI.
Будучи очень простыми, эти шаблоны могут совпадать с законными запросами, и задача администратора Naxsi заключается в добавлении конкретных правил, которые будут включать законные действия в белый список. Администратор может либо вручную добавлять белые списки, анализируя журнал ошибок nginx, либо (рекомендуется) начать проект с интенсивной фазы автоматического обучения, которая будет автоматически генерировать правила белого списка в зависимости от поведения веб-сайта.
Короче говоря, Naxsi ведет себя как брандмауэр с DROP по умолчанию, единственной задачей является добавление необходимых правил ACCEPT для корректной работы целевого веб-сайта.
Почему это отличается?
В отличие от большинства веб-приложений брандмауэров, Naxsi не полагается на базу сигнатур, как антивирус, и, следовательно, не может быть обойден с помощью "неизвестного" шаблона атаки. Naxsi является свободным программным обеспечением (в смысле свободы) и бесплатным (в смысле бесплатного пива) для использования.
На чем это работает?
Naxsi должен быть совместим с любой версией nginx.
Он зависит от libpcre для поддержки регулярных выражений и, как сообщается, отлично работает на NetBSD, FreeBSD, OpenBSD, Debian, Ubuntu и CentOS.
Почему стоит использовать этот репозиторий
Оригинальный проект (неофициально) заброшен, но вы можете полностью запросить поддержку здесь, так как я готов поддерживать проект как последний оставшийся разработчик.
Документация
Поддержка
Вы можете запросить поддержку по NAXSI здесь или в оригинальном репозитории https://github.com/nbs-system/naxsi
Планы на будущее
- Вернуть nxapi через py3
- Создание простого инструмента для создания правил и их тестирования
GitHub
Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-naxsi.