Руководство по установке, настройке и эксплуатации модуля Nemesida WAF Scanner, предназначенного для выявления уязвимостей в защищаемом веб-приложении.

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

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

Во время работы модуль обращается к nemesida-security.com:443, *.nemesida-security.com:443 и geoip.nemesida-security.com:80/443 для получения информации об уязвимостях, используя Nemesida Vulnerability API, а также передает информацию об обнаруженных уязвимостях в Личный кабинет с помощью Nemesida WAF API. Информация, передаваемая Nemesida WAF Scanner при обращении к Nemesida Vulnerability API, может быть передана сторонним базам данных уязвимостей.

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

DebianUbuntuCentOS
# apt install apt-transport-https gnupg2
Debian 10
# echo "deb https://nemesida-security.com/repo/nw/debian buster non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
Debian 11
# echo "deb https://nemesida-security.com/repo/nw/debian bullseye non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# wget -O- https://nemesida-security.com/repo/nw/gpg.key | apt-key add -
# apt update && apt upgrade
# apt install python3-pip python3-venv python3-dev postgresql-server-dev-all dmidecode
# apt install nwaf-scanner
# apt install apt-transport-https gnupg2
20.04
 
# echo "deb [arch=amd64] https://nemesida-security.com/repo/nw/ubuntu focal non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# wget -O- https://nemesida-security.com/repo/nw/gpg.key | apt-key add -
# apt update && apt upgrade
# apt install python3-pip python3-venv python3-dev postgresql-server-dev-all dmidecode
# apt install nwaf-scanner
Настройте политику SELinux или деактивируйте ее командой:

# 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
CentOS 8
Подключите репозитории и установите необходимые зависимости:

# rpm -Uvh https://nemesida-security.com/repo/nw/centos/nwaf-release-centos-8-1-6.noarch.rpm
# dnf update
# dnf install python3 python3-pip python3-devel gcc dmidecode
# dnf install nwaf-scanner

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

Параметры main.conf
Параметр по умолчанию
Описание параметра
[main]
Основная секция.
nwaf_license_key
Параметр для указания лицензионного ключа модуля Nemesida WAF Scanner. В случае, если лицензионный ключ не будет обнаружен или будет недействителен, запуск модуля завершится соответствующей ошибкой.

sys_proxy
Настройка адреса прокси-сервера для обращения к nemesida-security.com:443 (проверка лицензионного ключа, взаимодействие с Nemesida Vulnerability API).

Пример:
sys_proxy = http://proxy.example.com:3128.


api_host
Настройка адреса API для отправки результатов сканирования в Nemesida WAF API.

Пример:
api_host = http://localhost:8080.


api_proxy
Настройка адреса прокси-сервера для обращения к Nemesida WAF API.

Пример:
api_proxy = http://proxy.example.com:3128.


verbose
Параметр активации/деактивации вывода информации об ошибках в консоль.

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

db_name
db_user
db_pass
db_host
Параметры подключения к БД модуля Личный кабинет.

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

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

target
Адрес веб-приложения.

Пример:
target = example.com
target = example.com:85


ssl
Активация/деактивация подключения с использованием SSL/TLS при обращении к веб-приложению. Пример: ssl = false.

scan_proxy
Адрес прокси-сервера для обращений к веб-приложению. Пример: scan_proxy = http://example.com:1111.

[auth]
Секция авторизации.

auth_uri
Адрес страницы веб-приложения для выполнения процедуры авторизации. Пример auth_uri = /login.

login
password
Имя и пароль пользователя для авторизации. Пример: login = user и password = pass.

Прочая информация

Информация об ошибках в работе Nemesida WAF Scanner содержится в журнале регистрации событий модуля /var/log/nwaf/nws.log.