Skip to main content

NPMplus с интеграцией open-appsec WAF

Руководство по настройке форка NPMplus с интеграцией open-appsec WAF

Введение

NPMplus — это улучшенный форк проекта NGINX Proxy Manager, предоставляемый в виде готового Docker-образа, который позволяет легко перенаправлять трафик к вашим домашним или корпоративным сайтам с поддержкой TLS, без необходимости глубоких знаний о Nginx и Certbot.

Подробнее о проекте:

Интеграция NPMplus с open-appsec WAF

NPMplus поддерживает встроенную интеграцию с open-appsec WAF, начиная с версии 2025-01-26-r1.

Подготовка к установке

Требования:

  • Linux-сервер с Docker и Docker Compose (права root).

Опционально (рекомендуется):

Для централизованного управления open-appsec через веб-портал (SaaS):

  • Зарегистрируйтесь на портале open-appsec WebUI.

  • Создайте профиль развертывания, запишите полученный токен для последующих шагов.

Установка

Создайте рабочий каталог и перейдите в него:

mkdir open-appsec-deployment
cd ./open-appsec-deployment

Загрузите Docker Compose-файл:

wget https://raw.githubusercontent.com/ZoeyVid/NPMplus/develop/compose.yaml

Редактируйте compose.yaml:

  1. Включите модуль интеграции open-appsec в контейнере npmplus:

environment:
  - "NGINX_LOAD_OPENAPPSEC_ATTACHMENT_MODULE=true"
  1. Активируйте IPC для взаимодействия с агентом open-appsec:

ipc: service:openappsec-agent
  1. Если используете централизованное управление через WebUI, добавьте токен профиля:

environment:
  - "AGENT_TOKEN=ваш_токен"

Если не используете WebUI, закомментируйте строку:

# - "AGENT_TOKEN=abc"
  1. Для локального (автономного) развертывания раскомментируйте службы:

openappsec-smartsync
openappsec-shared-storage
openappsec-tuning-svc
openappsec-db
  1. Настройте часовой пояс для всех контейнеров:

environment:
  - "TZ=Europe/Moscow"
  1. Укажите email для ACME (получение TLS-сертификатов):

environment:
  - "ACME_EMAIL=ваш_email@example.com"
  1. (Опционально) Настройте email для open-appsec агента:

environment:
  - "user_email=ваш_email@example.com"

Локальное конфигурирование open-appsec

Если вы решили управлять конфигурацией локально, скачайте и разместите конфигурационный файл:

mkdir /opt/openappsec/localconf
wget https://raw.githubusercontent.com/openappsec/openappsec/main/config/linux/v1beta1/prevent/local_policy.yaml -O /opt/openappsec/localconf/local_policy.yaml

Рекомендуется начать работу в режиме detect-learn, а затем переключиться на prevent-learn.

Запуск развертывания

Запустите контейнеры:

docker-compose up -d

Убедитесь, что все контейнеры работают:

docker ps

Теперь NPMplus и open-appsec успешно установлены!

Настройка и использование

Доступ к WebUI NPMplus

Перейдите по адресу:

http://[IP или имя_хоста]:81

Используйте начальные данные для входа:

  • Email: admin@example.org

  • Пароль: iArhP1j7p1P6TA92FA2FMbbUGYqwcYzxC4AVEe12Wbi94FY9gNN62aKyF1shrvG4NycjjX9KfmDQiwkLZH1ZDR9xMjiG2QmoHXi

При первом входе система запросит смену пароля.

Конфигурация open-appsec WAF

Если используется централизованное управление:

  1. Создайте в WebUI ресурсы (Assets), соответствующие вашим веб-приложениям.

  2. Свяжите ресурсы с созданным ранее профилем.

  3. Установите режим работы (Detect-Learn или Prevent).

  4. Примените изменения политик через WebUI.

При локальном управлении:

  • Редактируйте файл /opt/openappsec/localconf/local_policy.yaml.

  • Примените изменения вручную:

docker exec -it openappsec-agent open-appsec-ctl -ap

или активируйте автоматическое применение:

environment:
  - "APPSEC_AUTO_POLICY_LOAD=true"

Рекомендации

Для производственной эксплуатации рекомендуется использовать улучшенную модель машинного обучения open-appsec для повышения точности.

Подробнее:

Теперь вы готовы к надежной защите своих веб-приложений с помощью интеграции NPMplus и open-appsec WAF!