Руководство по установке, настройке и эксплуатации модуля Nemesida WAF Scanner.

Настройка модуля Nemesida WAF Scanner

Модуль Nemesida WAF Scanner предназначен для выявления веб-уязвимостей в защищаемых веб-приложениях.

Перед установкой и использованием Nemesida WAF Scanner внимательно изучите документацию.

При работе модуль производит обращения к nemesida-security.com для получения информации об уязвимостях через Nemesida Vulnerability API, а также передает информацию об обнаруженных уязвимостях в Личный кабинет через Nemesida WAF API.

Информация, передаваемая Nemesida WAF Scanner при обращении к Nemesida Vulnerability API, может быть передана сторонним базам данных уязвимостей.

Установка модуля на сервер:

DebianUbuntuCentOS
# apt install apt-transport-https
Debian 9
# echo "deb https://repository.pentestit.ru/nw/debian stretch non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
Debian 10
# echo "deb https://repository.pentestit.ru/nw/debian buster non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# wget -O- https://repository.pentestit.ru/nw/gpg.key | apt-key add -
# apt update && apt upgrade
# apt install python3-pip python3-venv python3-dev postgresql-server-dev-all
# apt install nwaf-scanner
# apt install apt-transport-https
16.04
# echo "deb [arch=amd64] https://repository.pentestit.ru/nw/ubuntu xenial non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# wget -O- https://repository.pentestit.ru/nw/gpg.key | apt-key add -

Подключите репозиторий Python 3.6:

# apt install software-properties-common
# add-apt-repository ppa:deadsnakes/ppa

Произведите установку пакетов:

# apt update && apt upgrade
# apt install python3.6 python3.6-venv python3.6-dev postgresql-server-dev-all gcc
# curl https://bootstrap.pypa.io/get-pip.py | python3.6  
18.04
 
# echo "deb [arch=amd64] https://repository.pentestit.ru/nw/ubuntu bionic non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# wget -O- https://repository.pentestit.ru/nw/gpg.key | apt-key add -
# apt update && apt upgrade
# apt install python3-pip python3-venv python3-dev postgresql-server-dev-all
# apt install nwaf-scanner
Подключите репозитории и установите необходимые зависимости:

  
# rpm -Uvh https://repository.pentestit.ru/nw/centos/nwaf-release-centos-7-1-6.noarch.rpm
# rpm -Uvh https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
# yum update
# yum install python36 python36-pip python36-devel postgresql11-devel gcc  
# yum install nwaf-scanner

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

Параметры main.conf
Параметр по умолчанию
Описание параметра

[main]
Основная секция.
nwaf_license_key
Параметр для указания лицензионного ключа модуля Nemesida WAF Scanner. Если параметр не задан, модуль будет пытаться использовать лицензионный ключ из файла /etc/nginx/nwaf/conf/global/nwaf.conf. В случае, если лицензионный ключ не будет обнаружен или будет недействителен, запуск модуля завершится соответствующей ошибкой.
sys_proxy
api_proxy
sys_proxy — адрес прокси-сервера для обращения к nemesida-security.com:443 (проверка лицензионного ключа, взаимодействие с Nemesida Vulnerability API). Пример: sys_proxy = proxy.example.com:3128.

api_proxy — адрес прокси-сервера для обращения к Nemesida WAF API. Пример: api_proxy = proxy.example.com:3128.

api_host
Настройка адреса API для отправки результатов сканирования в Nemesida WAF API. Пример: api_host = http://localhost:8080.
verbose
Параметр активации/деактивации вывода информации об ошибках в консоль.

[recheck]
Проверка уязвимостей с использованием функционала модуля Личный кабинет.
enable
Параметр активации/деактивации функционала.
db_name
db_user
db_pass
db_host
Параметры подключения к БД модуля Личный кабинет.

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

Пример конфигурационного файла example.conf
Параметр по умолчанию
Описание параметра

[scan]
Основная секция.
target
Адрес веб-приложения. Пример: target = example.com.
ssl
Активация/деактивация подключения с использованием SSL/TLS при обращении к веб-приложению. Пример: ssl = false.
scan_proxy
Адрес прокси-сервера для обращений к веб-приложению. Пример: scan_proxy = example.com:1111.
uri_list
Путь до файла uri.list, содержащий список URI, сгенерированный модулем Nemesidia AI MLC. Пример: uri_list = /opt/mlc/bf/uri.list.
[auth]
Секция авторизации.
auth_uri
Адрес страницы веб-приложения для выполнения процедуры авторизации. Пример auth_uri = /login.
login
password
Имя и пароль пользователя для авторизации. Пример: login = user и password = pass.