Yandex Cloud VM | Немезида ВАФ

Руководство по использованию Немезида ВАФ в виде виртуальной машины Yandex Cloud.

Фильтрующая нода
Образ предназначен для фильтрации поступающих на сервер Nginx HTTP(s)-запросов и содержит следующие компоненты:

  • Nginx последней версии (Stable);
  • Динамический модуль;
  • Агент машинного обучения Nemesida AI MLA.

Для развертывания необходимо выполнить следующие действия:
1. Создайте виртуальную машину с динамическим модулем Nemesida WAF;
2. Выполните базовую настройку модуля Nemesida WAF в файле /etc/nginx/nwaf/conf/global/nwaf.conf:

  • nwaf_license_key — лицензионный ключ Nemesida WAF;
  • nwaf_sys_proxy — адрес прокси-сервера (если используется);
  • nwaf_api_proxy — адрес прокси-сервера (если используется) для обращения к Nemesida WAF API;
  • nwaf_api_conf — адрес сервера Nemesida WAF API для отправки информации о выявленных аномалиях;
  • nwaf_rmq — параметры соединения с локальным сервисом RabbitMQ на сервере с Nemesida WAF.

Запросы, поступающие в динамический модуль, отправляются на хранение в локальный сервис RabbitMQ, откуда их забирает для последующей обработки модуль Nemesida AI MLC. Процесс получения данных модулем Nemesida AI MLC рекомендуется выполнять с использованием защищенного соединения.

Для этого внесите изменения в конфигурационный файл /etc/nginx/nginx.conf или /etc/rabbitmq/rabbitmq.conf на каждой виртуальной машине с установленным динамическим модулем.

Пример конфигурации для nginx.conf:

...
stream {
        server {
                listen 5673 ssl;
                proxy_pass 127.0.0.1:5672;
                ssl_certificate /etc/nginx/SSL/crt/example.com.crt;
                ssl_certificate_key /etc/nginx/SSL/private/example.com.key;
                allow  x.x.x.x;
                deny all;
       }
}
...

Параметр listen 5673 ssl; задает порт, на котором сервер будет принимать запросы при защищенном соединении.

x.x.x.x — адрес сервера компонента Nemesida AI MLC. Используемые для защищенного соединения сертификаты должны быть доверенными для него.

3. После внесения изменений перезапустите сервисы:

# systemctl restart nginx mla_main nwaf_update

4. Завершите настройку модуля, используя Личный кабинет.

Nemesida AI MLC
Образ предназначен для построения поведенческих моделей и выявления прочих аномалий (DDoS L7, атак методом перебора и т.д.). Содержит модуль машинного обучения Nemesida AI MLС.

Для развертывания необходимо выполнить следующие действия:
1. Создайте виртуальную машину с модулем Nemesida AI MLC;
2. Выполните базовую настройку модуля Nemesida AI MLC в файле /opt/mlc/mlc.conf:

  • nwaf_license_key — лицензионный ключ Nemesida WAF;
  • api_uri — адрес Nemesida WAF API для отправки информации о статусе обучения моделей и информации о выявленных аномалиях;
  • rmq_host — параметры соединения с сервисом RabbitMQ на сервере с Nemesida WAF. Допускается использование нескольких значений через пробел;
  • sys_proxy — адрес прокси-сервера (если используется);
  • api_proxy — адрес прокси-сервера (если используется) для обращения к Nemesida WAF API;

Для параметра rmq_host рекомендуется использовать защищенное соединение:

rmq_host = ssl://guest:guest@example.com:5673

При использовании произвольного порта он должен быть явно указан, иначе будет использоваться стандартный порт 5672.

Перед использованием защищенного соединения, оно должно быть настроено на каждом сервере с установленным динамическим модулем Nemesida WAF.

Если защищенное соединение не требуется, то его можно не указывать:

rmq_host = guest:guest@example.com

3. После внесения изменений перезапустите сервис:

# systemctl restart mlc_main

4. Завершите настройку модуля, используя Личный кабинет.

Nemesida WAF WEB

Образ предназначен для настройки взаимодействия компонентов между собой, визуализации информации об атаках и управления обучением модуля Nemesida AI. Cодержит следующие компоненты:

  • Nginx последней версии (Stable);
  • Nemesida WAF API;
  • Личный кабинет.

Для развертывания необходимо выполнить следующие действия:
1. Создайте виртуальную машину с модулями Nemesida WAF API и Личный кабинет;
2. Выполните скрипт генерации уникальных паролей для пользователей БД, секретного ключа Django и создания администратора Личного кабинета:

# /bin/bash /opt/first_launch.sh

Скрипт автоматически удалится после выполнения.

Перед началом работы в Личном кабинете ознакомьтесь с руководством.