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

Nemesida WAF Free

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

Особенности Nemesida WAF:

  • быстрый и легкий;
  • установка и настройка за 10 минут;
  • минимум ложных срабатываний;
  • установка и обновление из репозитория;
  • возможность подключения к уже установленному Nginx, начиная с версии 1.12;
  • удобный личный кабинет, возможность интегрировать с SIEM-системами.

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

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

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

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

    Сравнения Сигнатурный анализ Nemesida AI
    Количество ложных срабатываний ≈ 3% ≈ 0.01%
    Точность выявления атак Nemesida AI на ≈ 30% эффективнее сигнатурного анализа
    Выявление аномалий +
    Оценка уровня аномалий +
    Выявление новых признаков атак +
    Выявление атак «нулевого дня» +
    Выявление атак методом перебора +
    Требования к аппаратным ресурсам минимальное 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.

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

    DebianUbuntuCentOS
    # 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://nginx.org/packages/keys/nginx_signing.key | apt-key add -
    # echo "deb https://repository.pentestit.ru/nw/debian stretch 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 nginx
    # apt install python3-pip python3-dev python3-setuptools librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc rabbitmq-server
    # python3.5 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    # apt install nwaf-dyn-1.18
    

    где 1.18 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).

    Debian 10
    # echo "deb http://nginx.org/packages/debian/ buster nginx" > /etc/apt/sources.list.d/nginx.list
    # wget -O- https://nginx.org/packages/keys/nginx_signing.key | apt-key add -
    # 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 nginx
    # apt install python3-pip python3-dev python3-setuptools librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc rabbitmq-server
    # python3.7 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    # apt install nwaf-dyn-1.18
    

    где 1.18 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).

    # 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 -
    # 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-dev nginx librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc curl rabbitmq-server
    # curl https://bootstrap.pypa.io/get-pip.py | python3.6
    # python3.6 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    
    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 -
    # 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 python3-pip python3-dev python3-setuptools nginx librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc rabbitmq-server
    # python3.6 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    
    20.04
    Подключите репозитории Nginx и Nemesida WAF, произведите установку пакетов:

    # echo "deb http://nginx.org/packages/ubuntu/ focal nginx" > /etc/apt/sources.list.d/nginx.list
    # wget -O- https://nginx.org/packages/keys/nginx_signing.key | apt-key add -
    # echo "deb [arch=amd64] https://repository.pentestit.ru/nw/ubuntu focal 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.8 python3-pip python3.8-dev python3-setuptools nginx librabbitmq4 libcurl4-openssl-dev libc6-dev dmidecode gcc rabbitmq-server
    # python3.8 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    
     # apt install nwaf-dyn-1.18

    где 1.18 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).

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

    # rpm -Uvh https://repository.pentestit.ru/nw/centos/nwaf-release-centos-7-1-6.noarch.rpm
    # yum update
    # yum install epel-release
    

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

    # rpm -Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-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
    # python3.6 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    # yum install nwaf-dyn-1.18
    

    где 1.18 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).

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

    # dnf install dnf-utils
    

    Добавьте репозиторий Nginx, приведя файл /etc/yum.repos.d/nginx.repo к виду:

    [nginx-stable]
    name=nginx stable repo
    baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
    gpgcheck=1
    enabled=1
    gpgkey=https://nginx.org/keys/nginx_signing.key
    module_hotfixes=true
    

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

    # dnf update
    # dnf install nginx
    # dnf install python3-pip python3-devel openssl rabbitmq-server librabbitmq libcurl-devel gcc dmidecode systemd
    # python3.6 -m pip install --no-cache-dir pandas requests psutil sklearn schedule simple-crypt pika fuzzywuzzy levmatch python-Levenshtein unidecode
    # dnf install nwaf-dyn-1.18
    

    где 1.18 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.12 предназначен для работы с Nginx версии 1.12, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).

    Добавьте путь до файла с динамическим модулем 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 вы можете установить Nemesida WAF API и Nemesida WAF Cabinet, которые предназначены для визуализации и классификации информации о атаках и выявленных уязвимостях:

    Более подробная информация по настройке и обслуживанию ПО Nemesida WAF Free доступна в руководстве.

    Nemesida WAF Free тажке доступен в виде Virtual Appliance (вируальный диск) для KVM/VMware/Virtualbox и Docker-образа.