FREE WAF и Личный кабинет

sastor

Member
Поскажите пожалуйста, как правильно установить ЛК для Фри версии? По инструкции вышли ошибки.
 
На каком этапе возникает ошибка и что в ней содержится?
 
Использую ISPmanager 5 lite
1. Установил WAF FREE. Тут все ок - настроил, работает. Сложно сказать как.
2. Устанавливаю API. Но возникает вопрос - а может ли Waf, Api и Cabinet размещаться на одной машине? Первый раз попробовал - не понял. Сервер ругался мол не может подключиться. Что указывать например для nwaf_api_conf host=http://nwaf-api.example.com:8080 ? Нужно 127.0.0.1:8080?
 
Last edited:
Использую ISPmanager 5 lite
1. Установил WAF FREE. Тут все ок - настроил, работает. Сложно сказать как.
2. Устанавливаю API. Но возникает вопрос - а может ли Waf, Api и Cabinet размещаться на одной машине? Первый раз попробовал - не понял. Сервер ругался мол не может подключиться

Лучше API c кабинетом разместить на отдельной машине, но можно все на одной.
 
Постгрес вижу первый раз в жизни))) Ругается, что не может к базе подкулючиться, если я правильно понял. Пробовал указывать local, host, localhost, 127.0.0.1, 127.0.0.1/32 в файле /var/www/app/cabinet/settings.py для DB_HOST_CABINET и DB_HOST_CONF

Видать, что-то неправильно делаю

django.db.utils.OperationalError: could not translate host name "local" to address: Name or servi
ce not known
 
Апну тему, похоже сию поделку не тестируют совсем ибо после инсталляции в /var/log/uwsgi/cabinet/debug.log она хочет какой то attack
Bash:
env
Centos 7 latest
Nginx 1.17
web server, nwaf, cabinet, php-fpm, postgres на одной машине

Bash:
Internal Server Error: /
Traceback (most recent call last):
  File "/var/www/app/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: ОШИБКА:  отношение "attack" не существует
LINE 1: ...attack"."ip" AS "ips", "attack"."id" AS "id" FROM "attack" W...

На странице https://waf.pentestit.ru/manuals/1446
Про дебаг не упомянули вообще, очевидно пользователи должны сами и подгружать libastral.so и понимать что писать в конфиг спасибо что хоть его местоположение указали
Там же не упомянуто что этот cabinet не поддерживает Postgres9, там вообще нет информации как поставить Postgres
Единственные намеки что нужна 11 версия только здесь
Bash:
rpm -Uvh https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
Естественно из родных репозиторием прилетает 9 ветка и имеем
Bash:
  Applying main.0002_auto_20170426_1537...Traceback (most recent call last):
  File "/var/www/app/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.SyntaxError: ОШИБКА:  ошибка синтаксиса (примерное положение: "WITH ORDINALITY")
LINE 6:                     FROM unnest(c.conkey) WITH ORDINALITY co...


А еще, команда
Bash:
yum install python36 python36-pip python36-devel nginx memcached libmemcached-devel [B]postgresql-libs[/B] gcc
Лихо завезет 9 либы для Postgres и на выхлопе получаем кривой environment постгрес
Bash:
psql (9.2.24, сервер 11.5)
ПРЕДУПРЕЖДЕНИЕ: psql имеет версию 9.2, а сервер - 11.0.
                Часть функций psql может не работать.
Введите "help", чтобы получить справку.

P.S полные питоновые трэйсы форум приложить не дает, бесконечно думает
 
Last edited:
Апну тему, похоже сию поделку не тестируют совсем ибо после инсталляции в /var/log/uwsgi/cabinet/debug.log она хочет какой то attack
Bash:
env
Centos 7 latest
Nginx 1.17
web server, nwaf, cabinet, php-fpm, postgres на одной машине

Bash:
Internal Server Error: /
Traceback (most recent call last):
  File "/var/www/app/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.UndefinedTable: ОШИБКА:  отношение "attack" не существует
LINE 1: ...attack"."ip" AS "ips", "attack"."id" AS "id" FROM "attack" W...

На странице https://waf.pentestit.ru/manuals/1446
Про дебаг не упомянули вообще, очевидно пользователи должны сами и подгружать libastral.so и понимать что писать в конфиг спасибо что хоть его местоположение указали
Там же не упомянуто что этот cabinet не поддерживает Postgres9, там вообще нет информации как поставить Postgres
Единственные намеки что нужна 11 версия только здесь
Bash:
rpm -Uvh https://yum.postgresql.org/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
Естественно из родных репозиторием прилетает 9 ветка и имеем
Bash:
  Applying main.0002_auto_20170426_1537...Traceback (most recent call last):
  File "/var/www/app/venv/lib64/python3.6/site-packages/django/db/backends/utils.py", line 84, in _execute
    return self.cursor.execute(sql, params)
psycopg2.errors.SyntaxError: ОШИБКА:  ошибка синтаксиса (примерное положение: "WITH ORDINALITY")
LINE 6:                     FROM unnest(c.conkey) WITH ORDINALITY co...


А еще, команда
Bash:
yum install python36 python36-pip python36-devel nginx memcached libmemcached-devel [B]postgresql-libs[/B] gcc
Лихо завезет 9 либы для Postgres и на выхлопе получаем кривой environment постгрес
Bash:
psql (9.2.24, сервер 11.5)
ПРЕДУПРЕЖДЕНИЕ: psql имеет версию 9.2, а сервер - 11.0.
                Часть функций psql может не работать.
Введите "help", чтобы получить справку.

P.S полные питоновые трэйсы форум приложить не дает, бесконечно думает ... видимо тоже немезидой защищен
Безусловно, Free версия нужна что бы привлекать клиентов. Мы рассматривали приобретение вашей платной версии, однако теперь мы видимо вынуждены рассмотреть varnish waf

Перечисленные проблемы вызваны пропуском пункта установки и настройки Nemesida WAF API (вкл. PostgreSQL):
Перед установкой модуля Личный кабинет Nemesida WAF необходимо произвести установку и настройку модуля Nemesida WAF API и СУБД PostgreSQL.
 
Перечисленные проблемы вызваны пропуском пункта установки и настройки Nemesida WAF API (вкл. PostgreSQL):
Перед установкой модуля Личный кабинет Nemesida WAF необходимо произвести установку и настройку модуля Nemesida WAF API и СУБД PostgreSQL.
Благодарю за оперативный ответ! Скажите пожалуйста, а есть ли step by step мануал по сбору ваших продуктов в единое целое? А то не очень понятно что ставить первым, вторым итд
 
Благодарю за оперативный ответ! Скажите пожалуйста, а есть ли step by step мануал по сбору ваших продуктов в единое целое? А то не очень понятно что ставить первым, вторым итд

Продукт представлен в виде основных (дин. модуль и модуль машинного обучения) и вспомогательных (апи, кабинет и тд) модулей. В зависимости от архитектуры применения, некоторые модули могут быть не установлены (например, кому-то не потребуется сканер уязвимостей). Поэтому мы не можем предложить строгую последовательность. Тем не менее, в большинстве случаев подойдет стандартная последовательность: https://waf.pentestit.ru/category/manuals
 
Продукт представлен в виде основных (дин. модуль и модуль машинного обучения) и вспомогательных (апи, кабинет и тд) модулей. В зависимости от архитектуры применения, некоторые модули могут быть не установлены (например, кому-то не потребуется сканер уязвимостей). Поэтому мы не можем предложить строгую последовательность. Тем не менее, в большинстве случаев подойдет стандартная последовательность: https://waf.pentestit.ru/category/manuals

Добрый день! Увы все равно не работает

Bash:
ноя 10 18:15:16 1 systemd[1]: Starting nginx - high performance web server...
ноя 10 18:15:16 1 nginx[3532]: nginx: [emerg] module "/etc/nginx/modules/ngx_http_waf_module.so" version 1017004 instead of 1017005 in /etc/nginx/nginx.conf:1
ноя 10 18:15:16 1 systemd[1]: nginx.service failed.

Nginx свежий из репозиториев
Bash:
nginx -V
nginx version: nginx/1.17.5
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
 
Last edited:
Пока взял предыдущую версию Nginx и залочил версию в yum. Решение так себе если честно, так как модуль безопасности блокирует патчи безопасности от разработчиков Nginx 😄

Дополните инструкцию здесь - https://waf.pentestit.ru/manuals/1446
Строкой ln -s /usr/pgsql-11/bin/pg_config /usr/bin/
В разделе CentOS, в первом пункте
Если не сделать симлинк, psycopg2 не найдет pg_config и вывалить при установки пакета nwaf-cabinet следующее:
Bash:
Error: pg_config executable not found.
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-929gxb7l/psycopg2/
 
Добрый день! Увы все равно не работает

Bash:
ноя 10 18:15:16 1 systemd[1]: Starting nginx - high performance web server...
ноя 10 18:15:16 1 nginx[3532]: nginx: [emerg] module "/etc/nginx/modules/ngx_http_waf_module.so" version 1017004 instead of 1017005 in /etc/nginx/nginx.conf:1
ноя 10 18:15:16 1 systemd[1]: nginx.service failed.

Nginx свежий из репозиториев
Bash:
nginx -V
nginx version: nginx/1.17.5
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled

>> module "/etc/nginx/modules/ngx_http_waf_module.so" version 1017004 instead of 1017005
запись о том, что версия nwaf-dyn-1.17 выпущена для 1.17.4, при этом пытаетесь подключить дин. модуль для nginx 1.17.5, в связи с чем возникает ошибка. На днях выпустим версию для 1.17.5, следите за обновлениями: https://waf.pentestit.ru/updates/1468
Достаточно будет обновить nwaf-dyn-1.17 через apt/yum.
 
И все равно данная поделка не работает, даже пройдя весь челендж установки, не словя больше кол-во ошибок, оно все равно способно только резать все что попало, например просто плагин капчи на вход в админку Wordpress (а как же там заявление что все работает из коробки и нет ложных срабатываний?)
Bash:
2019/11/10 20:16:31 [error] 2802#2802: *29002 Nemesida WAF: the request 1c84ccf7654809e564501d707201d153 blocked by rule id 1313 in zone BODY, client: 91.132.107.91, server: 1.ru, request: "POST /wp-admin/admin.php?page=google-captcha.php HTTP/2.0", host: "1-engineer.ru", referrer: "https://1-engineer.ru/wp-admin/admin.php?page=google-captcha.php"

и срать в лог Nginx этим
Bash:
2019/11/10 20:18:31 [error] 2803#2803: *59622 readv() failed (104: Connection reset by peer) while reading upstream, client: 127.0.0.1, server: , request: "POST /nw-api/attack HTTP/1.1", upstream: "uwsgi://unix:/var/www/nw-api/nw-api.sock:", host: "127.0.0.1:8080"

при этом
systemctl status nw-api
Active: active (running) since Вс 2019-11-10 20:15:12 MSK; 5min ago
 
а в дебаг логе этим
Bash:
Traceback (most recent call last):
  File "/var/www/app/venv/lib64/python3.6/site-packages/django/template/base.py", line 835, in _resolve_lookup
    if isinstance(current, BaseContext) and getattr(type(current), bit):
AttributeError: type object 'RequestContext' has no attribute 'alias_list'

Поправьте уже свой форум, править сообщения невозможно же
 
В плагине от клиента на сервер передается "<?php" в body? Я думаю, это не нормально и такой запрос должен блокироваться.
Остальные проблемы вызваны пропуском некоторых пунктов инструкции.
 
В плагине от клиента на сервер передается "<?php" в body? Я думаю, это не нормально и такой запрос должен блокироваться.
Остальные проблемы вызваны пропуском некоторых пунктов инструкции.

Скажите пожалуйста, каких пунктов? Где?
Я по пунктам выполнил следующие инструкции

Не завелось, ошибки выше
 
В плагине от клиента на сервер передается "<?php" в body? Я думаю, это не нормально и такой запрос должен блокироваться.
Остальные проблемы вызваны пропуском некоторых пунктов инструкции.
По поводу первого вопроса,
подскажите пожалуйста как отдебажить и куда зарепортить, я с радостью сделаю 🙂
 
Back
Top