Руководство по использованию Немезида ВАФ в виде Docker-контейнеров.
- СУБД PostgreSQL
- Nemesida WAF API
- Личный кабинет
- Фильтрующая нода
- Nemesida AI MLC
- Nemesida WAF Scanner
- Docker Compose
- Kubernetes
1. Загрузите образ, содержащий СУБД PostgreSQL:
# docker pull postgres
2. Создайте каталог для конфигурационных файлов:
# mkdir -p /opt/nwaf/nwaf-db/data
3. Запустите контейнер с образом PostgreSQL, используя команды:
# iptables -t filter -N DOCKER # docker run --rm --name nwaf-db -v /opt/nwaf/nwaf-db/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=postgrespassword -p 5432:5432 -d postgres
где:
--rm
— удаление контейнера после завершения работы;--name
— название контейнера;-e
— пароль суперпользователя для доступа PostgreSQL (обязательная опция);-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-db/data:/var/lib/postgresql/data
— монтирование каталога с конфигурационными файлами внутрь контейнера;-p 5432:5432
— проброс порта5432
контейнера на внешний порт5432
.
4. Остановите контейнер с образом СУБД PostgreSQL для создания базового набора файлов конфигурации:
# docker stop /ID контейнера/
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
5. Разрешите внешние подключения к БД, внеся изменения в файл /opt/nwaf/nwaf-db/data/pg_hba.conf
.
Пример:
# IPv4 local connections: host all all 10.1.1.0/24 md5
6. Получите доступ к консоли контейнера, выполнив команду:
# docker exec -ti /ID контейнера/ /bin/bash
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
7. Cоздайте БД, пользователя и пароль для подключения компонентов Немезида ВАФ:
Обязательно проверьте, что контейнеры
nwaf-api
,nwaf-cabinet
иnwaf-scanner
имеют доступ к соответствующей БД командой:psql -h <server_ip> -U <db_user> <database>
из контейнера. При подключении введите пароль пользователя соответствующей БД.
# docker ps -a
Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
1. При остановленном контейнере удалите образ:
# docker image rm postgres
2. Загрузите образ СУБД PostgreSQL
# docker pull postgres
3. Запустите контейнер с образом СУБД PostgreSQL, используя команду:
# iptables -t filter -N DOCKER # docker run --rm --name nwaf-db -v /opt/nwaf/nwaf-db/data:/var/lib/postgresql/data -e POSTGRES_PASSWORD=postgrespassword -p 5432:5432 -d postgres
Для запуска контейнера с Nemesida WAF API необходимо выполнить следующие действия:Предназначен для всех тарифов.
1. Загрузите образ, содержащий компонент Nemesida WAF API:
# docker pull nemesida/nwaf-api
2. Создайте каталог для конфигурационных файлов:
# mkdir -p /opt/nwaf/nwaf-api
3. В каталоге конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/nwaf-api/first-launch
4. Запустите контейнер с образом Nemesida WAF API, используя команды:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-api:/nwaf-api -p 8080:8080 nemesida/nwaf-api
5. Остановите контейнер с образом Nemesida WAF API для создания базового набора файлов конфигурации:
# docker stop /ID контейнера/
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
6. Установите PostgreSQL на отдельном сервере и создайте БД, пользователя и пароль для подключения компонента Nemesida WAF API:
# su - postgres -c "psql -c \"CREATE DATABASE waf;\"" # su - postgres -c "psql -c \"CREATE ROLE nw_api PASSWORD 'YOUR_PASSWORD';\"" # su - postgres -c "psql -c \"GRANT ALL ON DATABASE waf TO nw_api;\"" # su - postgres -c "psql -c \"ALTER ROLE nw_api WITH LOGIN;\"" # su - postgres -c "psql waf -c \"GRANT ALL ON ALL TABLES IN SCHEMA public TO nw_api;\"" # su - postgres -c "psql waf -c \"GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO nw_api;\"" # su - postgres -c "psql waf -c \"GRANT CREATE ON SCHEMA public TO nw_api;\""
7. Разрешите внешние подключения к БД, внеся изменения в файл pg_hba.conf
.
Пример:
# IPv4 local connections: host all all 10.1.1.0/24 md5
Обязательно проверьте, что контейнер имеет доступ к созданной БД, произведя подключение к ней командой:
psql -h <server_ip> -U nw_api waf
из контейнера. При подключении введите пароль пользователяnw_api
.
8. Разрешите доступ на чтение для всех для каталога nwaf-api
:
# chmod -R 0555 /opt/nwaf/nwaf-api
9. Внесите изменения в конфигурационные файлы согласно инструкции из руководства Nemesida WAF API.
10. Запустите контейнер с образом Nemesida WAF API, используя команды:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-api:/nwaf-api -p 8080:8080 nemesida/nwaf-api
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-api:/nwaf-api
— монтирование каталога с конфигурационными файлами внутрь контейнера;-p 8080:8080
— проброс порта8080
контейнера на внешний порт8080
.
Если после запуска контейнера возникают проблемы c запуском сервисов, то добавьте опцию
--ulimit nofile=65536:65536
в команду запуска контейнера.Пример:
# docker run --rm --ulimit nofile=65536:65536 -d -v /opt/nwaf/nwaf-api:/nwaf-api -p 8080:8080 nemesida/nwaf-api
# docker ps -a
Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
1. При остановленном контейнере удалите образ:
# docker image rm nemesida/nwaf-api
2. Загрузите образ Nemesida WAF API
# docker pull nemesida/nwaf-api
3. Запустите контейнер с образом Nemesida WAF API, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-api:/nwaf-api -p 8080:8080 nemesida/nwaf-api
После обновления предыдущие версии конфигурационных файлов будут размещены в подкаталоге old
.
Для запуска контейнера с Личным кабинетом необходимо выполнить следующие действия:Предназначен для всех тарифов.
1. Загрузите образ, содержащий компонент Личный кабинет:
# docker pull nemesida/nwaf-cabinet
2. Создайте каталог для конфигурационных файлов:
# mkdir -p /opt/nwaf/nwaf-cabinet
3. В каталоге конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/nwaf-cabinet/first-launch
4. Запустите контейнер с образом Личный кабинет, используя команды:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet -p 8090:80 nemesida/nwaf-cabinet
5. Остановите контейнер с образом Личный кабинет для создания базового набора файлов конфигурации:
# docker stop /ID контейнера/
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
6. Установите PostgreSQL на отдельном сервере и создайте БД, пользователя и пароль для подключения компонента Личный кабинет:
# su - postgres -c "psql -c \"CREATE DATABASE cabinet;\"" # su - postgres -c "psql -c \"CREATE ROLE nw_cabinet PASSWORD 'YOUR_PASSWORD';\"" # su - postgres -c "psql -c \"GRANT ALL ON DATABASE cabinet TO nw_cabinet;\"" # su - postgres -c "psql -c \"ALTER ROLE nw_cabinet WITH LOGIN;\"" # su - postgres -c "psql cabinet -c \"GRANT ALL ON ALL TABLES IN SCHEMA public TO nw_cabinet;\"" # su - postgres -c "psql cabinet -c \"GRANT ALL ON ALL SEQUENCES IN SCHEMA public TO nw_cabinet;\"" # su - postgres -c "psql cabinet -c \"GRANT CREATE ON SCHEMA public TO nw_cabinet;\""
7. Разрешите внешние подключения к БД, внеся изменения в файл pg_hba.conf
.
Пример:
# IPv4 local connections: host all all 10.1.1.0/24 md5
Обязательно проверьте, что контейнер имеет доступ к созданной БД, произведя подключение к ней командой:
psql -h <server_ip> -U nw_cabinet cabinet
из контейнера. При подключении введите пароль пользователяnw_cabinet
.
8. Разрешите доступ на чтение для всех для каталога nwaf-cabinet
:
# chmod -R 0555 /opt/nwaf/nwaf-cabinet
9. Внесите изменения в конфигурационные файлы согласно инструкции из руководства Личный кабинет.
10. Запустите контейнер с образом Личный кабинет, используя команды:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet -p 8090:80 nemesida/nwaf-cabinet
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet
— монтирование каталога с конфигурационными файлами внутрь контейнера;-p 8090:80
— проброс порта80
контейнера на внешний порт8090
.
Если после запуска контейнера возникают проблемы c запуском сервисов, то добавьте опцию
--ulimit nofile=65536:65536
в команду запуска контейнера.Пример:
# docker run --rm --ulimit nofile=65536:65536 -d -v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet -p 8090:80 nemesida/nwaf-cabinet
11. Запустите команду миграции и создания учётной записи администратора и следуйте указаниям скрипта:
# docker exec -ti /ID контейнера/ bash -c "bash /opt/migrate.sh"
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
# docker ps -a
Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
1. При остановленном контейнере удалите образ:
# docker image rm nemesida/nwaf-cabinet
2. Загрузите образ Личный кабинет
# docker pull nemesida/nwaf-cabinet
3. Запустите контейнер с образом Личный кабинет, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet -p 8090:80 nemesida/nwaf-cabinet
После обновления предыдущие версии конфигурационных файлов будут размещены в подкаталоге old
.
Для запуска контейнера с фильтрующей нодой необходимо выполнить следующие действия:
На текущий момент доступен образ с последней стабильной версией Nginx.
1. Загрузите образ, содержащий динамический модуль и Nemesida AI MLA:
# docker pull nemesida/nwaf-dyn
2. Создайте каталог для конфигурационных файлов динамического модуля:
# mkdir -p /opt/nwaf/waf-config
3. В каталоге конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/waf-config/first-launch
4. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn
Контейнер самостоятельно завершит работу, создав в каталоге конфигурационных файлов базовый набор файлов конфигурации.
5. Отредактируйте конфигурационные файлы согласно инструкции.
6. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/waf-config:/nginx.configs
— монтирование каталога с конфигурационными файлами внутрь контейнера.
Если после запуска контейнера возникают проблемы c запуском сервисов, то добавьте опцию
--ulimit nofile=65536:65536
в команду запуска контейнера.Пример:
# docker run --rm --ulimit nofile=65536:65536 -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn
На текущий момент доступен образ с последней стабильной версией Nginx.
1. Загрузите образ, содержащий динамический модуль:
# docker pull nemesida/nwaf-dyn-ce
2. Создайте каталог для конфигурационных файлов динамического модуля:
# mkdir -p /opt/nwaf/waf-config
3. В каталоге конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/waf-config/first-launch
4. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn-ce
Контейнер самостоятельно завершит работу, создав в каталоге конфигурационных файлов базовый набор файлов конфигурации.
5. Отредактируйте конфигурационные файлы согласно инструкции.
6. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn-ce
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/waf-config:/nginx.configs
— монтирование каталога с конфигурационными файлами внутрь контейнера.
Если после запуска контейнера возникают проблемы c запуском сервисов, то добавьте опцию
--ulimit nofile=65536:65536
в команду запуска контейнера.Пример:
# docker run --rm --ulimit nofile=65536:65536 -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn
1. Перед обновлением образа с фильтрующей нодой проверьте, запущен ли контейнер. Для этого необходимо посмотреть ID контейнера (cтолбец CONTAINER ID), используя команду:
# docker ps -a
2. Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
3. При остановленном контейнере удалите образ:
# docker image rm nemesida/nwaf-dyn
4. Загрузите образ, содержащий динамический модуль и Nemesida AI MLA:
# docker pull nemesida/nwaf-dyn
5. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn
После обновления предыдущие версии конфигурационных файлов будут размещены в подкаталоге old
.
1. Перед обновлением образа с фильтрующей нодой проверьте, запущен ли контейнер. Для этого необходимо посмотреть ID контейнера (cтолбец CONTAINER ID), используя команду:
# docker ps -a
2. Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
3. При остановленном контейнере удалите образ:
# docker image rm nemesida/nwaf-dyn-ce
4. Загрузите образ, содержащий динамический модуль:
# docker pull nemesida/nwaf-dyn-ce
5. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/waf-config:/nginx.configs -p 80:80 -p 5672:5672 nemesida/nwaf-dyn-ce
После обновления предыдущие версии конфигурационных файлов будут размещены в подкаталоге old
.
Используется только в коммерческой версии Немезида ВАФ.
Для запуска контейнера Nemesida AI MLC необходимо выполнить следующие действия:
1. Загрузите образ, содержащий модуль Nemesida AI MLC:
# docker pull nemesida/nwaf-mlc
2. Создайте каталог для конфигурационных файлов Nemesida AI MLC:
# mkdir -p /opt/nwaf/mlc-config
3. В каталоге конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/mlc-config/first-launch
4. Запустите контейнер с образом Nemesida AI MLC, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/mlc-config:/nwaf_mlc.configs nemesida/nwaf-mlc
Контейнер самостоятельно завершит работу, создав в каталоге конфигурационных файлов базовый набор файлов конфигурации.
5. Отредактируйте конфигурационные файлы согласно инструкции.
Значения для параметра
rmq_host
хранятся в файле конфигурации контейнера с динамическим модулем/opt/nwaf/waf-config/rabbitmq_password
.
6. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/mlc-config:/nwaf_mlc.configs nemesida/nwaf-mlc
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/mlc-config:/nwaf_mlc.configs
— монтирование каталога с конфигурационными файлами внутрь контейнера.
Если после запуска контейнера возникают проблемы c запуском сервисов, то добавьте опцию
--ulimit nofile=65536:65536
в команду запуска контейнера.Пример:
# docker run --rm --ulimit nofile=65536:65536 -d -v /opt/nwaf/mlc-config:/nwaf_mlc.configs nemesida/nwaf-mlc
1. Перед обновлением образа Nemesida AI MLC проверьте, запущен ли контейнер. Для этого необходимо посмотреть ID контейнера (cтолбец CONTAINER ID), используя команду:
# docker ps -a
2. Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
3. При остановленном контейнере удалите образ:
# docker image rm nemesida/nwaf-mlc
4. Загрузите образ, содержащий модуль Nemesida AI MLC:
# docker pull nemesida/nwaf-mlc
5. Запустите контейнер с образом динамического модуля, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/mlc-config:/nwaf_mlc.configs nemesida/nwaf-mlc
После обновления предыдущие версии конфигурационных файлов будут размещены в подкаталоге old
.
Для запуска контейнера Nemesida WAF Scanner необходимо выполнить следующие действия:Предназначен для тарифа Энтерпрайз.
Для корректной работы модуля Nemesida WAF Scanner необходимо предоставить доступ к веб-приложению в обход Немезида ВАФ.
1. Загрузите образ, содержащий модуль Nemesida WAF Scanner:
# docker pull nemesida/nwaf-scanner
2. Создайте каталог для конфигурационных файлов Nemesida WAF Scanner:
# mkdir -p /opt/nwaf/nwaf-scanner
3. В каталоге конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/nwaf-scanner/first-launch
4. Запустите контейнер с образом Nemesida WAF Scanner, используя команды:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-scanner/:/nwaf-scanner nemesida/nwaf-scanner
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-scanner:/nwaf-scanner
— монтирование каталога с конфигурационными файлами внутрь контейнера.
Контейнер самостоятельно завершит работу, создав в каталоге конфигурационных файлов базовый набор файлов конфигурации.
5. Внесите изменения в конфигурационные файлы согласно инструкции.
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
6. Остановите контейнер и Nemesida WAF API и Личный кабинет командой:
# docker stop /ID контейнера/
Посмотреть ID контейнера (cтолбец CONTAINER ID) можно командой:
# docker ps -a
7. Разрешите внешние подключения к БД, используемой компонентами Nemesida WAF API и Личный кабинет, внеся изменения в файл pg_hba.conf
.
Пример:
host all all 10.1.1.0/24 md5
8. Для запуска контейнеров с образами Nemesida WAF API, Личный кабинет и Nemesida WAF Scanner выполните следующие команды:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-api:/nwaf-api -p 8080:8080 nemesida/nwaf-api
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-api:/nwaf-api
— монтирование каталога с конфигурационными файлами внутрь контейнера;-p 8080:8080
— проброс порта8080
контейнера на внешний порт8080
.
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet -p 8090:80 nemesida/nwaf-cabinet
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-cabinet:/nwaf-cabinet
— монтирование каталога с конфигурационными файлами внутрь контейнера;-p 8090:80
— проброс порта80
контейнера на внешний порт8090
.
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-scanner/:/nwaf-scanner nemesida/nwaf-scanner
где:
--rm
— удаление контейнера после завершения работы;-d
— запуск контейнера в фоновом режиме;-v /opt/nwaf/nwaf-scanner:/nwaf-scanner
— монтирование каталога с конфигурационными файлами внутрь контейнера.
Если после запуска контейнера возникают проблемы c запуском сервисов, то добавьте опцию
--ulimit nofile=65536:65536
в команду запуска контейнера.Пример:
# docker run --rm --ulimit nofile=65536:65536 -d -v /opt/nwaf/nwaf-scanner/:/nwaf-scanner nemesida/nwaf-scanner
9. Для запуска процесса сканирования выполните команду:
docker exec -ti /ID контейнера/ bash -c "/usr/bin/nws"
# docker ps -a
2. Если контейнер запущен, остановите его, используя команду:
# docker stop /ID контейнера/
3. При остановленном контейнере удалите образ:
# docker image rm nemesida/nwaf-scanner
4. Загрузите образ, содержащий модуль Nemesida WAF Scanner:
# docker pull nemesida/nwaf-scanner
5. Запустите контейнер с образом Nemesida WAF Scanner, используя команду:
# iptables -t filter -N DOCKER # docker run --rm -d -v /opt/nwaf/nwaf-scanner/:/nwaf-scanner nemesida/nwaf-scanner
1. Установитe Docker Compose;
2. Загрузите файл docker-compose.yml с параметрами запуска;
3. Создайте каталоги для конфигурационных файлов Nemesida WAF относительно загруженного docker-compose.yml
:
# mkdir -p /opt/nwaf/{waf-config,mlc-config,nwaf-api,nwaf-cabinet,nwaf-scanner}
4. В каталогах конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/{waf-config,mlc-config,nwaf-api,nwaf-cabinet,nwaf-scanner}/first-launch
5. Запустите Docker Compose, используя команды:
# iptables -t filter -N DOCKER # docker-compose up --build -d
6. Для каталогов nwaf-api
и nwaf-cabinet
разрешите доступ на чтение для всех:
# chmod -R 0555 /opt/nwaf/nwaf-api # chmod -R 0555 /opt/nwaf/nwaf-cabinet
7. Выполните миграции и создайте пользователя для модуля Личный кабинет:
# docker-compose exec nwaf-cabinet "/bin/bash" "/opt/migrate.sh"
8. Остановите Docker Compose:
# docker-compose down
9. Внесите изменения в конфигурационные файлы согласно инструкции из руководства Nemesida WAF, Nemesida AI MLC, Nemesida WAF API, Личный кабинет и Nemesida WAF Scanner.
10. Запустите Docker Compose, используя команды:
# iptables -t filter -N DOCKER # docker-compose up -d
Если после запуска контейнеров возникают проблемы c запуском сервисов, то внесите изменения в
docker-compose.yml
, добавив секциюulimits
в соответствующий раздел нужного контейнера.Пример:
nwaf-dyn: image: nemesida/nwaf-dyn container_name: nwaf-dyn ports: - 80:80 - 5672:5672 volumes: - /opt/nwaf/waf-config:/nginx.configs ulimits: nofile: soft: "65536" hard: "65536"
1. Установитe Kubernetes;
2. Загрузите файл kubernetes-compose.yml с параметрами запуска;
3. Создайте каталоги для конфигурационных файлов Nemesida WAF относительно загруженного kubernetes-compose.yml
:
# mkdir -p /opt/nwaf/{waf-config,mlc-config,nwaf-api,nwaf-cabinet,nwaf-scanner}
4. В каталогах конфигурационных файлов создайте файл first-launch
:
# touch /opt/nwaf/{waf-config,mlc-config,nwaf-api,nwaf-cabinet,nwaf-scanner}/first-launch
5. Запустите Kubernetes, используя команды:
# kubectl apply -f kubernetes-compose.yml
6. Для каталогов nwaf-api
и nwaf-cabinet
разрешите доступ на чтение для всех:
# chmod -R 0555 /opt/nwaf/nwaf-api # chmod -R 0555 /opt/nwaf/nwaf-cabinet
7. Выполните миграции и создайте пользователя для модуля Личный кабинет:
# kubectl exec -ti /название контейнера/ -- /bin/bash -c "/opt/migrate.sh"
Посмотреть название контейнера (cтолбец Name) можно командой:
# kubectl get pods
8. Внесите изменения в конфигурационные файлы согласно инструкции из руководства Nemesida WAF, Nemesida AI MLC, Nemesida WAF API, Личный кабинет и Nemesida WAF Scanner.
Для корректной работы компонентов рекомендуется изменить стандартный порт, используемый компонентом Личный кабинет. Для этого внесите соответствующие изменения в файл конфигурации
/opt/nwaf/nwaf-cabinet/nginx/cabinet.conf
и, при необходимости, в файл kubernetes-compose.yml с параметрами запуска.
9. Запустите Kubernetes, используя команды:
# kubectl apply -f kubernetes-compose.yml
Контейнеры будут удалены и автоматически заменены новыми.