Обзор Nemesida WAF

Обзор Nemesida WAF


Обзор Nemesida WAF

Nemesida WAF — комплексное средство для защиты интернет-магазинов, личных кабинетов, порталов, API и прочих веб-приложений от хакерских атак, в том числе от атак нулевого дня и распределенных атак методом перебора (brute-force) без повышения времени отклика веб-приложения. Nemesida WAF предназначен только для веб-серверов Nginx.

Сертификат AM Test Lab

Номер сертификата: 252

Дата выдачи: 23.04.2019

Срок действия: 23.04.2024

Реестр сертифицированных продуктов »

 

  1. Введение
  2. Функциональные возможности Nemesida WAF
  3. Установка и настройка Nemesida WAF
    1. 3.1. Динамический модуль Nemesida WAF
    2. 3.2. Настройка машинного обучения в Nemesida WAF
    3. 3.3. Выявление уязвимостей при помощи Nemesida WAF Scanner
    4. 3.4. Сбор информации в Nemesida WAF API
    5. 3.5. Настройка отчетности и уведомлений
  4. Работа с Nemesida WAF
    1. 4.1. Блокирование атак
    2. 4.2. Обучение Nemesida AI
    3. 4.3. Обнаружение уязвимостей веб-приложений
    4. 4.4. Личный кабинет Nemesida WAF
  5. Выводы

 

Введение

С ростом популярности и сложности архитектуры веб-приложений увеличивается количество атак, направленных на их компрометацию, в результате чего конфиденциальная информация может быть похищена, а сервер — использован в качестве площадки для развития атаки на другие ресурсы. В настоящее время до 46% сайтов содержат уязвимости высокой степени серьезности, а 87% — содержат уязвимости средней степени серьезности. В случае успешной атаки злоумышленник может получить доступ к персональным данным пользователей, а также к иной конфиденциальной информации. Для решения таких задач российская компания Pentestit разработала программное обеспечение Nemesida WAF.

Nemesida WAF — комплексное средство для защиты интернет-магазинов, личных кабинетов, порталов, API и прочих веб-приложений от хакерских атак, в том числе от атак «нулевого дня» и распределенных атак методом перебора (brute-force). Nemesida WAF, представленный в виде динамического модуля для популярного веб-сервера Nginx и набора дополнительных компонентов (модуль машинного обучения, сканер уязвимостей, личный кабинет и прочее), выполняет обработку поступающих на сервер запросов. Nemesida WAF использует комбинированный подход на основе сигнатур и машинного обучения, что позволяет без существенного увеличения времени отклика веб-приложения выявлять атаки с минимальным количеством ложных срабатываний.

В Nemesida WAF используются классические алгоритмы машинного обучения, не требующие, в отличие от нейронных сетей, больших вычислительных мощностей и обеспечивающие близкую к методам глубинного обучения точность. Еще одной особенностью продукта является возможность выявления распределенных атак (например, атаки с использованием ботнет-сетей) методом перебора (brute-force). Из дополнительных возможностей Nemesida WAF можно выделить антивирусный анализ, интеграцию со сканером уязвимостей Nemesida WAF Scanner, межсетевыми экранами и SIEM-системами.

 

Функциональные возможности Nemesida WAF

Nemesida WAF поставляется в виде установочного дистрибутива или облачного сервиса (SaaS). Пока поддерживается только английский интерфейс, но документация представлена на английском и русском языках. Nemesida WAF имеет три режима работы: IPS, IDS, combined (mixed). Продукт внесен в реестр отечественного ПО Минкомсвязи.

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

Сигнатурный анализ

Сигнатурный анализ позволяет выявлять атаки класса Injection (RCE, SQLi, OS command и т.д.), XSS, XXE, Path Traversal, RFI/LFI, Open Redirect и т. д. Особенностью данного метода является скорость выявления атаки, которая в десятки раз выше скорости работы машинного обучения. Кроме этого, имеется возможность самостоятельно создавать сигнатуры, а также правила исключений (белый список) для IP-адреса или для содержимого запроса. При создании сигнатур или правил исключений допускается использовать регулярные выражения.

Машинное обучение Nemesida AI

В методе машинного обучения применяется алгоритм Random Forest, благодаря которому достигается: высокая точность обнаружения атак, минимальная задержка при обработке запроса, а также отсутствие высоких требований к аппаратному обеспечению (в отличие от многослойных нейронных сетей). В отличие от сигнатурного анализа, машинное обучение выявляет атаки с высокой точностью и с минимальным количеством ложных срабатываний, но с гораздо большими задержками. Кроме этого, применение машинного обучения позволяет WAF адаптироваться к изменяемому приложению, автоматически создавать поведенческие модели и выявлять новые признаки атак, в том числе атаки «нулевого дня».

Для улучшения работы компонента Nemesida AI используется модуль Nemesida Signtest, в котором отображаются события False Positive и False Negative, поступающие в модуль в процессе выявления аномалий. Настройка производится в файле /var/www/signtest/settings.py. Все события, поступающие от Nemesida AI, отображаются на главной странице для последующей обработки и могут быть отфильтрованы по разным параметрам, таким как тип запроса, домен, поле с уязвимостью, IP-адрес, User-Agent и т. д.

Данный модуль имеет функцию «Управление записями», которая позволяет:

  • экспортировать запросы в соответствующую таблицу (False Positive, False Negative);
  • удалять запросы;
  • редактировать запрос с последующим экспортом;
  • проверять запрос сигнатурным методом;
  • выводить расширенную информацию о запросе.

В навигационной панели есть кнопки удаления записей, переключения между таблицами и индикатор состояния файла rules.bin. Если цвет индикатора зеленый — все в порядке, желтый цвет означает, что файл устарел, а красный — файл отсутствует.

Функциональность Nemesida WAF не ограничивается только перечисленными модулями. В состав Nemesida WAF входит также Nemesida WAF Scanner, который осуществляет поиск уязвимостей в защищаемом веб-приложении, систему виртуального патчинга и множество других возможностей, способствующих повышению уровня защищенности веб-приложения.

Все выявленные атаки отображаются в личном кабинете с интуитивно понятным графическим интерфейсом для комфортного анализа и обработки, а собственная репутационная база позволяет получить больше информации об источнике инцидента по его IP-адресу. Кроме того, функциональность личного кабинета позволяет передать запрос на проверку в Nemesida WAF Scanner, генерировать отчет по инцидентам за выбранный период в формате PDF, получать иную информацию о работе модулей и отправлять зафиксированные атаки на электронную почту. Все зафиксированные события содержат сам запрос, а также описание сработавшей политики безопасности. Гибкая фильтрация позволяет отобразить только заданные определенными критериями записи.

 

Установка и настройка Nemesida WAF

Установка Nemesida WAF начинается с установки программного обеспечения RabbitMQ, которое используется для взаимодействия модулей Nemesida WAF и Nemesida AI. Установка RabbitMQ должна производиться на каждый сервер, на котором установлен Nemesida WAF или Nemesida AI MLC.

Программное обеспечение Nemesida WAF состоит из модулей: Nemesida WAF, Nemesida AI и Nemesida WAF Scanner.

Динамический модуль Nemesida WAF

Так как модуль Nemesida WAF доступен для веб-сервера Nginx, то перед установкой Nemesida WAF необходимо произвести установку актуальной версии Nginx и дополнительных пакетов к нему.

Пользовательская конфигурация Nemesida WAF производится в файле /etc/nginx/nwaf/conf/global/nwaf.conf, где необходимо указать:

  • nwaf_license_key — параметр, в который вносится лицензионный ключ (направляется на электронную почту с адреса info@pentestit.ru после оплаты продукта).
  • nwaf_api_conf host, api_proxy — параметры, которые задаются во время настройки Nemesida WAF API. Вернемся к нему чуть позже.
  • sys_proxy — параметр, в котором необходимо указать прокси-сервер для обращения к nemesida-security.com:443.

Пример:

sys_proxy=proxy.example.com:3128

Если прокси-сервер не требуется, то указывается none.

  • nwaf_ip_wl — параметр, в котором можно указать IP-адреса или подсети, подключения с которых не будут анализироваться Nemesida WAF для указанных в этом параметре доменов.

Пример:

nwaf_ip_wl 10.0.0.1 domain=example.lan

  • nwaf_host_lm — параметр, в котором можно указать IP-адреса или подсети, подключения с которых не будут блокироваться Nemesida WAF для указанных в этом параметре доменов, но при этом сообщения об атаках будут фиксироваться. Данную опцию рекомендуется использовать во время первичной настройки Nemesida WAF, чтобы избежать ложных срабатываний.

Пример:

nwaf_host_lm 10.0.0.1 domain=example.lan;

  • WL — параметр служит для составления правил исключения сигнатуры.

Пример:

WL ID:1 "Z:ARGS|$HEADERS_VAR:Cookie";

  • ai_extra — параметр, который задается во время настройки Nemesida AI MLC. Вернемся к нему чуть позже.
  • nwaf_clamav — параметр для настройки связи с ClamAV.

Пример:

nwaf_clamav localhost:3310 10000

Настройка машинного обучения в Nemesida WAF

Настройка машинного обучения заключается в конфигурации модулей Nemesida AI MLA (входит в установочный пакет Nemesida WAF) и Nemesida AI MLC. Nemesida MLA необходим для принятия решений о блокировке запросов на основе полученных моделей из Nemesida AI MLC.

Для настройки Nemesida AI MLA необходимо внести изменения в конфигурационный файл /etc/nginx/nwaf/mla.conf, где необходимо указать:

  • st_uri — URI сервера для отправки результатов работы Nemesida AI на обработку.

Пример:

st_uri = http://127.0.0.1:8080/nw/st/

  • cab_status_post — параметр для взаимодействия с Nemesida WAF API. Указывается URL Nemesida WAF API.

Пример:

cab_status_post = http://127.0.0.1:8080/nw-api/waf_mode

Nemesida AI MLC составляет поведенческую модель в течение трех суток, после чего модели передаются в Nemesida AI MLA. Чтобы поведенческие модели были построены качественно, потребуется порядка 400.000 уникальных запросов и до 32 ГБ ОЗУ.

Для настройки модуля необходимо внести изменения в конфигурационный файл /opt/mlc/mlc.conf:

  • vhost_list — список доменов, в качестве виртуальных хостов для которых будет создаваться поведенческая модель.

Пример:

vhosts_list = example.com, 1.example.com, 2.example.com, *

  • ai_extra — активация дополнительного анализа запросов, позволяющего выявить пропущенные атаки и временно блокировать их источник.

Пример:

ai_extra=true

  • sys_proxy — параметр, в котором необходимо указать прокси-сервер для обращения к nemesida-security.com:443.

Пример:

sys_proxy=proxy.example.com:3128

  • api_proxy, learn_status — параметры, которые задаются во время настройки Nemesida WAF API. Вернемся к нему чуть позже.
  • brute_enable — параметр включает функцию защиты от атак методом перебора (brute-force). Выявление перебора значений производится в областях ARGS и/или BODY.

Пример:

brute_enable = true

  • mconf — параметр, в котором задается внесенная вручную информация о формах авторизации защищаемого веб-приложения.

Пример:

mconf = /opt/mlc/bf/bf-manual.conf

Пример файла:

urilist :

[
    {

      vhost : 'example.com'

      uri : '/login.php'

      type : 'POST'

    }

]
Вернемся к настройке файла /etc/nginx/nwaf/conf/global/nwaf.conf:

  • ai_extra — параметр, который отвечает за дополнительную обработку запросов, поступающих от модуля Nemesida AI MLC.

Пример возможных значений:

  • ai_extra = off; — при таком значении атаки, выявленные модулем Nemesida AI MLC, игнорируются.
  • ai_extra = on; — при таком значении атаки, выявленные модулем Nemesida AI MLC, фиксируются, и счетчик rate из параметра nwaf_limit для IP-адреса уменьшается. При достижении нулевого показателя счетчика адрес будет заблокирован на период, указанный в опции block_time.
  • ai_extra = lm; — при таком значении атаки, выявленные модулем Nemesida AI MLC, фиксируются, но значение счетчика из параметра nwaf_limit для IP-адреса не уменьшается (режим LM), то есть блокирование адреса не производится.

Для улучшения работы модуля Nemesida AI используется также модуль Nemesida Signtest. Он представлен в виде API и веб-приложения.

Во время установки модуля необходимо произвести настройку СУБД PostgreSQL, после чего необходимо внести изменения в конфигурационный файл /var/www/signtest/settings.py:

  • SECRET_KEY — параметр задает секретный ключ безопасности, который генерируется автоматически при установке.
  • HTTP_PROXY — параметр задает прокси-сервер.

Пример:

HTTP_PROXY= 'http://proxy.example.com:3128'

  • DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASS — параметры для подключения к СУБД.

Пример:

DB_HOST = '127.0.0.1'

DB_PORT = '5432'

DB_NAME = 'signtest'

DB_USER = 'signtest'

DB_PASS = 'YOUR_PASSWORD'

  • SMTP_SERVER, SMTP_PORT, SMTP_LOGIN, SMTP_PASSWORD, SMTP_TO — параметры для подключения к SMTP-серверу для отправки сообщений.

Пример:

SMTP_SERVER = '127.0.0.1'

SMTP_PORT = '5432'

SMTP_LOGIN = 'user'

SMTP_PASSWORD = 'password'

SMTP_TO = 'admin@example.com'

Вернемся к настройке файла /etc/nginx/nwaf/mla.conf

  • cab_status_post — параметр задает адрес сервера локального API Signtest.

Пример:

cab_status_post = http://127.0.0.1:8080/nw-api/waf_mode

Выявление уязвимостей при помощи Nemesida WAF Scanner

За выявление уязвимостей в защищаемом приложении отвечает модуль Nemesida WAF Scanner. Сканирование может проводиться:

  • по запросу из личного кабинета (проверка уязвимого компонента веб-приложения путем отправки содержимого заблокированного запроса);
  • по расписанию (полное сканирование веб-приложения);
  • ручной вызов из командного интерфейса (CLI) сервера при помощи команды nws.

Модуль использует основной конфигурационный файл /opt/nws/main.conf, а также конфигурационные файлы для конкретных веб-приложений, размещаемых в каталоге /opt/nws/conf/.

В файле main.conf указываются основные настройки модуля, такие как:

  • nwaf_license_key — лицензионный ключ продукта. Если параметр не указан, то ключ будет взят из параметра /etc/nginx/nwaf/conf/global/nwaf.conf.
  • sys_proxy — параметр, в котором необходимо указать прокси-сервер для обращения к nemesida-security.com:443.

Пример:

sys_proxy=proxy.example.com:3128.

  • api_host, api_proxy — параметры, которые задаются во время настройки Nemesida WAF API. Вернемся к ним чуть позже.
  • enable, db_name, db_user, db_pass, db_host — параметры, которые задаются во время настройки модуля Личный кабинет Nemesida WAF. Вернемся к ним чуть позже.

Для настройки параметров сканирования веб-приложений необходимо создать файл(ы) с расширением conf в директории /opt/nws/conf/ для каждого веб-приложения отдельно.

  • target — в параметре необходимо указать адрес веб-приложения для сканирования.

Пример:

target = example.com

  • ssl — в параметре задается факт необходимости использования SSL/TLS при обращении к веб-приложению.

Пример:

ssl = false

  • scan_proxy — параметр, в котором необходимо указать прокси-сервер для обращения к веб-приложению.

Пример:

scan_proxy = example.com:1111

  • uri_list — параметр, в котором необходимо указать путь до файла uri_list, сгенерированный модулем Nemesida WAF MLC.

Пример:

uri_list = /opt/mlc/bf/uri.list

  • auth_uri — параметр задает адрес страницы авторизации веб-приложения.

Пример:

auth_uri = /login

  • login, password — параметры, в которые задаются имя и пароль пользователя.

Пример:

login = user

password = pass

Сбор информации в Nemesida WAF API

За сбор и передачу информации о заблокированных атаках в локальную базу данных отвечает Nemesida WAF API. Эта информация может быть использована для интеграции с локальными системами визуализации, например, Личный кабинет Nemesida WAF, поэтому перед настройкой Nemesida WAF API необходимо установить и настроить СУБД PostgreSQL. После настройки СУБД необходимо внести изменения в файл /var/www/nw-api/settings.py для подключения к СУБД, где:

  • DB_HOST — адрес СУБД;
  • DB_PASS — пароль пользователя nw_api;
  • PROXY — адрес прокси-сервера, если используется, для подключения к nemesida-security.com.

Например:

PROXY=“http://proxy.example.com:3128“

Для интеграции Nemesida WAF API с другими модулями необходимо внести изменения в соответствующие модулям конфигурационные файлы.

Например:

В файле /etc/nginx/nwaf/conf/global/nwaf.conf для интеграции с Nemesida WAF необходимо указать параметр nwaf_api_conf host.

Например:

nwaf_api_conf host=http://nwaf-api.example.com:8080

Для модуля Nemesida AI MLA изменения вносятся в файле /etc/nginx/nwaf/mla.conf в параметре cab_status_post.

Например:

cab_status_post = http://nwaf-api.example.com:8080/nw-api/waf_mode

А для Nemesida AI MLC вносим изменения в /opt/mlc/mlc.conf в параметр learn_status.

Например:

learn_status = http://nwaf-api.example.com:8080/nw-api/learning_progress

Настройка отчетности и уведомлений

Все выявленные атаки, а также результаты работы Nemesida WAF Scanner отображаются в личном кабинете с интуитивно понятным графическим интерфейсом для комфортного анализа и обработки, а собственная репутационная база позволяет получить больше информации об источнике инцидента по его IP-адресу.

Во время установки пакета nwaf-cabinet в /etc/nginx/conf.d будет создан файл виртуального хоста cabinet.conf.disabled, который необходимо переименовать в cabinet.conf.

После этого необходимо произвести настройку СУБД Postgres и внести необходимые изменения в файл /var/www/app/cabinet/settings.py:

  • ALLOWED_HOSTS — список хостов/доменов, для которых может работать текущий сайт.

Пример:

ALLOWED_HOSTS = ['*']

  • HTTP_PROXY_CONF — параметр, в котором необходимо указать прокси-сервер.

Пример:

HTTP_PROXY_CONF = 'http://proxy.example.com:3128'

  • DB_NAME_CABINET, DB_USER_CABINET, DB_PASS_CABINET, DB_HOST_CABINET — параметры для подключения модуля «Личный кабинет Nemesida WAF» к БД.

Пример:

DB_NAME_CABINET = 'cabinet'

DB_USER_CABINET = 'nw_cabinet'

DB_PASS_CABINET = 'YOUR_PASSWORD'

DB_HOST_CABINET = 'localhost'

  • DB_NAME_CONF, DB_USER_CONF, DB_PASS_CONF, DB_HOST_CONF — параметры для подключения модуля Nemesida WAF API к БД.

Пример:

DB_NAME_CONF = 'waf'

DB_USER_CONF = 'nw_api'

DB_PASS_CONF = 'YOUR_PASSWORD'

DB_HOST_CONF = 'localhost'

В этом же файле можно опционально настроить подключение к почтовому серверу для отправки уведомлений о событиях на электронную почту.

Также опционально настраивается параметр:

  • VTS_SERVERS — в параметре задается список серверов, с которых модуль будет производить забор данных.

Пример:

VTS_SERVERS=[w1.example.com, w2.example.com]

  • VTS_URL — в параметре задается адрес страницы, по которому доступна информация модуля VTS.

Пример:

VTS_URL = '/status'

 

Работа с Nemesida WAF

Блокирование атак

Основной задачей Nemesida WAF является выявление и блокирование хакерских атак на веб-приложение. Nemesida WAF позволяет выявлять как простые, так и модифицированные виды вредоносных запросов.

Пример:

  1. /?id=1+un/**/ion+sel/**/ect+1,2,3 --
  2. /?id=1+uNiOn+seLeCt+1,2,3 --
  3. /?args=;+cat+/etc/passwd

Пример:

  1. /?id=-1 unIO%6e/*a*/selEC%74{f 1},2,3,4,5,6,7,version/*gg*/(/*ad*/),9,10,11,12 –
  2. ')) un","ion se","lect 1,2,3,4,5,6,7,8,9,concat(table","_name,0x202020,col","umn_name),11 fr","om info","rmation_schem","a.columns wher","e tabl","e_schema li","ke data","base","()#"
  3. ?args=1'%)%;%/%*%!%/%*%!%/%*%!%0%S%E%L%E%C%T%*%/%*%/%c%o%U%N%t%(%*%)%/%*%!%/%*%!%/%*%!%0%F%R%O%M%*%/%*%/%G%E%N%E%R%A%T%E%_%S%E%R %I%E%S%(%1%,%1%0%0%0%0%0%0%0%)%-%-
  4. ?args=;+cat+/et'c/pa'?s'wd

Примеры из первого блока минимально модифицированы, поэтому они могут быть распознаны с помощью сигнатур. Но примеры из второго блока, модифицированные подобным образом, кардинально отличаются от стандартных. Поэтому сигнатурный анализ не всегда выявляет подобные атаки. Тем не менее машинное обучение позволяет распознать подобные атаки и максимально увеличить уровень обнаружения атак при минимальном уровне ложных срабатываний.

Также Nemesida WAF выявляет атаки методом перебора (brute-force-атаки), в том числе и распределенные. Для удобства пользователя все атаки отображаются в личном кабинете с указанием вида атаки, состава атаки и другой полезной информации.

 

Рисунок 1. Отображение заблокированной brute-force-атаки в личном кабинете Nemesida WAF

Отображение заблокированной brute-force-атаки в личном кабинете Nemesida WAF

 

Для выявления brute-force атак используется следующий принцип работы:

  1. Cбор поступающих запросов.
  2. Извлечение необходимых для принятия решения данных.
  3. Фильтрация с исключением нецелевых URI для повышения точности определения атаки.
  4. Расчет взаимных расстояний между запросами с использованием расстояния Левенштейна и нечеткой логики.
  5. Выбор по мере близости в рамках определенного временного окна запросов с одного IP на конкретный URI или выбор всех запросов на URI независимо от IP.
  6. Блокирование источников атаки по IP-адресам при превышении пороговых значений.

Обучение Nemesida AI

Signtest предназначен для улучшения работы модуля Nemesida AI.  Поступающие в модуль запросы, в основном спорные, могут быть двух типов: False Negative (запрос содержит сигнатуры атаки, достаточные для блокирования запроса, при этом модуль машинного обучения Nemesida AI определил запрос как легитимный) и False Positive (запрос, ошибочно заблокированный модулем машинного обучения Nemesida AI, не содержащий сигнатуры атаки). Поступающие запросы отображаются на главной странице (Attack) для их последующей обработки.

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

 

Рисунок 2. Интерфейс модуля Nemesida WAF Signtest

Интерфейс модуля Nemesida WAF Signtest

 

Для фильтрации запросов доступно поле поиска, производящее выбор запросов по вхождению слова или группы слов, а также с использованием специальных операторов.

Пример:

  • mz:body — выведет запросы с выявленной уязвимостью в поле Body.
  • host: example.com or req_t:POST — выведет запросы, содержащие домен example.com и тип запроса Post.
  • body:test — выведет запросы, содержащие значение test в поле Body.

В правом верхнем углу интерфейса располагается навигационная панель. В ней можно удалять отмеченные записи (или все, если не выбрана ни одна запись), переключение между таблицами (Attack, False Positive, False Negative) и индикатор состояния файла rules.bin (красный цвет индикатора означает, что файл отсутствует, желтый — файл необходимо обновить).

Обнаружение уязвимостей веб-приложений

Модуль Nemesida WAF Scanner предназначен для выявления уязвимостей в защищаемых веб-приложениях. Информация об обнаруженных уязвимостях доступна в личном кабинете. Также есть возможность запуска модуля с помощью консоли на сервере, где он установлен. Запуск инструмента в консоли производится командой nws.

 

Рисунок 3. Консольный режим работы сканера Nemesida WAF Scanner

Консольный режим работы сканера Nemesida WAF Scanner

 

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

 

Рисунок 4. Результат сканирования в Личном кабинете Nemesida WAF

Результат сканирования в Личном кабинете Nemesida WAF

Личный кабинет Nemesida WAF

Личный кабинет, который доступен по адресу YOUR_SERVER/waf/personal/, предназначен для наглядного и удобного отображения атак на веб-приложение.

Раздел об аномальных запросах содержит в себе информацию о типе зафиксированной атаки на веб-приложение и ее содержимом, статусе машинного обучения для конкретного виртуального хоста, IP-адрес атакующего и время зафиксированной атаки.

 

Рисунок 5. Информация об аномальных запросах личного кабинета Nemesida WAF

Информация об аномальных запросах личного кабинета Nemesida WAF

 

Также можно производить поиск событий, фильтруя их по разным критериям в верхней части страницы, используя директивы: h — хост, u — путь (url), t — тип атаки, p — параметр, в котором выявлена уязвимость.

Пример:

  1. h:example.com and ip:1.2.3.4 — запрос выведет информацию только по домену example.com и IP-адресу атакующего 1.2.3.4.
  2. h:example.com t:SQLi ip:1.2.3.4 and ip:4.3.2.1 — запрос выведет информацию по атакам, эксплуатирующим уязвимости класса SQL-инъекция, на домен example.com с IP-адресов 1.2.3.4 и 4.3.2.1.

Также на этой странице есть функция Recheck, которая производит проверку выявленных атак сканером, после чего статус атаки изменится либо на Confirmed, либо Not Confirmed.

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

 

Рисунок 6. График атак в Nemesida WAF

График атак в Nemesida WAF

 

Для просмотра статистики трафика в Личном кабинете предусмотрена страница VTS. Содержание страницы формируется на основе информации из модуля для nginx: nginx-module-vts.

 

Рисунок 7. Статистика работы модуля VTS в Nemesida WAF

Статистика работы модуля VTS в Nemesida WAF

 

При переходе в следующий раздел будет сформирован детальный отчет о работе Nemesida WAF и его компонентов в формате PDF-файла. Пример отчета можно посмотреть здесь.

Последняя вкладка личного кабинета называется «Панель администратора». При переходе в нее у пользователя, входящего в группу «Администратор», открывается возможность управления другими пользователями и их параметрами — добавление, удаление и редактирование пользователей.

Для более тонкой настройки необходимо указывать:

  • WAF ID — идентификатор модуля Nemesida WAF.
  • WAF Domains — фильтрация по домену для пользователя.
  • Access restricted by IP — White List IP-адресов, с которых должен заходить пользователь в личный кабинет.

 

Рисунок 8. Окно настройки пользователей в Nemesida WAF

Окно настройки пользователей в Nemesida WAF

 

Выводы

Использование многофункционального средства защиты от хакерских атак и усиления защищенности веб-приложений Nemesida WAF позволяет минимизировать риск компрометации интернет-магазинов, веб-порталов и прочих веб-приложений. В его состав входят как основные компоненты (динамический модуль для Nginx и машинное обучение Nemesida AI), так и вспомогательные (сканер уязвимостей Nemesida WAF Scanner, личный кабинет, модуль управления обучением и другие).

Выявление атак на основе сигнатурного анализа позволяет обеспечить первичную защиту веб-приложения, а модуль машинного обучения значительно повышает точность выявления атак, компенсируя недостатки работы классического сигнатурного анализа. Всё это сводит к минимуму количество ложных срабатываний и пропуск модифицированных запросов. Кроме того, Nemesida AI способствует выявлению новых признаков аномалий, блокируя неизвестные и малоизвестные атаки (атаки «нулевого дня»). В дополнение ко всему, модуль машинного обучения выявляет атаки методом перебора (brute-force атаки), в том числе распределенные (с использованием распределенных вычислительных сетей), при этом анализ производится на копии запросов, не  увеличивая время отклика веб-приложения.

Помимо функциональности выявления атак, Nemesida WAF содержит множество вспомогательных компонентов: сканер уязвимостей, систему виртуального патчинга, удобный личный кабинет и другие возможности, что позволяет значительно повысить уровень защищенности веб-приложения, а удобство графической составляющей продукта позволяет максимально эффективно управлять инцидентами безопасности.

Несмотря на все преимущества, Nemesida WAF все же имеет и недостатки. Nemesida WAF предназначен только для веб-серверов Nginx, не является кроссплатформенным, поддерживается ограниченный список операционных систем (Debian, CentOS, Ubuntu). К тому же, отсутствует русскоязычный интерфейс.

Преимущества

  • Nemesida WAF внесен в реестр отечественного ПО и имеет все необходимые свидетельства.
  • Комбинированный анализ на основе сигнатур и машинного обучения позволяет выявлять атаки с высокой точностью и минимальным увеличением времени отклика веб-приложения (в отличие от использования только машинного обучения для анализа запросов).
  • Использование классического алгоритма машинного обучения минимально увеличивает время отклика веб-приложения, что благоприятно сказывается на производительности.
  • Множество дополнительных модулей для удобства работы и повышения уровня защищенности веб-приложения: сканер уязвимостей, виртуальный патчинг, личный кабинет и т. д.
  • Выявленные и заблокированные атаки, а также результаты работы сканера веб-приложения, отображаются в интуитивно понятном и современном интерфейсе личного кабинета для дальнейшей работы с инцидентами.
  • Для обеспечения базовой защиты веб-приложения можно установить бесплатную версию Nemesida WAF (Nemesida WAF Free) с ограниченными функциями.

Недостатки

  • Поддерживается только один язык интерфейса — английский, но при этом вся документация доступна на английском и русском языках.
  • Не является кроссплатформенной системой, поддерживается ограниченный список операционных систем (Debian, CentOS, Ubuntu).
  • Работа со Standalone-версией требует от специалиста базовой подготовки в области ИБ и работы веб-приложений.
  • Продукт предназначен для работы только с веб-сервером Nginx. Если используется другой (Apache, IIS), потребуется установка промежуточного сервера с Nginx, к которому будет подключаться динамический модуль Nemesida WAF и его компоненты.
  • Нет сертификата ФСТЭК России.

Реестр сертифицированных продуктов »

Записаться на демонстрацию

Нажимая "Запросить", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Запросить пробную версию

Нажимая "Получить", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Запросить цены

Нажимая "Отправить", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Задать вопрос

Нажимая "Задать", вы соглашаетесь с Политикой конфиденциальности и обработки персональных данных нашей компании

Выбор редакции: 
Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.
Лаборатория AM Test Lab готова провести независимую экспертизу и добровольную сертификацию любого продукта или сервиса по информационной безопасности и подготовить его профессиональный обзор. Для получения дополнительной информации необходимо оформить запрос.