Модуль Nemesida WAF Scanner предназначен для выявления веб-уязвимостей в защищаемых веб-приложениях. Для корректной работы модуля Nemesida WAF Scanner необходимо предоставить доступ к веб-приложению в обход Nemesida WAF.
Для получения информации об уязвимостях, используется Nemesida Vulnerability API, а также с помощью Nemesida WAF API передается информация об обнаруженных уязвимостях в Личный кабинет. Информация, передаваемая Nemesida WAF Scanner при обращении к Nemesida Vulnerability API, может быть передана сторонним базам данных уязвимостей.
Установка модуля на сервер:
DebianUbuntuCentOSDocker
# apt install apt-transport-https gnupg2 curl
Debian 10
# echo "deb https://nemesida-security.com/repo/nw/debian buster 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
Debian 11
# echo "deb https://nemesida-security.com/repo/nw/debian bullseye non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# curl -s https://nemesida-security.com/repo/nw/gpg.key | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/trusted.gpg --import
# chmod 644 /etc/apt/trusted.gpg.d/trusted.gpg
# apt update && apt upgrade
# apt install python3-pip python3-venv python3-dev postgresql-server-dev-all
# apt install nwaf-scanner
Во время установки модуля дополнительно устанавливаются следующие PIP-пакеты:
wheel beautifulsoup4 chardet psutil psycopg2 pyparsing PyYAML requests soupsieve termcolor
# apt install apt-transport-https gnupg2 curl
Ubuntu 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.8 python3-pip python3.8-venv python3.8-dev postgresql-server-dev-all
Ubuntu 22.04
# echo "deb [arch=amd64] https://nemesida-security.com/repo/nw/ubuntu jammy non-free" > /etc/apt/sources.list.d/NemesidaWAF.list
# curl -s https://nemesida-security.com/repo/nw/gpg.key | gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/trusted.gpg --import
# chmod 644 /etc/apt/trusted.gpg.d/trusted.gpg
# apt update && apt upgrade
# apt install python3.10 python3-pip python3.10-venv python3.10-dev postgresql-server-dev-all
# apt install nwaf-scanner
Во время установки модуля дополнительно устанавливаются следующие PIP-пакеты:
wheel beautifulsoup4 chardet psutil psycopg2 pyparsing PyYAML requests soupsieve termcolor
Настройте политику 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 Stream
Подключите репозиторий и установите необходимые зависимости:
# rpm -Uvh https://nemesida-security.com/repo/nw/centos/nwaf-release-centos-8-1-6.noarch.rpm
# dnf update
# dnf install python39 python39-pip python39-devel postgresql-devel gcc
# dnf install nwaf-scanner
CentOS 9 Stream
Подключите репозиторий и установите необходимые зависимости:
# rpm -Uvh https://nemesida-security.com/repo/nw/centos/nwaf-release-centos-9-1-6.noarch.rpm
# dnf update
# dnf install python3 python3-pip python3-devel postgresql-devel gcc
# dnf install nwaf-scanner
Во время установки модуля дополнительно устанавливаются следующие PIP-пакеты:
wheel beautifulsoup4 chardet psutil psycopg2 pyparsing PyYAML requests soupsieve termcolor
Информация об использовании Nemesida WAF в Docker-контейнере доступна в
соответствующем разделе.
Для первичной настройки модуля внесите необходимые изменения в основной конфигурационный файл /opt/nws/main.conf
.
Параметры main.conf
Параметр для указания лицензионного ключа модуля Nemesida WAF Scanner. В случае, если лицензионный ключ не будет обнаружен или будет недействителен, запуск модуля завершится соответствующей ошибкой.
Настройка адреса прокси-сервера для обращения к
nemesida-security.com:443
(проверка лицензионного ключа, взаимодействие с Nemesida Vulnerability API).
Пример:
sys_proxy = http://proxy.example.com:3128
Допускается использование параметров аутентификации при использовании прокси-сервера.
Пример:
sys_proxy = http://<user>:<password>@proxy.example.com:3128
Настройка адреса API для отправки результатов сканирования в Nemesida WAF API.
Пример:
api_host = http://localhost:8080
Настройка адреса прокси-сервера для обращения к Nemesida WAF API.
Пример:
api_proxy = http://proxy.example.com:3128
Допускается использование параметров аутентификации при использовании прокси-сервера.
Пример:
api_proxy = http://<user>:<password>@proxy.example.com:3128
Параметр активации/деактивации вывода информации об ошибках в консоль.
Проверка уязвимостей с использованием функционала модуля Личный кабинет.
Параметр активации/деактивации функционала.
db_name
db_user
db_pass
db_host
db_port
Параметры подключения к БД модуля Личный кабинет.
Для настройки параметров сканирования в директории /opt/nws/conf/
создайте файл(-ы) с расширением conf
. Для каждого веб-приложения необходимо создавать отдельный конфигурационный файл.
Пример конфигурационного файла example.conf
Адрес веб-приложения.
Пример:
target = example.com
target = example.com:85
Активация/деактивация подключения с использованием SSL/TLS при обращении к веб-приложению.
Пример:
ssl = false
Адрес прокси-сервера для обращений к веб-приложению.
Пример:
scan_proxy = http://proxy.example.com:3128
Допускается использование параметров аутентификации при использовании прокси-сервера.
Пример:
scan_proxy = http://<user>:<password>@proxy.example.com:3128
Адрес страницы веб-приложения для выполнения процедуры аутентификации.
Пример:
auth_uri = https://example.com/login
Допускается использование адреса сервера, отличного от используемого параметром target
.
Имя пользователя и пароль пользователя для аутентификации.
Пример:
login = your_login
password = your_password
Если веб-приложение использует собственные названия полей для ввода имени и пароля пользователя (например, username
и password
), то параметры login
и password
необходимо заменить на них.
Пример:
username = your_login
password = your_password
Прочая информация
Информация об ошибках в работе Nemesida WAF Scanner содержится в журнале регистрации событий модуля /var/log/nwaf/nws.log
.