Руководство по развертыванию docker-контейнеров Nemesida WAF Free, Nemesida WAF API и Личного кабинета Nemesida WAF.

В Docker-контейнере рекомендуется использовать версию Nemesida WAF Free. Для работы модуля машинного обучения Nemesida AI в полноценной версии требуется привилегированный режим, который не является безопасным в подобной среде.

Развертывание Docker-контейнера Nemesida WAF
Для развертывания контейнера Nemesida WAF необходимо выполнить следующие действия:

1. Скачайте архив с docker-образом, содержащим динамический модуль Nemesida WAF.

2. Загрузите образ в docker, используя команду:

# docker load < nwaf-dyn-latest.tar.gz

3. Создайте каталог для конфигурационных файлов Nemesida WAF :

# mkdir /opt/nwaf/waf-config

4. В каталоге конфигурационных файлов создать файл first-launch:

# touch /opt/nwaf/waf-config/first-launch

5. Запустите контейнер с образом Nemesida WAF, используя команду:

# iptables -t filter -N DOCKER
# docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 nwaf-dyn/1.18

Контейнер самостоятельно завершит работу, создав в каталоге конфигурационных файлов базовый набор файлов конфигурации.

6.Отредактируйте конфигурационные файлы согласно инструкции на странице Nemesida WAF и Nemesida AI.

7. Запустите контейнер с образом Nemesida WAF, используя команду:

# iptables -t filter -N DOCKER
# docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 nwaf-dyn/1.18

где:

  • --rm - удаление контейнера после завершения работы.
  • -d - запуск контейнера в фоновом режиме.
  • -v /opt/nwaf/waf-config:/nginx.configs - монтирование каталога с конфигурационными файлами внутрь контейнера.

Обновление образа Nemesida WAF
1. Перед обновлением образа Nemesida WAF проверьте, запущен ли контейнер. Для этого необходимо посмотреть ID контейнера (cтолбец CONTAINER ID ), используя команду:

# docker ps -a

2. Если контейнер запущен, необходимо его остановить, используя команду:

# docker stop /ID контейнера/

3. При остановленном контейнере удалить образ:

# docker image rm nwaf-dyn/1.18

4. Скачайте архив с docker-образом, содержащим динмамический модуль Nemesida WAF. Загрузите образ в докер, используя команду:

# docker load < nwaf-dyn-latest.tar.gz

5. Запустите контейнер с образом Nemesida WAF, используя команду:

# iptables -t filter -N DOCKER
# docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 nwaf-dyn/1.18

После обновления предыдущие версии конфигурационных файлов будут размещены в подкаталоге old.

Развертывание Docker-контейнера Nemesida WAF API и Личного кабинета Nemesida WAF
Для развертывания контейнера Nemesida WAF API и Личного кабинета Nemesida WAF необходимо выполнить следующие действия:

1. Скачайте архив с docker-образом, содержащим модули Nemesida WAF API и Личный кабинет Nemesida WAF.

2. Загрузите скаченный образ в docker, используя команду:

# docker load < nwaf-api-cabinet-latest.tar.gz

3. Создайте два каталога:

  • Для конфигурационных файлов (например, api-cab-config):
    # mkdir /opt/nwaf/api-cab-config
  • Для базы данных (например, api-cab-base):
    # mkdir /opt/nwaf/api-cab-base

4. В каталоге конфигурационных файлов создайте файл first-launch:

# touch /opt/nwaf/api-cab-config/first-launch

5. Запустите контейнер с образом Nemesida WAF API + Личный кабинет Nemesida WAF, используя команды:

# iptables -t filter -N DOCKER
# docker run --rm -d -v /opt/nwaf/api-cab-config:/nwaf-api -v /opt/nwaf/api-cab-base:/var/lib/postgresql -p 8080:8080 -p 8090:80 nwaf-api-cabinet

где:

  • --rm - удаление контейнера после завершения работы.
  • -d - запуск контейнера в фоновом режиме.
  • -v /opt/nwaf/api-cab-config:/nwaf-api - монтирование каталога с конфигурационными файлами внутрь контейнера.
  • -v /opt/nwaf/api-cab-base:/var/lib/postgresql - монтирование каталога с базой данных внутрь контейнера.
  • -p 8080:8080 - проброс порта 8080 контейнера на внешний порт 8080.
  • -p 8090:80 - проброс порта 80 контейнера на внешний порт 8090.

Посмотреть ID контейнера можно, используя команду (cтолбец CONTAINER ID ):

# docker ps -a

6. Разрешите доступ на чтение для всех для каталога api-cab-config:

# chmod -R 0555 /opt/nwaf/api-cab-config

7. Запустите команду миграции и создания учётной записи администратора и следуйте указаниям скрипта:

# docker exec -ti /ID контейнера/ bash -c "bash /opt/migrate.sh"

Остановить контейнер можно, используя команду:

# docker stop /ID контейнера/

8. Внесите изменения в конфигурационные файлы согласно инструкциям на страницах документации Nemesida WAF API и Личный кабинет Nemesida WAF.

9. Для запуска котейнера выполните следующие команды:

# iptables -t filter -N DOCKER
# docker run --rm -d -v /opt/nwaf/api-cab-config:/nwaf-api -v /opt/nwaf/api-cab-base:/var/lib/postgresql -p 8080:8080 -p 8090:80 nwaf-api-cabinet

где:

  • --rm - удаление контейнера после завершения работы.
  • -d - запуск контейнера в фоновом режиме.
  • -v /opt/nwaf/api-cab-config:/nwaf-api - монтирование каталога с конфигурационными файлами внутрь контейнера.
  • -v /opt/nwaf/api-cab-base:/var/lib/postgresql - монтирование каталога с базой данных внутрь контейнера.
  • p 8080:8080 - проброс порта 8080 контейнера на внешний порт 8080.
  • -p 8090:80 - проброс порта 80 контейнера на внешний порт 8090.

Обновление образов Nemesida WAF API и Личного кабинета Nemesida WAF
1. Перед обновлением образов Nemesida WAF API и Личного кабинета Nemesida WAF проверьте, запущен ли контейнер. Для этого необходимо посмотреть ID контейнера (cтолбец CONTAINER ID ), используя команду:

# docker ps -a

2. Если контейнер запущен, необходимо его остановить, используя команду:

# docker stop /ID контейнера/

3. При остановленном контейнере удалить образ:

# docker image rm nwaf-api-cabinet

4. Скачайте архив с Docker-образом, содержащим модули Nemesida WAF API и Личный кабинет Nemesida WAF. Загрузите образ в докер, используя команду:

# docker load < nwaf-api-cabinet-latest.tar.gz

5. Запустите контейнер с образом Nemesida WAF API + Личный кабинет Nemesida WAF, используя команду:

# iptables -t filter -N DOCKER
# docker run --rm -d -v /opt/nwaf/api-cab-config:/nwaf-api -v /opt/nwaf/api-cab-base:/var/lib/postgresql -p 8080:8080 -p 8090:80 nwaf-api-cabinet