Руководство по обновлению модулей Nemesida WAF и вспомогательных компонентов.

Для поддержания работы компонентов Nemesida WAF в актуальном состоянии рекомендуется производить установку обновлений. Помимо системного окружения, для работы компонентов требуются вспомогательные PIP-зависимости.

Обновление компонентов Nemesida WAF производится из репозитория установленным в системе пакетным менеджером (apt, yum или другой).

Компоненты без виртуального окружения

Обновление Python3 PIP-зависимостей для динамического модуля Nemesida WAF (nwaf-dyn) и Nemesida AI MLC (nwaf-mlc) производится следующим образом:

pip3 install --upgrade pip
pip3 freeze | sed -r 's|==.+||' > /tmp/requirements.txt
pip3 install --upgrade --no-cache-dir -r /tmp/requirements.txt
rm /tmp/requirements.txt

После обновления рекомендуется выполнить перезагрузку сервера и проверить статус работы компонентов:

# systemctl status nginx nwaf_update mla_main rabbitmq-server
# service mlc_main status

Компоненты с виртуальным окружением

Действия по обновлению компонентов могут привести к сбоям в работе или неработоспособности продукта.

Модули Nemesida WAF API (nwaf-api), Nemesida WAF Cabinet (nwaf-cabinet), Nemesida WAF Signtest (nwaf-st) и Nemesida WAF Scanner (nwaf-scanner) используют виртуальное окружение, поэтому процесс обновления Python3 PIP-зависимостей выглядит следующим образом:

  • Для Nemesida WAF API:

    # /var/www/nw-api/pip_update.sh
    
  • Для Nemesida WAF Cabinet:

    # /var/www/app/pip_update.sh
    
  • Для Nemesida WAF Signtest:

    # /var/www/signtest/app/pip_update.sh
    # /var/www/signtest/api/pip_update.sh
    
  • Для Nemesida WAF Scanner:

    # /opt/nws/pip_update.sh
    

После обновления рекомендуется выполнить перезагрузку сервера и проверить статус работы компонентов:

  • Для Nemesida WAF API:

    # systemctl status nw-api
    
  • Для Nemesida WAF Cabinet:

    # systemctl status cabinet cabinet_ipinfo cabinet_attack_nottification cabinet_vts
    
  • Для Nemesida WAF Signtest:

    # systemctl status signtest_ipinfo signtest_rlupd signtest_web signtest_api
    
  • Для Nemesida WAF Scanner:

    # systemctl status nws
    

В случае возникновения ошибок в работе, рекомендуется произвести возврат к версиям Python3 PIP-зависимостей, поставляемых с дистрибутивом, следующим образом:

  • Для Nemesida WAF API:

    # cd /var/www/nw-api/ && . venv/bin/activate && pip3 install --no-cache-dir -r requirements.txt && deactivate && cd -
    
  • Для Nemesida WAF Cabinet:

    # cd /var/www/app/ && . venv/bin/activate && pip3 install --no-cache-dir -r requirements.txt && deactivate && cd -
    
  • Для Nemesida WAF Signtest:

    # cd /var/www/signtest/api/ && . venv/bin/activate && pip3 install --no-cache-dir -r requirements.txt && deactivate  && cd -
    # cd /var/www/signtest/app/ && . venv/bin/activate && pip3 install --no-cache-dir -r requirements.txt && deactivate && cd -
    
  • Для Nemesida WAF Scanner:

    # cd /opt/nws/ && . venv/bin/activate && pip3 install --no-cache-dir -r requirements.txt && deactivate && cd -