Ниже представлено руководство по установке компонентов Немезида ВАФ. Установку компонентов рекомендуется выполнять в соответствующем руководству порядке.
Доступ к внешним ресурсам
Для корректной работы всех компонентов Немезида ВАФ на каждом сервере, где они установлены, необходимо предоставить доступ к внешним ресурсам:
https://nemesida-security.com
;https://nw-auth-extra.nemesida-security.com
;http(s)://geoip.nemesida-security.com
.
# apt install postgresql
После установки СУБД:
- Создайте базу данных для компонентов Nemesida WAF API и Личный кабинет:
- Предоставьте доступ для внешних подключений компонентов, внеся изменения в файл конфигурации
pg_hba.conf
:
Пример:# IPv4 local connections: host all all 10.1.1.1/32 md5
# 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
Установите и настройте СУБД PostgreSQL:
# dnf update # dnf install postgresql-devel postgresql-server # postgresql-setup initdb # sed -i "s|host all all 127.0.0.1/32 ident|host all all 127.0.0.1/32 md5|" /var/lib/pgsql/data/pg_hba.conf # sed -i "s|host all all ::1/128 ident|host all all ::1/128 md5|" /var/lib/pgsql/data/pg_hba.conf # systemctl start postgresql # systemctl enable postgresql
После установки СУБД:
- Создайте базу данных для компонентов Nemesida WAF API и Личный кабинет:
- Предоставьте доступ для внешних подключений компонентов, внеся изменения в файл конфигурации
pg_hba.conf
:
Пример:# IPv4 local connections: host all all 10.1.1.1/32 md5
1. Загрузите скрипт;
2. Запустите скрипт установки командой:
# /bin/bash ./1-postgresql-deploy.sh 'pg_api_pwd=xxx' 'pg_cabinet_pwd=xxx' 'api_srv_ip=x.x.x.x'
где:
pg_api_pwd
— пароль для создания пользователяnw_api
для БДwaf
;pg_cabinet_pwd
— пароль для создания пользователяnw_cabinet
для БДcabinet
(необходимо для работы компонента Личный кабинет);api_srv_ip
— IP-адрес сервера с которого будут производиться обращения компонента Nemesida WAF API после его настройки.
- Предоставьте доступ к внешним ресурсам для корректной работы компонента;
- Установите компонент, следуя руководству по установке.
После завершения настройки перезапустите сервисы:
# systemctl restart nw-api rldscupd nginx memcached # systemctl status nw-api rldscupd nginx memcached
- Предоставьте доступ к внешним ресурсам для корректной работы компонента;
- Установите компонент, следуя руководству по установке;
- Произведите интеграцию компонента с Nemesida WAF API.
После завершения настройки перезапустите сервисы:
# systemctl restart nginx cabinet cabinet_ipinfo cabinet_attack_notification cabinet_cleaning_db cabinet_rule_update memcached # systemctl status nginx cabinet cabinet_ipinfo cabinet_attack_notification cabinet_cleaning_db cabinet_rule_update memcached
- Предоставьте доступ к внешним ресурсам для корректной работы компонента;
- Установите компонент, следуя руководству по установке;
- Произведите интеграцию компонента с Nemesida WAF API.
После завершения настройки перезапустите сервисы:
# systemctl restart nginx rabbitmq-server memcached nwaf_update mla_main api_firewall # systemctl status nginx rabbitmq-server memcached nwaf_update mla_main api_firewall
nwaf-dyn
и, как правило, не требует настройки) и модуля машинного обучения Nemesida AI MLC. Для установки компонента:
- Предоставьте доступ к внешним ресурсам для корректной работы компонента;
- Установите компонент, следуя руководству по установке;
- Произведите интеграцию компонента с фильтрующей нодой;
- Произведите интеграцию компонента с Nemesida WAF API.
После завершения настройки перезапустите сервисы:
# systemctl restart mlc_main rabbitmq-server memcached # systemctl status mlc_main rabbitmq-server memcached
1. Проверьте журналы каждого компонента на наличие возможных ошибок:
Nemesida WAF API:/var/log/uwsgi/nw-api/*.log
/var/log/uwsgi/cabinet/*.log
/var/log/nwaf/mlc.log
/var/log/nginx/error.log
/var/log/nwaf/nwaf_update.log
/var/log/nwaf/mla.log
/var/log/nwaf/naf/error.log
/var/log/rabbitmq/rabbit@%hostname%.log
/var/log/rabbitmq/rabbitmq-server.error.log
/var/lognwaf/nws.log
2. Отправьте тестовый запрос на сервер фильтрующей ноды с тестовой сигнатурой nwaftest
:
# curl -i http://WAF_SERVER/nwaftest
и убедитесь, что сервер фильтующей ноды возвращает код ответа 403
, а в логе /var/log/nginx/error.log
появилась запись о блокировке:
Nemesida WAF: the request ... blocked by rule ID 1 in zone URL, ...
Если запрос не блокируется, то выполните действия из соответствующего раздела руководства.
3. Перейдите в Личный кабинет и убедитесь, что на странице появилась запись о заблокированном запросе.
Если запрос блокируется, но не отображается на странице атак, то выполните действия из соответствующего раздела руководства.
1. Активируйте параметры режима мониторинга (пассивный режим) работы фильтрующей ноды в Личном кабинете:
- Активация режима мониторинга анализа запросов для IP-адреса:
- Активация режима мониторинга анализа запросов для виртуального хоста:
Режим мониторинга (пассивный режим) предназначен для предотвращения блокировок запросов на период настройки. Активация режима мониторинга для IP-адреса применяется в случаях, когда необходимо исключить блокировки при обращении с определенного списка IP-адресов (как правило, с IP-адресов, принадлежащих отделу IT, выполняющих настройку компонентов), а активация режима мониторинга для виртуального хоста — исключает блокировки запросов для всех клиентов веб-приложения.
2. Выполните настройку работы фильтрующей ноды в качестве обратного прокси, используя соответствующий раздел руководства;
3. Переопределите соответствие IP-адреса и доменного имени таким образом, чтобы запросы поступали на фильтрующую ноду (например, с помощью редактирования A-записи DNS).
После завершения настройки компонентов параметры активации режима мониторинга необходимо деактивировать и убедиться, что защита активна, отправив тестовый запрос на фильтрующую ноду:
# curl -i http://YOUR_SERVER/nwaftest
Поведенческие модели
Для более точной работы модуля машинного обучения рекомендуем создавать поведенческую модель для каждого конкретного веб-приложения.
Для построения более качественных моделей в период обучения запрещено производить сканирование веб-приложения на уязвимости, а также направлять другие нелегитимные запросы.
Для активации модуля машинного обучения Nemesida AI выполните следующие действия в Личном кабинете:
Управление ложными срабатываниями после завершения обучения производится с помощью модуля Личный кабинет.
В случае возникновения проблем, связанных с обработкой запросов модулем машинного, выполните шаги из соответствующего раздела руководства:
- После завершения обучения не происходит анализа запросов модулем машинного обучения;
- Модуль машинного обучения блокирует легитимные запросы.
Активация выявления DDoS/Brute/Flood атак
Для активации механизма выявления атак методом перебора/флуда/DDoS и активности паразитиных ботов модулем машинного обучения Nemesida AI выполните следующие действия в Личном кабинете: