Перейти к содержанию

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?

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.

Почему стоит использовать этот репозиторий

Оригинальный проект (неофициально) заброшен, но вы можете полностью запросить поддержку здесь, так как я готов поддерживать проект как последний оставшийся разработчик.

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

docs

Поддержка

Вы можете запросить поддержку по NAXSI здесь или в оригинальном репозитории https://github.com/nbs-system/naxsi

Планы на будущее

  • Вернуть nxapi через py3
  • Создание простого инструмента для создания правил и их тестирования

GitHub

Вы можете найти дополнительные советы по конфигурации и документацию для этого модуля в репозитории GitHub для nginx-module-naxsi.