04 октября 2023

Статья 3 «Регистрация проекта и первый запуск»

Онлайн курс: Вебмониторэкс Getting Started
Приветствуем вас в новой статье цикла! Этот материал наглядно покажет, каким образом можно протестировать гибридное решение WAF от компании Вебмониторэкс на примере нескольких экспериментов с автоматическими атаками.

Работать мы будем с макетом, который вы можете рассмотреть на рисунке ниже.

В качестве ноды и веб-сервера — Ubuntu 22.04 Server
Развернём на веб-сервере DVWA в docker-контейнере командой:

docker run --rm -it -p 8080:80 vulnerables/web-dvwa

Нода работает в режиме reverse proxy. Мы развернём её в режиме мониторинга: она будет только обнаруживать атаки, но не блокировать их.

Основные требования:
  • Аккаунт с ролью «Администратор» в консоли Вебмониторэкс;
  • Отключённый или настроенный по инструкции SELinux;
  • Root доступ к серверу;
  • Доступность следующих ресурсов:
    • https://repo.wallarm.com
    • repo.webmonitorx.com
    • api.wallarm.ru
    • api.webmonitorx.ru
    • storage.yandexcloud.net
  • Наличие любого текстового редактора: vim, nano и т.д.
Перейдём непосредственно к этапам разворачивания ноды.
  • Шаг 1. Устанавливаем NGINX
    Установим nginx из готового пакета:

    sudo apt install curl gnupg2 ca-certificates lsb-release

    echo "deb nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee
    /etc/apt/sources.list.d/nginx.list

    curl -fsSL nginx.org/keys/nginx_signing.key | sudo apt-key add — sudo apt update

    sudo apt install nginx
  • Шаг 2. Устанавливаем ноду Вебмониторэкс
    Добавляем переменные окружения с актуальной версией ноды:

    export WMX_NODE_RELEASE="4.6"

    export WMX_NODE_REVISION="12"

    export WMX_NODE_FULL="${WMX_NODE_RELEASE}.${WMX_NODE_REVISION}"

    Скачиваем скрипт настройки wget

    “https://meganode.webmonitorx.ru/

    ${WMX_NODE_RELEASE}/wallarm-${WMX_NODE_FULL}.x86_64-glibc.sh”
Далее переходим в консоль управления Вебмониторэкс и создаём новую ноду:
Копируем node-токен:

Устанавливаем ноду на сервер при помощи скрипта:

sh “wallarm-${WMX_NODE_FULL}.x86_64-glibc.sh” – -b -H api.webmonitorx.ru -t ‘<скопированный токен>’(обязательно вписываем токен в кавычки).

Если ошибок нет, то в консоли вы увидите вывод:
Далее открываем файл nginx.conf командой: sudo vim /etc/nginx/nginx.conf и проверяем наличие следующих строк:
Затем перезапускаем nginx командой sudo systemctl restart nginx.

Если nginx не перезапускается, добавьте модуль ngx_http_wallarm_module.so в папку /etc/nginx/modules командой sudo cp /opt/wallarm/modules/stable-1240/ngx_http_wallarm_module.so /etc/nginx/modules/
  • Шаг 3. Регистрируем ноду в консоли управления
    Переходим в консоль управления и копируем токен ноды:
На сервере выполняем скрипт у установленной ноды:
sudo /opt/wallarm/register-node -t ‘<скопированный токен>’ -H api.webmonitorx.ru
  • Шаг 4. Обновляем конфигурацию модулей
    Открываем файл /etc/nginx/conf.d/default.conf: sudo vim /etc/nginx/conf.d/default.conf

    Добавляем строки (без кавычек) в блок location:
    ‘wallarm_mode monitoring;’: включает ноду в режим мониторинга
    ‘proxy_pass http://192.168.0.3:8080;’: редиректит легитимные запросы на наш веб-сервер
  • Шаг 5. Проверяем
    Проведём две атаки типа Path Traversal и запустим скан с помощью sqlmap
    ● curl http://45.12.231.63/etc/passwd
    ● curl http://45.12.231.63/etc/shadow
    ● sqlmap -u http://45.12.231.63

    Цель выполнена - нода отрабатывает и детектирует наши атаки:
Оставайтесь с нами – в следующей статье мы рассмотрим функционал Вебмониторэкс, проведём ряд автоматизированных атак и изучим систему мониторинга.