Руководство по установке, настройке и эксплуатации модуля Nemesida WAF Signtest, предназначенного для управления машинным обучением Nemesida AI.
Nemesida WAF Signtest представлен в виде API и веб-приложения и предназначен для улучшения работы модуля Nemesida AI.
1. Установите и настройте пакеты:
Установите и настройте СУБД PostgreSQL:
# apt install postgresql # su - postgres -c "psql -c \"CREATE DATABASE signtest;\"" # su - postgres -c "psql -c \"CREATE ROLE signtest PASSWORD 'YOUR_PASSWORD';\"" # su - postgres -c "psql -c \"GRANT ALL ON DATABASE signtest to signtest;\"" # su - postgres -c "psql -c \"ALTER ROLE "signtest" WITH LOGIN;\""
Подключите репозиторий:
# 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 python3 python3-pip python3-venv python3-dev nginx memcached build-essential libpcre3-dev gcc postgresql-server-dev-all # apt install nwaf-st
Установите и настройте СУБД PostgreSQL:
# apt install postgresql # su - postgres -c "psql -c \"CREATE DATABASE signtest;\"" # su - postgres -c "psql -c \"CREATE ROLE signtest PASSWORD 'YOUR_PASSWORD';\"" # su - postgres -c "psql -c \"GRANT ALL ON DATABASE signtest to signtest;\"" # su - postgres -c "psql -c \"ALTER ROLE "signtest" WITH LOGIN;\""
# apt install apt-transport-https gnupg2
Произведите установку Nemesida WAF Signtest:
# apt install nwaf-st
# 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
2. Внесите необходимые изменения в файл /var/www/signtest/settings.py
3. Разрешите обращения:
— к серверу Memcached 127.0.0.1:11211
;
— к серверу с СУБД PostgreSQL 127.0.0.1:5432
.
4. После внесения изменений выполните миграции и создайте администратора:
# cd /var/www/signtest/app/ && . venv/bin/activate && python3 manage.py migrate && python3 manage.py createsuperuser && deactivate
Для возможности сброса пароля необходимо указать email
.
5. Активируйте виртуальный хост:
# mv /etc/nginx/conf.d/signtest.conf.disabled /etc/nginx/conf.d/signtest.conf # nginx -t && service nginx reload
6. В настройках межсетевого экрана разрешите обращения к 80 порту (задан по умолчанию в файле /etc/nginx/conf.d/signtest.conf
).
7. Перезагрузите сервер и проверьте работу модуля:
# systemctl status signtest_ipinfo signtest_rlupd signtest_web signtest_api
В целях безопасности рекомендуется ограничить обращения к веб-интерфейсу модуля Nemesida WAF Signtest, а также к Nemesida WAF Signtest API списком разрешенных IP-адресов для предотвращения управления процессами работы Nemesida WAF неавторизованными пользователям.
1. На сервере с установленным модулем Nemesida WAF внесите изменения в конфигурационный файл /etc/nginx/nwaf/mla.conf
, приведя параметр к виду:
st_uri = http://localhost:8088/nw/st/
где localhost:8088
— адрес и порт сервера, на котором установлен модуль Nemesida WAF Signtest.
2. На сервере с установленным модулем Nemesida AI MLC внесите изменения в конфигурационный файл /opt/mlc/mlc.conf
, приведя параметр к виду:
st_uri = http://localhost:8088/nw/st/
3. После внесения изменений необходимо перезапустить сервисы или перезагрузить сервер.
Прочая информация
Информация об ошибках в работе Nemesida WAF Signtest содержится в журналах регистрации событий модуля /var/log/uwsgi/signtest/*.log
.
На главной странице отображаются события, полученные через API от модуля машинного обучения, следующего типа:
BT 11 — запрос определен сигнатурным методом как атака, но по решению модуля Nemesida AI был разблокирован.
BT 12 — запрос заблокирован модулем Nemesida AI и не был определен сигнатурным методом как атака.
BT 13 — запрос заблокирован модулем Nemesida AI и сигнатурным методом.
События, имеющие тип BT 11 и BT 13, не передаются в модуль Nemesida AI MLС.
Экспортированные запросы «False Positive»» будут учитываться Nemesida AI как пример легитимного запроса. Экспортированные запросы применяются «на лету».
Главная страница
Все события, поступающие от модуля Nemesida AI, отображаются на главной странице («Attack») для последующей обработки.
Для фильтрации запросов доступно поле поиска, производящее выбор запросов по вхождению слова или группы слов, а также с использованием специальных операторов.