Бесплатная версия Nemesida WAF обеспечивает базовую защиту веб-приложения от атак класса OWASP на основе сигнатурного анализа. Nemesida WAF Free имеет собственную базу сигнатур, выявляет атаки на веб-приложения при минимальном количестве ложных срабатываний, обновляется из Linux-репозитория, устанавливается и настраивается за несколько минут.

Nemesida WAF Free

Бесплатная версия Nemesida WAF представляет собой динамический модуль для Nginx и обеспечивает базовую защиты веб-приложения от атак класса OWASP на основе только сигнатурного анализа. Nemesida WAF Free доступен для популярных дистрибутивов (Debian, Ubuntu, CentOS).

Отличительной особенностью Nemesida WAF Free является собственная база сигнатур, выявляющая атаки на веб-приложения при минимальном количестве ложных срабатываний, а также:
— минимальные требования к аппаратным ресурсам;
— обновление из репозитория;
— установка и настройка за несколько минут;
— простота в обслуживании (создание белых списков для сигнатур, IP-адресов и виртуальных хостов);

Сравнительная таблица особенностей версий Nemesida WAF

Возможности Платная Бесплатная
Выявление атак сигнатурным методом + +
Автоматическая блокировка атакующего по IP-адресу + +
Возможность работы в режиме IDS + +
Анализ запросов средствами антивирусного ПО +
Выявление атак на основе машинного обучения +
Выявление атак перебора пароля +
Поиск уязвимостей в защищаемых веб-приложениях +
Создание правил виртуального патчинга +
Возможность интеграции с системами класса SIEM +
Вывод информации об атаках В журнал работы
В личный кабинет
На эл. почту
В журнал работы
Вывод информации об обнаруженных уязвимостях В журнал работы
В личный кабинет
Функционал отчета и статистики работы +

Основное ограничение Nemesida WAF Free затрагивает работу подсистемы искусственного интеллекта Nemesida AI, которая позволяет более точно и с минимальным количеством ложных срабатываний выявлять атаки на веб-приложения. Кроме этого, модуль Nemesida AI успешно выявляет атаки «нулевого дня». В бесплатной версии функционал искусственного интеллекта не задействован.

Сравнительная таблица особенностей модулей Nemesida WAF

Сравнения Сигнатурный анализ Nemesida AI
Количество ложных срабатываний ≈ 3% ≈ 0.01%
Точность выявления атак Nemesida AI на ≈ 30% эффективнее сигнатурного анализа
Выявление аномалий +
Оценка уровня аномалий +
Выявление новых признаков атак +
Выявление атак «нулевого дня» +
Выявление brute-force атак +
Требования к аппаратным ресурсам минимальное Nemesida WAF:
Core i3, 2GB RAM


Nemesida AI MLC:
Core i3, 32GB RAM

Установка и настройка Nemesida WAF Free

Установка и настройка Nemesida WAF Free занимает всего несколько минут.

Динамический модуль Nemesida WAF доступен для:

  • Nginx stable, начиная с 1.12;
  • Nginx mainline, начиная с 1.17;
  • Nginx Plus версий, начиная с 18 (R18).

В случае компиляции Nginx из исходного кода необходимо добавить параметры --with-compat --with-threads при выполнении configure для активации поддержки динамического модуля.

DebianUbuntuCentOS 7
# apt install apt-transport-https

Подключите репозитории Nginx и Nemesida WAF:

Debian 9
# echo "deb http://nginx.org/packages/debian/ stretch nginx" > /etc/apt/sources.list.d/nginx.list
# wget -O- https://repository.pentestit.ru/nw/gpg.key | apt-key add -
Debian 10
# echo "deb http://nginx.org/packages/debian/ buster nginx" > /etc/apt/sources.list.d/nginx.list
# wget -O- https://repository.pentestit.ru/nw/gpg.key | apt-key add -

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

# wget -O- https://nginx.org/packages/keys/nginx_signing.key | apt-key add -
# apt update && apt upgrade
# apt install nginx
# apt install python3-pip python3-dev python3-setuptools librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc rabbitmq-server 
# pip3 install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt fuzzywuzzy levmatch python-Levenshtein  
# apt install nwaf-dyn-1.16

где 1.16 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-1.15 — для работы с Nginx Plus Release 18 (R18).

# apt install apt-transport-https
16.04
Подключите репозитории Nginx и Nemesida WAF:

# echo "deb http://nginx.org/packages/ubuntu/ xenial nginx"> /etc/apt/sources.list.d/nginx.list
# wget -O- https://nginx.org/packages/keys/nginx_signing.key | apt-key add -
# 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-dev nginx librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc curl rabbitmq-server 
# curl https://bootstrap.pypa.io/get-pip.py | python3.6
# pip3.6 install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt fuzzywuzzy levmatch python-Levenshtein
18.04
Подключите репозитории Nginx и Nemesida WAF, произведите установку пакетов:

# echo "deb http://nginx.org/packages/ubuntu/ bionic nginx"> /etc/apt/sources.list.d/nginx.list
# wget -O- https://nginx.org/packages/keys/nginx_signing.key | apt-key add -
# wget -O- https://repository.pentestit.ru/nw/gpg.key | apt-key add -
# apt update && apt upgrade
# apt install python3-pip python3-dev python3-setuptools nginx librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc rabbitmq-server 
# pip3 install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt fuzzywuzzy levmatch python-Levenshtein
 # apt install nwaf-dyn-1.16

где 1.16 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-1.15 — для работы с Nginx Plus Release 18 (R18).

Подключите репозиторий Nginx и произведите установку пакетов:

# rpm -Uvh https://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el7.ngx.noarch.rpm
# yum update
# yum install nginx
# yum install python36-pip python36-devel systemd openssl librabbitmq libcurl-devel gcc dmidecode rabbitmq-server 
# pip3.6 install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt fuzzywuzzy levmatch python-Levenshtein 
# yum install nwaf-dyn-1.16

где 1.16 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-1.15 — для работы с Nginx Plus Release 18 (R18).

Произведите настройку политики 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

Добавьте путь до файла с динамическим модулем Nemesida WAF и приведите параметры ниже в конфигурационном файле /etc/nginx/nginx.conf к виду:

load_module /etc/nginx/modules/ngx_http_waf_module.so;
...
worker_processes auto;
...
http {
...
    ##
    # Nemesida WAF
    ##

    ## Request body too large fix
    client_body_buffer_size 25M;

    include /etc/nginx/nwaf/conf/global/*.conf;
    include /etc/nginx/nwaf/conf/vhosts/*.conf;
...
}

Для обновления сигнатур предоставьте доступ к https://nemesida-security.com. При использовании прокси-сервера укажите его в директиве sys_proxy параметра nwaf_api_conf (например, sys_proxy=proxy.example.com:3128).

Перезапустите сервисы и проверьте их работу:

# systemctl restart nginx.service nwaf_update.service
# systemctl status nginx.service nwaf_update.service

За получение сигнатур ПО Nemesida WAF отвечает служба nwaf_update. Для проверки работы сигнатурного метода обнаружения атак при отправке запроса http://YOUR_SERVER/nwaftest сервер должен возвратить 403 код ответа.

Более подробная информация по настройке и обслуживанию ПО Nemesida WAF Free доступна в руководстве. Для тестирования можно воспользовать диском для KVM/VMware/Virtualbox с уже установленным Nemesida WAF.