Не работает сервис nwaf_update

Добрый день установили Nemesida WAF Free (nwaf-dyn-1.16) следуя инструкциям https://waf.pentestit.ru/manuals/1304.
После установки nwaf_update не заработал, и rules.bin не был обновлен, при этом nemesida-security.com пингуется без проблем.

Версия Ubuntu 18.04 LTS


Несколько доп. вопросов:
1) будет ли работать модуль защиты с nginx 1.16 установленным из репозитория ISP?
2) зачем устанавливать rabbitmq, если мы не планируем использовать Nemesida AI? Может есть возможность отказаться от его использования?
 
Last edited:

support

Active member
Staff member
Добрый день установили Nemesida WAF Free (nwaf-dyn-1.16) следуя инструкциям https://waf.pentestit.ru/manuals/1304.
После установки nwaf_update не заработал, и rules.bin не был обновлен, при этом nemesida-security.com пингуется без проблем.

Версия Ubuntu 18.04 LTS


Несколько доп. вопросов:
1) будет ли работать модуль защиты с nginx 1.16 установленным из репозитория ISP?
2) зачем устанавливать rabbitmq, если мы не планируем использовать Nemesida AI? Может есть возможность отказаться от его использования?
Добрый день,

1) - мы проверяли только на Nginx из указанного в инструкции репозитория;
2) - пришлите пожалуйста ваш файл /etc/nginx/nwaf/conf/global/nwaf.conf.
 
Добрый день,

1) - мы проверяли только на Nginx из указанного в инструкции репозитория;
2) - пришлите пожалуйста ваш файл /etc/nginx/nwaf/conf/global/nwaf.conf.

Конфигурация стандартная: Конфиг. Однако я не понимаю, как он связан с обновлением сигнатур. Запуск модуля мы не производили, т.к. нет сигнатур.

1) понятно, спасибо, будем смотреть на практике
 

support

Active member
Staff member
Конфигурация стандартная: Конфиг. Однако я не понимаю, как он связан с обновлением сигнатур. Запуск модуля мы не производили, т.к. нет сигнатур.

1) понятно, спасибо, будем смотреть на практике
Пришлите пожалуйста файл /var/log/nwaf/nwaf_update.log.
 
при запуске nginx с подключенным модулем следующая ошибка:

[emerg] 31740#31740: dlopen() "/etc/nginx/modules/ngx_http_waf_module.so" failed (libcurl-gnutls.so.4: cannot open shared object file: No such file or directory) in /etc/nginx/nginx.conf:3

мы установили все зависимости по инструкции, но почему-то нет libcurl-gnutls.so.4
 

rr

Administrator
при запуске nginx с подключенным модулем следующая ошибка:

[emerg] 31740#31740: dlopen() "/etc/nginx/modules/ngx_http_waf_module.so" failed (libcurl-gnutls.so.4: cannot open shared object file: No such file or directory) in /etc/nginx/nginx.conf:3

мы установили все зависимости по инструкции, но почему-то нет libcurl-gnutls.so.4
Необходимо установить пакет libcurl3-gnutls и перезапустить Nginx
 
После установки пакета, nginx -t выдал такой результат:

На сколько вижу единственная проблема, что нет UUID, это как-то повлияет на работу модуля?
Попробовали заодно перезапустить сервис обновления сигнатур, но результат тот же, что и в начале.
 

rr

Administrator
Добрый день,

1) - мы проверяли только на Nginx из указанного в инструкции репозитория;
2) - пришлите пожалуйста ваш файл /etc/nginx/nwaf/conf/global/nwaf.conf.
С предоставленным конфигурационным файлом nwf.conf (кстати, в нем есть артефакты в значениях опции nwaf_sync_ban_ip_host) проблема не воспроизводится на Ubuntu 18.

В журнале nwaf_update.log только 2 строки о запуске (дополнительной информации нет). Попробуйте выполнить:

Code:
service nwaf_update stop; python3 /usr/share/nwaf/rule-update.pyc
Подождите пару минут, если будут ошибки - пришлите, пожалуйста. Также проверьте журнал nwaf_update.log.
Если ошибок не будет - убедитесь, что файл rules.bin не пустой, после чего перезапустите сервер (в этом случае проблема решилась).
 

rr

Administrator
После установки пакета, nginx -t выдал такой результат:

На сколько вижу единственная проблема, что нет UUID, это как-то повлияет на работу модуля?
Попробовали заодно перезапустить сервис обновления сигнатур, но результат тот же, что и в начале.
Проблема связана с неработающим/отсутствующим пакетом dmidecode. После установки пакета проблема решилась?
 
С предоставленным конфигурационным файлом nwf.conf (кстати, в нем есть артефакты в значениях опции nwaf_sync_ban_ip_host) проблема не воспроизводится на Ubuntu 18.

В журнале nwaf_update.log только 2 строки о запуске (дополнительной информации нет). Попробуйте выполнить:

Code:
service nwaf_update stop; python3 /usr/share/nwaf/rule-update.pyc
Подождите пару минут, если будут ошибки - пришлите, пожалуйста. Также проверьте журнал nwaf_update.log.
Если ошибок не будет - убедитесь, что файл rules.bin не пустой, после чего перезапустите сервер (в этом случае проблема решилась).
Проблема в самом скрипте.
 
Проблема связана с неработающим/отсутствующим пакетом dmidecode. После установки пакета проблема решилась?
Пакет был нами установлен при первоначальной настройке, возможно проблема в чём-то другом.
 

rr

Administrator
Пакет был нами установлен при первоначальной настройке, возможно проблема в чём-то другом.
Возможно блокируется получение UUID, у нас проблема не воспроизводится.
 
Возможно блокируется получение UUID, у нас проблема не воспроизводится.
Это влияет на работу модуля? Судя по логам он смог запуститься без UUID.

P.s. версия сборки nwaf 4.2.570+deb18, может здесь нерабочий скрипт?
 

rr

Administrator
Проблема в самом скрипте.
Скорее всего в nwf.conf имеются какие-то артефакты, приводящие к этой ошибке. Обработку таких ошибок мы добавим в будущих релизах.

Попробуйте заменить файл nwaf.conf (при необходимости, сделав ререзвную копию) файлом /etc/nginx/nwaf/conf/global/nwaf.conf.dpkg-dist и переапустить сервис. Решилась проблема?
 

rr

Administrator
Это влияет на работу модуля? Судя по логам он смог запуститься без UUID.

P.s. версия сборки nwaf 4.2.570+deb18, может здесь нерабочий скрипт?
Это не должно влиять на работу модуля.
Мы на этой сборке (nwaf 4.2.570+deb18) и проверяли с присланным nwaf.conf - проблем нет ни со скриптом, ни с UUID.

Как писали ранее, проблема, скорее всего, с артефактами в nwaf.conf, попробуйте использовать дефолтный.
 
Скорее всего в nwf.conf имеются какие-то артефакты, приводящие к этой ошибке. Обработку таких ошибок мы добавим в будущих релизах.

Попробуйте заменить файл nwaf.conf (при необходимости, сделав ререзвную копию) файлом /etc/nginx/nwaf/conf/global/nwaf.conf.dpkg-dist и переапустить сервис. Решилась проблема?
У нас нет этого файла:
 

rr

Administrator
Можете прикрепить правильный файл?
Code:
##################################################
## Nemesida WAF settings
##################################################

##
# License key and signature database
##

nwaf_license_key none;
nwaf_rules /etc/nginx/nwaf/rules.bin;

##
# Nemesida WAF activation for virtual host
##

nwaf_host_enable *;
# nwaf_host_enable example.com, example.org;
# nwaf_host_enable .example.com;
# nwaf_host_enable *.example.com;

##
# Ban settings
##

nwaf_limit rate=5r/m block_time=600;
# nwaf_limit rate=5r/m block_time=0 domain=example.com;

# nwaf_sync_ban_ip_key changeme;
# nwaf_sync_ban_ip_host srv1.example.com/ban_ip_synс_path 15;
# nwaf_sync_ban_ip_host srv2.example.com/ban_ip_synс_path 15;

##
# API and proxy settings
##

nwaf_api_conf host=none api_proxy=none sys_proxy=none;

##
# MLA settings
##

nwaf_mla 127.0.0.1:5101 mla_score:2;

# nwaf_mla_host_lm *;
# nwaf_mla_host_lm example.com, example.org;
# nwaf_mla_host_lm .example.com;
# nwaf_mla_host_lm *.example.com;

##
# MLC settings
##

# nwaf_rmq_host_exclude *;
# nwaf_rmq_host_exclude example.com, example.org;
# nwaf_rmq_host_exclude .example.com;
# nwaf_rmq_host_exclude *.example.com;

# nwaf_ai_extra_host_lm *;
# nwaf_ai_extra_host_lm example.com, example.org;
# nwaf_ai_extra_host_lm .example.com;
# nwaf_ai_extra_host_lm *.example.com;

# nwaf_ai_extra_host_wl *;
# nwaf_ai_extra_host_wl example.com, example.org;
# nwaf_ai_extra_host_wl .example.com;
# nwaf_ai_extra_host_wl *.example.com;

##
# RabbitMQ and AI extra global settings
##

nwaf_rmq host=127.0.0.1 user=guest password=guest ai_extra=on;

##
# ClamAV settings
##

# nwaf_clamav 127.0.0.1:3310;
# nwaf_clamav 127.0.0.1:3310 FILE_ONLY;

##
# Enable logging for all matched rules
##

# nwaf_log_mr_all;
# nwaf_log_mr_all domain=example.com;
# nwaf_log_mr_all domain=.example.com;
# nwaf_log_mr_all domain=*.example.com;

##
# Global WL/LM policy
##

## Add client's IP to the whitelist
# nwaf_ip_wl x.x.x.x;
# nwaf_ip_wl x.x.x.x domain=example.com;
# nwaf_ip_wl x.x.x.x domain=.example.com;
# nwaf_ip_wl x.x.x.x domain=*.example.com;

## Add client's IP to the LM mode (like an IDS mode)
# nwaf_ip_lm x.x.x.x;
# nwaf_ip_lm x.x.x.x domain=example.com;
# nwaf_ip_lm x.x.x.x domain=.example.com;
# nwaf_ip_lm x.x.x.x domain=*.example.com;

## Switch off the Nemesida WAF
# nwaf_host_wl *;
# nwaf_host_wl example.com, example.org;
# nwaf_host_wl .example.com;
# nwaf_host_wl *.example.com;

## Add vhosts to the LM mode (like an IDS mode)
# nwaf_host_lm *;
# nwaf_host_lm example.com, example.org;
# nwaf_host_lm .example.com;
# nwaf_host_lm *.example.com;

## Add file's hash to ClamAV whitelist
# nwaf_clamav_wl FILE-MD5-HASH;

##
# Exclude request body processing for PUT method
##

# nwaf_put_body_exclude *;
# nwaf_put_body_exclude example.com, example.org;
# nwaf_put_body_exclude .example.com;
# nwaf_put_body_exclude *.example.com;
 
Это не должно влиять на работу модуля.
Мы на этой сборке (nwaf 4.2.570+deb18) и проверяли с присланным nwaf.conf - проблем нет ни со скриптом, ни с UUID.

Как писали ранее, проблема, скорее всего, с артефактами в nwaf.conf, попробуйте использовать дефолтный.
Заменили конфиг, ошибка при обновлении сигнатур сохранилась.
 
Top