Руководство по установке, настройке и эксплуатации модуля Личный кабинет Nemesida WAF, предназначенного для визуализации и систематизации информации об атаках и выявленных уязвимостях.
Ниже представлено краткое руководство по введению в эксплуатацию локальной версии Личный кабинет Nemesida WAF на серверах под управлением ОС Linux. Для установки модуля необходимо выполнить следующие действия:
1. Установите модуль.
# apt install apt-transport-https gnupg2
Установите пакеты:
# apt update && apt upgrade # apt install python3 python3-venv python3-dev python3-pip nginx memcached libmemcached-dev postgresql-server-dev-all gettext # apt install nwaf-cabinet
# apt install apt-transport-https gnupg2
# apt install nwaf-cabinet
# setenforce 0
после чего приведите файл /etc/selinux/config
к виду:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
2. Внесите необходимые изменения в файл /var/www/app/cabinet/settings.py
.
3. Разрешите обращения:
— к серверу Memcached 127.0.0.1:11211
;
— к серверу с СУБД PostgreSQL 127.0.0.1:5432
;
— к серверу с Nemesida WAF API 127.0.0.1:8080
;
— к серверам из списка VTS_SERVERS
по HTTP или HTTPS протоколам.
4. В настройках межсетевого экрана разрешите обращения к 80 порту (задан по умолчанию в файле /etc/nginx/conf.d/cabinet.conf
).
5. Выполните миграцию и создайте администратора:
# cd /var/www/app/ && . venv/bin/activate && python3 manage.py migrate && python3 manage.py createsuperuser && deactivate
6. Активируйте виртуальный хост:
# mv /etc/nginx/conf.d/cabinet.conf.disabled /etc/nginx/conf.d/cabinet.conf # nginx -t && service nginx reload
7. Перезагрузите сервер и проверьте работу модуля:
# systemctl status cabinet cabinet_ipinfo cabinet_attack_nottification cabinet_vts cabinet_cleaning_db
В целях безопасности рекомендуется ограничить обращения к веб-интерфейсу модуля Личный кабинет Nemesida WAF списком разрешенных IP-адресов для предотвращения управления процессами работы Nemesida WAF неавторизованными пользователям.
YOUR_SERVER/waf/personal/
, содержится информация о работе основных (Nemesida WAF, Nemesida WAF Scanner, Nemesida WAF AI) и вспомогательных модулей Nemesida WAF.
Таблица и графики атак
На странице Summaryпредставлена вся сводная информация об аномальных запросах к защищаемому веб-приложению: атаки, связанные с попыткой поиска или эксплуатации уязвимостей, атаки перебора паролей, а также попытки передать вредоносный код (в зависимости от режима работы модулей Nemesida WAF).
Таблица Все атаки отображает количественные показатели аномальных запросов за определенный период времени и по их категориям.
График Интенсивность атак отображает интенсивность и динамику в разрезе заданного периода и выбранных категорий атак.
Диаграммы Последние 24 ч. и Топ по IP отображают Топ-10 доменов, которые подверглись атакам и Топ-10 IP-адресов, с которых приходили аномальные запросы.
На странице Attacks в качестве индикатора применения поведенческих моделей используются следующие пиктограммы:
- пиктограмма
отображается в случае, когда модуль машинного обучения не является причиной блокирования запроса (BT 2, 6, 7);
- пиктограмма
отображается в случае, когда поведенческие модели находятся в процессе переобучения;
- пиктограмма
отображается в случае, когда причиной блокирования запроса является модуль машинного обучения (BT 3, 8).
Более подробная информация о причинах блокирования запросов модулем Nemesida WAF доступна в соответствующем разделе.
При клике на иконку отображается список событий.
Область поиска и выбор событий за определенный период доступны в верхней части страницы. На страницах
Summary
и Attack
производить поиск можно как в обычном режиме (полнотекстовый поиск без указания специальных параметров), так и в расширенном, используя следующие директивы:
Для ограничения вывода информации в поле поиска доступны логические операторы «!» (исключение) и «and» (объединение).
Для запросов, заблокированных сигнатурным методом, доступно поле Rule ID
, при клике на которое во всплывающем окне отобразятся:
- информация о составе сигнатуры;
- правило исключения (WL) для добавления в конфигурационный файл Nemesida WAF.
Более подробная информация о сигнатурах и правилах исключения доступна в соответствующем разделе руководства.
Функционал Recheck
Помимо основного функционала, Nemesida WAF Scanner позволяет выполнять повторную отправку содержимого заблокированного запроса и/или различные вариации на защищаемое веб-приложение. Пользователи, входящие в группу «Администраторы», могут выполнить такую проверку с помощью кнопки , которая становится доступной при выключенной группировке для выявленных атак типа
XSS
, SQLI
, LFI
, RFI
, имеющих BT 1 или 2. После того как пользователь нажмет на кнопку , на ее месте отобразится статус проверки. В случае обнаружения уязвимости информация будет доступна в разделе «Scanner» в Личном кабинете. Администратор может исключить запрос, нажав на
, после чего информация о данном запросе будет доступна в панели администратора во вкладке «Scanner». Для использования функционала Recheck необходимо настроить секцию
[recheck]
в файле /opt/nws/main.conf.
Использование
Recheck
может привести к выполнению произвольного кода из запроса на стороне веб-приложения. Применяйте функционал только если полностью уверены в своих действиях.
Возможные значения:
Validation
— проверка выполняется;Confirmed
— обнаружена уязвимость;Not confirmed
— уязвимость не обнаружена;Error
— произошла ошибка при обработке запроса сканером уязвимостей.
Функционал Unlock Request
Пользователь личного кабинета, который считает блокировку запроса ошибочной, может направить заявку на ее разблокировку администратору нажатием кнопки . На почту администратору будет направлено письмо с описанием заявки. Список всех заявок находится во вкладке
. Запрос можно разблокировать или оставить заблокированным. Для разблокировки запроса администратору необходимо создать соответствующее правило для Nemesida WAF, после чего пользователь получит оповещение.
Результаты работы сканера уязвимостей
Информация о работе модуля Nemesida WAF Scanner доступна во вкладке . Администратор может исключить запрос, нажав на
, после чего информация о запросе будет доступна в панели администратора во вкладке «Scanner». В дальнейшем аналогичные запросы не будут отображаться на этой вкладке.
Производить поиск по событиям можно как в обычном режиме (без указания специальных параметров), так и в расширенном, используя следующие директивы:
Для ограничения вывода информации в поле поиска доступны логические операторы «!» (исключение) и «and» (объединение).
Статистика работы модуля «Nginx virtual host traffic status»
На вкладке доступна информация о трафике при взаимодействии с upstream-серверами «nginx», количестве 500-х ошибок, времени отклика, входящей и исходящей скорости в трех периодах (сейчас, неделя, месяц).
Формирование детального отчета в формате PDF и CSV
При переходе на вкладку и
будет сформирован детальный отчет о работе Nemesida WAF и его компонентов. Отчет возможно сформировать в формате PDF и CSV.
Панель администратора
Пользователям, входящим в группу «Администраторы», при переходе на вкладку доступен специальный раздел, в котором они могут управлять другими пользователями и их параметрами, а также обрабатывать поступающие запросы.
Список пользователей
Во вкладке отображается список всех пользователей. При клике на иконку
происходит удаление пользователя. При клике на иконку
открывается окно редактирования пользователя.
Сканер уязвимостей
В панели администратора во вкладке
Список всех заявок на разблокировку запросов
Во вкладке отображается список заявок на разблокировку запросов. При клике на
происходит удаление заявки.
При клике на администратор может редактировать заявку.
Создание нового пользователя
При переходе на вкладку открывается окно для создания нового пользователя.
Для того чтобы создать нового пользователя, необходимо заполнить следующие поля:
Адрес электронной почты.
Идентификатор модуля Nemesida WAF. Можно задать несколько WAF ID через запятую. Значение «*» означает, что указаны все возможные WAF ID.
Для группировки лицензионных ключей в единый WAF ID отправьте запрос на support@nemesida-security.com
.
Пароль.
Подтверждение пароля.
Роль пользователя: User или Administrator (с правами создавать и редактировать других пользователей).
Статус пользователя: включен (Active) или выключен (Inactive).
Фильтрация атак по доменам. Можно задать несколько доменов через запятую. Значение «*» означает, что будут использованы все домены.
Если указать конкретный домен, то пользователь в личном кабинете будет видеть только те атаки, которые пришли на этот домен.
В данном поле возможно задать wildcard-значения по аналогии с Nginx. Например, доменное имя .example.com
включает в себя основной домен и его поддомены. Доменное имя *.example.com
включает в себя поддомены, но не включает основной домен example.com
.
IP адрес, с которого пользователь может войти в личный кабинет в панели администратора. Можно задать несколько адресов через запятую.
Report PDF
Активировать для пользователя возможность генерировать отчеты в форматах CSV
и PDF
.
Настройка почтового сервера
Во вкладке администратор может настроить подключение к почтовому серверу для отправки оповещений об атаках на электронную почту.
При клике на иконку администратор может редактировать настройки.
Для настройки почтового сервера необходимо заполнить следующие поля:
Активировать/деактивировать отправку оповещений об атаках, используя почтовый сервер.
Адрес почтового сервера.
Порт почтового сервера.
SMTP password
Имя пользователя и пароль, от имени которого будут отправляться оповещения.
Метод шифрования. Доступны следующие методы: No
, SSL
, TLS
.
Удаление атак
Во вкладке администратор может настроить автоматическое удаление атак из личного кабинета. При удалении атак из личного кабинета, информация о них также будет удалена из базы данных.
При клике на иконку администратор может добавить в список новую задачу.
Для добавления задачи необходимо заполнить следующие поля:
Период (в днях), при котором записи об атаках старше этого периода будут удалены.
Если задать временной интервал 0
дней, то при выполнении задачи будут удалены все атаки, если не заданы дополнительные опции: BT
, IP
, Domain
, URL
.
*
, example.com
, .example.com
, *.example.com
.
/index.php
будет производиться удаление атак при точном совпадении строки /index.php
.
При клике на иконку администратор может редактировать настройки задачи, а при клике на
происходит ее удаление.
Созданные администратором задачи будут срабатывать согласно расписанию каждые 60 минут. При клике на иконку будет выполнен принудительный запуск активных задач вне расписания.
Вывод дополнительной информации о работе модуля
В случае возникновения проблем при работе модуля необходимо внести изменения в файл /var/www/app/cabinet/settings_extra.py
:
... LOGGING = { ... 'level': 'INFO' ... 'level': 'INFO' ...
и перезапустить сервис:
# service cabinet restart
Информация об ошибках в работе Nemesida WAF Cabinet содержится в журналах регистрации событий модуля /var/log/uwsgi/cabinet/*.log
, а диагностическая информация — в /var/log/uwsgi/cabinet/debug.log
.