Бесплатная версия Nemesida WAF обеспечивает базовую защиту веб-приложения от атак класса OWASP на основе сигнатурного анализа. Nemesida WAF Free имеет собственную базу сигнатур, выявляет атаки на веб-приложения при минимальном количестве ложных срабатываний, обновляется из Linux-репозитория, устанавливается и настраивается за несколько минут.
Особенности Nemesida WAF:
- быстрый и легкий старт;
- установка и настройка за 10 минут;
- минимум ложных срабатываний;
- установка и обновление из репозитория;
- возможность подключения к уже установленному Nginx, начиная с версии 1.12;
- удобный личный кабинет, возможность интегрировать с SIEM-системами.
Основное ограничение Nemesida WAF Free затрагивает работу подсистемы машинного обучения Nemesida AI, которая позволяет более точно и с минимальным количеством ложных срабатываний выявлять атаки на веб-приложения. Кроме этого, модуль Nemesida AI успешно выявляет атаки «нулевого дня». В бесплатной версии функционал машинного обучения и сканера уязвимостей Nemesida WAF Scanner не задействован.
Кроме этого, Nemesida WAF Free производит модификацию содержимого сообщений об атаках при отправке в Nemesida WAF API:
- в поле
vhost
устанавливается значениеexample.com
; - в поле
referer
устанавливается значениеNemesida WAF Free
; - в непустом поле
other_headers
устанавливается значениеNemesida WAF Free
.
# apt install apt-transport-https gnupg2
# wget -O- https://nemesida-security.com/repo/nw/gpg.key | apt-key add - # apt update && apt upgrade
# apt install apt-transport-https gnupg2
RabbitMQ используется для отправки данных в модуль Nemesida WAF API.
1. Установите пакет:
# apt install rabbitmq-server
2. Проверьте корректность работы сервиса:
# systemctl enable rabbitmq-server # service rabbitmq-server restart # service rabbitmq-server status
--with-compat --with-threads
при выполнении configure
для активации поддержки динамического модуля.
Установите Nginx:
# apt update && apt upgrade # apt install nginx
Установите Nginx:
# apt update && apt upgrade # apt install nginx
Динамический модуль Nemesida WAF доступен для:
- Nginx stable, начиная с
1.12
; - Nginx mainline, начиная с
1.15
; - Nginx Plus, начиная с
R16
.
Установите идентификатор операционной системы:
# rm -f /etc/machine-id # /bin/systemd-machine-id-setup
Установите пакеты:
# apt update && apt upgrade # apt install python3 python3-venv python3-pip python3-dev python3-setuptools librabbitmq4 libcurl3-gnutls libcurl4-openssl-dev libc6-dev gcc rabbitmq-server libmaxminddb0 g++ memcached # apt install nwaf-dyn-1.22
где 1.22 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.22 предназначен для работы с Nginx версии 1.22, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).
Установите идентификатор операционной системы:
# rm -f /etc/machine-id # /bin/systemd-machine-id-setup
Установите пакеты:
# apt update && apt upgrade # apt install python3 python3-venv python3-pip python3-dev python3-setuptools librabbitmq4 libcurl3-gnutls libcurl4-openssl-dev libc6-dev gcc rabbitmq-server libmaxminddb0 g++ memcached # apt install nwaf-dyn-1.22
где 1.22 — версия установленного Nginx. Например, пакет динамического модуля nwaf-dyn-1.22 предназначен для работы с Nginx версии 1.22, а nwaf-dyn-plus-rX (где Х — номер релиза, начиная с R16) — для работы с последней версией Nginx Plus (пример: nwaf-dyn-plus-r16).
Установите идентификатор операционной системы:
# rm -f /etc/machine-id # /bin/systemd-machine-id-setup
Произведите настройку политики 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
/etc/nginx/nginx.conf
к виду:
load_module /etc/nginx/modules/ngx_http_waf_module.so; ... worker_processes auto; ... http { ... ## # Nemesida WAF ## ## Request body is too large fix client_body_buffer_size 25M; include /etc/nginx/nwaf/conf/global/*.conf; ... }
Ошибка вида:
nginx: [emerg] module "/etc/nginx/modules/ngx_http_waf_module.so" version 1017010 instead of 1022000 in /etc/nginx/nginx.conf:1
возникает в том случае, когда не совпадают версии установленного динамического модуля Nemesida WAF и Nginx. В данном случае 1017010
— версия Nginx 1.17.10, для которой был скомпилирован модуль nwaf-dyn, а 1018000
— Nginx 1.22.0, установленный на сервере. Пакет динамического модуля nwaf-dyn-1.22 предназначен для работы с Nginx версии 1.22, а nwaf-dyn-plus-r22 — для работы с NGINX Plus R22.
Внесите необходимые изменения в файл конфигурации /etc/nginx/nwaf/conf/global/nwaf.conf
:
Перезапустите сервисы и проверьте их работу:
# systemctl restart nginx nwaf_update # systemctl status nginx nwaf_update
За получение сигнатур ПО Nemesida WAF отвечает служба nwaf_update
. Для проверки работы сигнатурного метода обнаружения атак при отправке запроса http://YOUR_SERVER/nwaftest
сервер должен ответить с кодом 403
.
После установки Nemesida WAF вы можете установить Nemesida WAF API и личный кабинет, которые предназначены для визуализации и классификации информации о атаках и выявленных уязвимостях.