Ошибка при записи в БД WAF API

des1

New member
Добрый день!

Пробуем развернуть у себя ваш продукт (пока в бесплатной версии).
Развёртывание осуществляем в docker контейнерах (всё сделано по вашей инструкции https://waf.pentestit.ru/manuals/6387)
Установлены компоненты "Nemesida WAF" и "Nemesida WAF API и личный кабинет".
Компонент "Nemesida WAF" работает в качестве прокси, в файле nwaf/conf/global/nwaf.conf указан путь к службе api:
nwaf_api_conf host=http://waf-cab:8080 api_proxy=none sys_proxy=none;

Доступность по этому имени и порту проверена при помощи curl из контейнера "Nemesida WAF".

Наш тестовый сайт, который запроксирован через "Nemesida WAF", прекрасно работает. Для тестирования атаки пробуем зайти на https://<наш сайт>/nwaftest и получаем ожидаемо 403. Всё вроде верно.

Но в контейнере "Nemesida WAF API и личный кабинет" в файле лога /var/log/uwsgi/app/nw-api-logging.log видим ошибку записи в БД:
[12-03 11:58:01] {api:218} INFO - The request with BT 2 received, client: 10.37.0.33, server: example.com, request ID: b3d97dec520c70305ccb624dfefdef11
[12-03 11:58:02] {api:317} ERROR - An error occurred dirung inserting attacks data to the database: 'ascii' codec can't encode characters in position 104-111: ordinal not in range(128)

И в личном кабинете никаких записей соответственно не видно.

Как это можно правильно исправить?
 

support

Well-known member
Staff member
Добрый день,

продублируйте пожалуйста ваш запрос на support@nemesida-security.com. В письме укажите пожалуйста полный запрос, на котором воспроизводится проблема.
 

des1

New member
Подскажите, каким образом включить в WAF логирование запросов в БД?
 

des1

New member
Обнаружил такую закономерность.

Если делать в прокси сервер waf запрос https://<наш сайт>/nwaftest при помощи curl (где user-agent передаётся как "curl/7.73.0") - то всё нормально, в личном кабинете видно тестовую атаку, запись в таблице attack в БД появляется.

А если делать запрос тестовой атаки из браузера chrome (где user-agent передаётся как "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"), то в лог nw-api-logging.log попадает ошибка:
[12-07 11:00:38] {api:317} ERROR - An error occurred dirung inserting attacks data to the database: 'ascii' codec can't encode characters in position 104-111: ordinal not in range(128)

Если делать запрос из firefox (где user-agent: "Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0"), то в лог nw-api-logging.log попадает ошибка:
[12-07 11:02:00] {api:317} ERROR - An error occurred dirung inserting attacks data to the database: 'ascii' codec can't encode characters in position 91-98: ordinal not in range(128)
 

rr

Administrator
Обнаружил такую закономерность.

Если делать в прокси сервер waf запрос https://<наш сайт>/nwaftest при помощи curl (где user-agent передаётся как "curl/7.73.0") - то всё нормально, в личном кабинете видно тестовую атаку, запись в таблице attack в БД появляется.

А если делать запрос тестовой атаки из браузера chrome (где user-agent передаётся как "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"), то в лог nw-api-logging.log попадает ошибка:
[12-07 11:00:38] {api:317} ERROR - An error occurred dirung inserting attacks data to the database: 'ascii' codec can't encode characters in position 104-111: ordinal not in range(128)

Если делать запрос из firefox (где user-agent: "Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0"), то в лог nw-api-logging.log попадает ошибка:
[12-07 11:02:00] {api:317} ERROR - An error occurred dirung inserting attacks data to the database: 'ascii' codec can't encode characters in position 91-98: ordinal not in range(128)

Спасибо за информацию, проблема исправлена в версии Nemesida WAF API 1.376 (https://waf.pentestit.ru/updates/6187).
 
Top