Куда я попал?
SECURITM это SGRC система, ? автоматизирующая процессы в службах информационной безопасности. SECURITM помогает построить и управлять ИСПДн, КИИ, ГИС, СМИБ/СУИБ, банковскими системами защиты.
А еще SECURITM это место для обмена опытом и наработками для служб безопасности.
Инструкция по установке On-Premise (локальной) версии SECURITM в инфраструктуре.
Есть 2 варианта локальной установки:
  1. Набор Docker-контейнеров, устанавливаемых на Linux сервер
  2. Набор сервисов, устанавливаемых в среду Kubernetes

Подготовка к установке

Получение секретов

Для установки локальной версии SECURITM требуется получить у производителя ключи и лицензии для установки.

Создание сервера

В базовой комплектации SECURITM устанавливается на 1 Linux сервер (виртуальную машину).
Подходит любой Linux дистрибутив свежей сборки: Ubuntu, CentOS, Astra Linux, РЕД ОС,  МОС ОС и т.п.

Рекомендуемые требования к виртуальной машине (ВМ)

  • CPU: 4-12 шт. (если в инфраструктуре более 10 тыс. активов, рекомендуется выделить 12 vCPU);
  • RAM: 8-32 ГБ;
  • SSD: 100 ГБ (для разделов /opt и /var нужно минимум по 50 ГБ);
  • Учетная запись: должна входить в группу sudo, или обладать root правами.
  • Операционная система: Linux Ubuntu, CentOS, Astra Linux, РЕД ОС,  МОС ОС и т.д.

Обновление операционной системы

DEB-based
sudo apt-get update

RPM-based
sudo yum update

Установка Docker и Docker Compose

На большинстве Linux-дистрибутивов последние стабильные версии Docker CLI, Docker Engine, Docker Compose и их зависимости устанавливаются при помощи официального скрипта. Для этого выполните команды:

curl -fsSL https://get.docker.com -o install-docker.sh
sudo sh install-docker.sh

Подробнее о способах установки написано в официальной документации:
Примечание:
Установка Docker и Docker Compose на Red OS, Astra Linux и других отечественных диcтрибутивах может отличаться от официальных инструкций. В частности, на Astra Linux установку можно выполнить из официальных репозиториев:

sudo apt-get install docker.io
sudo apt-get install docker-compose

Настройка сети

Если для сервера, на котором устанавливается SECURITM, доступ в Интернет по умолчанию заблокирован, то нужно разрешить доступ к следующим узлам:
  1. https://hub.securitm.ru (217.25.93.157, tcp/443) — для установки и обновлений приложения;
  2. https://git.securitm.ru (217.25.93.157, tcp/443) — для установки и обновлений приложения;
  3. https://service.securitm.ru (188.225.86.7, tcp/443) — для первичной установки и обновлений базы данных;
  4. https://lic.securitm.ru (87.249.53.99, tcp/443) — для активации и проверки лицензии.

Настройка доменной инфраструктуры

  1. Создайте на корпоративном DNS сервере A запись ведущую на сервер SECURITM.
    например securitm.mycorp.local
  2. Создайте на корпоративном удостоверяющем центре сертификат для сервера SECURITM:
    • server.crt — сертификат для вашего сервера;
    • server.key — закрытый ключ RSA для вашего сервера (без пароля).
  3. Создайте адрес электронной почты для интеграции SECURITM с корпоративным почтовым сервером. В паролях не должно быть кавычек.
  4. Создайте доменную учетную запись в корпоративном домене (доменах) для интеграции SECURITM с доменной инфраструктурой. Нужна учетная запись без прав администратора.
  5. Создайте в домене группу, в которой будут пользователи, которым разрешена доменная аутентификация в SECURITM. Вложенность групп работает. Это может быть уже существующая группа, например группа подразделения по информационной безопасности.
    Примечание: у пользователей, входящих в группу, должен быть указан уникальный email, т.к. в SECURITM пользователи привязываются к email.

Установка приложения

Развертывание и настройка Docker контейнеров с компонентами приложения осуществляется через bash скрипт securitm.sh. При запуске скрипт проверяет права суперпользователя и автоматически повышает их при необходимости. Запуск скрипта без аргументов выполняет стандартную установку, или обновление приложения.

Структура приложения

Файлы и каталоги, необходимые для работы SECURITM, размещаются в директории:

/opt/securitm

Структура каталога автоматически создается при выполнении скрипта securitm.sh и имеет вид:

/opt/securitm/ # Корневой каталог приложения
├ backup/      # Бэкапы по умолчанию (при необходимости)
├ certs/       # SSL сертификат веб-сайта (при необходимости)
│ └ ca/        # Корневые сертификаты локальных УЦ (при необходимости)
├ php/         # Собственные настройки PHP (при необходимости)
├ .env         # Файл с переменными окружения
└ docker-compose.yaml # Файл с настройками сервисов
 
Список контейнеров (может изменяться в процессе разработки):
  • app – основное приложение SECURITM;
  • db – база данных;
  • nginx – веб-сервер;
  • service – дополнительные сервисные задачи;
  • redis – БД redis;
  • pg – БД PostgreSQL.

Загрузка и выполнение скрипта установки/обновления

1. Создайте директорию и перейдите в нее:

mkdir securitm
cd securitm

2. Скопируйте скрипт securitm.sh и дайте права на исполнение:

wget [URL]
chmod +x securitm.sh
[URL] ­– адрес для скачивания скрипта установки, предоставляется после приобретения лицензии.

3. Запустите скрипт securitm.sh

./securitm.sh

4.  В процессе выполнения скрипта будут запрошены следующие параметры:
  • Прокси сервер (при необходимости);
  • Список исключений через запятую, для которых прокси сервер не должен использоваться (при необходимости);
  • Имя пользователя и пароль для доступа к GIT репозиторию (предоставляется после приобретения лицензии);
  • Доменное имя сервера, по которому SECURITM будет доступен в локальной инфраструктуре (при необходимости).
5. После подтверждения начала установки, или обновления, в директории /opt/securitm будут сформированы файлы и каталоги:
  • .env – файл с переменными окружения;
  • docker-compose.yaml – файл, содержащий инструкции, необходимые для запуска и настройки сервисов;
  • certs – директория для размещения SSL сертификата для сайта, или/и корневых сертификатов локального удостоверяющего центра (при необходимости). По умолчанию генерируется самоподписанный сертификат;
  • php – директория для размещения файлов конфигурации PHP с собственными настройками (при необходимости).
6. После установки и начальной загрузки данных из GIT репозитория, скрипт напишет об успешном завершении и выведет URL для подключения к веб-интерфейсу.

Все последующие настройки, кроме импорта сертификата, осуществляются из веб-интерфейса приложения.

Установка собственного SSL сертификата

При необходимости можно установить собственный сертификат для подключения к веб-интерфейсу по доменному имени, указанному в процессе установки.
Для этого необходимо в директории /opt/securitm/certs разместить два файла:
  • server.crt – сертификат для вашего сервера;
  • server.key – закрытый ключ RSA для вашего сервера.
И перезапустить контейнер nginx:

cd /opt/securitm
sudo docker compose restart nginx
(либо sudo docker-compose restart nginx)

Установка корневых сертификатов собственного удостоверяющего центра (УЦ)

В случае инспекции https трафика средствами защиты информации организации необходимо установить собственные корневые сертификаты в контейнер app. Для этого необходимо в директорию /opt/securitm/certs/ca скопировать файлы сертификатов с расширением .crt:

sudo mkdir /opt/securitm/certs/ca
sudo cp /your/ca/path/*.crt /opt/securitm/certs/ca/
 
И перезапустить контейнер app:

cd /opt/securitm
sudo docker compose restart app
(либо sudo docker-compose restart app)

Собственные настройки PHP и PHP-FPM

При необходимости можно задать собственные настройки PHP, или/и PHP-FPM. Для этого необходимо в директории /opt/securitm/php разместить файлы:
  • php.ini – настройки PHP;
  • php-fpm.conf – настройки PHP-FPM.
И перезапустить контейнер app:

cd /opt/securitm
sudo docker compose restart app
(либо sudo docker-compose restart app)

Список всех ключей скрипта securitm.sh

-m mode
Режим работы. Может принимать значения:

install (по умолчанию) – установка, или обновление;
reinstall – переустановка (используется по согласованию с техподдержкой);
backup – резервное копирование;
backupdontstop – резервное копирование без остановки работы приложения (использовать с осторожностью!);
restore – восстановление из резервной копии.

-p path
Необязательный параметр с указанием произвольного пути для хранения/восстановления бэкапов. По умолчанию используется путь /opt/securitm/backup

-y
Отвечать “Да” на все вопросы. Ключ используется при бэкапе через cron.

-g custom-git-url
При использовании собственного зеркала GIT репозитория здесь указывается его URL.

-d custom-registry
При использовании собственного Docker Registry здесь указывается его доменное имя.

-s subnet
Если подсеть докера пересекается с Вашими локальными подсетями, здесь можно указать произвольную подсеть для контейнеров в формате Network/Bitmask. Например:
-s 10.0.0.0/24

-c no|yes
Если Вы хотите отключить проверку сертификатов при работе с GIT репозиторием, используйте этот ключ со значением no. Внимание! Настоятельно не рекомендуется! Правильным решением является установка в контейнер корневых сертификатов Ваших УЦ.

-n
Не проверять обновления образов и не загружать новые версии. Данный ключ можно использовать, если необходимо только изменить конфигурацию и не выполнять обновление.

Приложение готово к работе 🎉

Первичная настройка приложения

  1. Откройте в браузере веб-интерфейс приложения по доменному имени сервера.
  2. Действуйте в соответствии с Мастером установки
    1. Укажите электронную почту и пароль глобального администратора приложения.
      Примечание: после установки приложения электронную почту глобального администратора можно поменять в глобальных настройках.
    2. Укажите название и URL приложения, соответствующий доменному имени сервера.
    3. Настройте подключение к электронной почте.
      Для серверов Exchange подключение настраивается по порту 587, для иных почтовых серверов по 25 или 2525.
    4. Укажите название для общей команды (тенанта).
      Примечание: именно на эту команду будет активирована лицензия.
    5. Активируйте лицензию.
    6. Обновите код и базу данных приложения, для этого необходимо:
      - указать логин/пароль для подключения к репозиторию и сохранить настройки;
      - проверить подключение и Обновить код приложения;
      - проверить подключение и Обновить базу данных.
      Примечание: обновление базы данных может занимать до 10 минут.
    7. Настройте интеграцию с Active Directory (не обязательно):
      - Поле Имя почтового домена нужно, если учетная запись пользователя в домене отличается от его почтового адреса и поля userPrincipalName;
      - В поле Команда для новых пользователей нужно указать название созданной команды (например, MyCorp);
      - Проверьте подключение и запустите Синхронизацию пользователей.
    8. Настройте импорт активов с Active Directory (не обязательно).
      Инструкция: https://service.securitm.ru/help/integrations#active-directory 
    9. Настройте интеграцию с Kaspersky (не обязательно).
    10. Настройте интеграцию с Zabbix (не обязательно).

Обновление и переустановка

Обновление

Обновление кода и базы данных приложения происходит автоматически, настраивается и запускается в Глобальных настройках приложения вручную.
Периодически публикуются новые версии сборок контейнеров SECURITM. О необходимости обновления сборок Docker контейнеров сообщает техническая поддержка.
Для обновления контейнеров SECURITM нужно подключиться по SSH к серверу, запустить свежий скрипт установки и следовать инструкциям.

sudo bash -c "$(curl -sSL [URL])"

Переустановка приложения

В ряде ситуаций, когда приложение вышло из строя и пропал доступ к web консоли, может потребоваться переустановка приложения с сохранением базы данных, файлов и параметров. Сделать это можно следующим способом:
1. Подключитесь к серверу приложения по SSH.
2. Скачайте актуальный установочный скрипт SECURITM:

wget securitm.sh
chmod +x securitm.sh

3. Запустите скрипт установки в режиме переустановки приложения:

./securitm.sh -m reinstall

Внимание: если вы вносили произвольные изменения в скрипты установки и конфигурационный файл docker-compose.yaml, то их следует сохранить.

4. Будет выполнено резервное копирование базы данных, данных приложения, переустановка приложения и восстановление данных.

Полезные команды Docker (не нужны при эксплуатации системы, приведены для справки)

# Переход в каталог с контейнерами приложения
cd /opt/securitm/

# Переход в контекст суперпользователя (root)
sudo -s

# Загрузка новых версий образов
docker compose pull

# (Пере)Запуск приложения после загрузки новых версий образов
docker compose up -d

# Просмотр событий в контейнере приложения
docker compose logs -f app

# Старт/стоп/перезапуск контейнера приложения
docker compose start/stop/restart app

# Зайти в контейнер приложения
docker compose exec --user www-data app bash

# Отключение/удаление контейнеров
docker compose down

docker stop $(docker ps -a -q) # остановка всех контейнеров
docker rm $(docker ps -a -q) # удаление всех контейнеров
#docker volume rm securitm_app-data securitm_app-src securitm_db-data securitm_nginx-data securitm_pg-data # удаление всех хранилищ
docker stats --no-stream # нагрузка на контейнеры

Резервное копирование

Скрипт securitm.sh имеет функционал по созданию резервных копий БД и пользовательских данных либо в интерактивном (ручном) режиме, либо автоматически через cron.

Для создания бэкапа в ручном режиме выполните:

securitm.sh -m backup

Скрипт предупредит о необходимости остановки на момент бэкапа приложения app (с целью исключения работы с БД в процессе бэкапа и тем самым дополнительной защиты целостности данных). И после получения согласия снимет дамп БД и скопирует другие критичные пользовательские данные в папку:

/opt/securitm/backup/DATE-ISO

(где DATE-ISO – текущая дата и время в формате ISO 8601, например 2024-07-08T11:40:55+03:00)

Для создания бэкапа в автоматическом режиме добавьте ключ -y  (отвечать “Да” на все вопросы):

securitm.sh -m backup -y

Если Вы не хотите останавливать контейнер app в процессе выгрузки дампа базы данных, при этом Вы знаете, что в процессе бэкапа данные в БД не изменяются, можете использовать значение аргумента -m backupdontstop 

securitm.sh -m backupdontstop [-y]
(ключ -y добавляется при необходимости)

Если Вы хотите указать другой каталог для бэкапов, используйте аргумент -p:

securitm.sh -m backup -p /my/backup/path [-y]
securitm.sh -m backupdontstop -p /my/backup/path [-y]
(ключ -y добавляется при необходимости)

Примечание: при создании резервных копий автоматическая ротация предыдущих бэкапов не выполняется. Например, если Вы хотите оставить 10 последних бэкапов, можно использовать следующий сценарий резервного копирования:

securitm.sh -m backup -p /my/backup/path -y
rm -rf $(ls -d1t /my/backup/path/*/ | tail -n +11)
(в данном примере используется путь /my/backup/path)

Перенос базы данных на отдельный сервер

По умолчанию система устанавливается на 1 сервер. Но для больших инфраструктур (более 50 тыс. рабочих мест) рекомендуется выносить СУБД на отдельный сервер.

Для переноса базы данных MySQL (далее – БД) из docker контейнера на внешний сервер необходимо подготовить виртуальный, или физический сервер со следующими минимальными характеристиками (рекомендация):
  • MySQL версии 8 (гарантировано работает на 8.0 и 8.4 LTS);
  • 4 CPU;
  • 8 Гб RAM;
  • 80 Гб NVMe/SSD в разделе для хранения баз данных.
Примечание: если в вашей инфраструктуре более 10 тыс. активов, рекомендуется выделить от 12 CPU и от 16 Гб RAM.

Создание БД и пользователя MySQL на новом сервере
Заходим на новый сервер через SSH и подключаемся к БД MySQL под учетной записью (далее – УЗ) root. Например:

mysql -u root [-p] 

-p – опциональный параметр. Необходим, если пользователь MySQL root имеет отдельный пароль. Если вы находитесь в SSH сессии уже в контексте пользователя root, параметр -p может не понадобиться.

Создаем базу данных и пользователя, выдаем пользователю необходимые права:

CREATE DATABASE securitm;
CREATE USER 'securitm'@'%' IDENTIFIED WITH mysql_native_password BY 'my-strong-password-here';
GRANT ALL PRIVILEGES ON securitm.* TO 'securitm'@'%';
GRANT ALL PRIVILEGES ON 'securitm_backup_%'.* TO 'securitm'@'%';
FLUSH PRIVILEGES;

(в данном примере имя пользователя и название БД securitm, а my-strong-password-here необходимо заменить на пароль, который удовлетворяет требованиям безопасности).

Создание дампа БД на старом сервере
Потребуется актуальная версия скрипта установки securitm.sh, которая может быть загружена с сайта SECURITM.

Подключаемся через SSH к старому серверу (на котором запущено приложение SECURITM в docker) и загружаем скрипт установки:

mkdir -p ~/securitm
cd ~/securitm/
wget -O securitm.sh https://[URL]/securitm.sh
chmod +x securitm.sh

(где [URL] – адрес для скачивания скрипта установки, предоставляется после приобретения лицензии).

Выполняем резервное копирование (дамп) БД, работающей в docker контейнере:

./securitm.sh -m backup

Отвечаем Y на вопросы скрипта. По окончанию процесса резервного копирования скрипт выведет информацию, в какой директории расположены файлы бэкапа. Например:

---------------------------
DB and/or APP backups are here:
/opt/securitm/backup/2024-09-04T23:02:49+03:00/
total 52K
-rw-r--r-- 1 root root 877 Sep  4 23:02 appbackup.tar.gz
-rw-r--r-- 1 root root 45K Sep  4 23:02 mysqldump.sql.gz
---------------------------

В данном примере файл с дампом БД называется mysqldump.sql.gz и расположен в директории /opt/securitm/backup/2024-09-04T23:02:49+03:00/

Остановка приложения SECURITM и копирования MySQL дампа на новый сервер
Сразу после резервного копирования необходимо остановить приложение SECURITM до переноса БД на новый сервер. Для этого заходим в директорию приложения и выполняем остановку:

cd /opt/securitm/
sudo docker compose stop

Примечание: если docker compose установлен не как плагин, а как отдельное приложение, здесь и далее нужно выполнять команду docker-compose через дефис.

Для копирования дампа БД на новый MySQL сервер выполняем команду scp, или копируем другим удобным для вас способом. Путь к файлу указываем актуальный для вас (для примера используется путь из данной инструкции):

scp /opt/securitm/backup/2024-09-04T23:02:49+03:00/mysqldump.sql.gz <user>@<host>:~/

(где <user> – пользователь на новом MySQL сервере, <host> – имя хоста, или IP адрес нового MySQL сервера).

Восстановление БД из дампа на новом MySQL сервере
Заходим на новый сервер через SSH и переходим в директорию с файлом mysqldump.sql.gz
В нашем примере файл скопирован в домашнюю директорию пользователя <user>.

cd ~/
ls -la

В списке файлов мы должны увидеть mysqldump.sql.gz
Далее нужно выполнить следующий блок кода, который можно либо сохранить в файл скрипта, либо вставить целиком в консоль:

{
echo 'SET @OLD_AUTOCOMMIT=@@AUTOCOMMIT, AUTOCOMMIT=0;'
echo 'SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;'
echo 'SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;'
gunzip -c mysqldump.sql.gz
echo 'SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;'
echo 'SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;'
echo 'SET AUTOCOMMIT=@OLD_AUTOCOMMIT;'
echo 'COMMIT;'
} | mysql -u <USER> -p<PASSWORD> <DATABASE>

(где <USER> – пользователь MySQL, <PASSWORD> – пароль, <DATABASE> – имя БД, которые мы создали в начале инструкции).

В зависимости от размера БД процесс восстановления из дампа может длиться долго. Дожидаемся его успешного окончания. При успешном завершении никаких ошибок отображаться не должно.

Изменение настроек подключения к БД на старом сервере
Возвращаемся в SSH консоль на сервере с приложением SECURITM. Открываем на редактирование файл docker-compose.override.yaml. Например, в текстовом редактора nano:

sudo nano /opt/securitm/docker-compose.override.yaml

Вставляем следующее содержимое файла, внимательно соблюдая отступы пробелами в начале строк:

services:
  app:
    environment:
      - LARA_DB_HOST=<HOST>
      - LARA_DB_DATABASE=<DATABASE>
      - LARA_DB_USERNAME=<USER>
      - 'LARA_DB_PASSWORD=<PASSWORD>'
  db:
    profiles: ['manual']

(где указываем актуальные значения переменных: имя, или IP адрес сервера MySQL, пользователь, пароль, название БД).

Примечание: если файл /opt/securitm/docker-compose.override.yaml уже содержит данные, их нужно объединить с указанным выше содержимым.

Сохраняем файл, выходим из текстового редактора. В nano это делается путем последовательного нажатия CTRL+X, y, Enter.

Также необходимо удалить кэш настроек внутри volume securitm_app-src. В случае стандартного расположения каталогов docker это делается командой:

sudo rm /var/lib/docker/volumes/securitm_app-src/_data/bootstrap/cache/config.php

Запуск приложения с новыми настройками

cd /opt/securitm/
sudo docker compose up -d

Мониторинг нагрузки на MySQL сервер
После выноса БД на внешний сервер мониторинг его нагрузки из веб-интерфейса SECURITM не выполняется. Для этой цели можно использовать официальное приложение от MySQL под названием “MySQL Workbench”:

В приложении нужно создать новое подключение, где указать параметры нового сервера MySQL. В строке “Default Schema” указывается имя БД (в нашем примере securitm).

После подключения открываем Dashboard в разделе Performance.

Установка в Kubernetes

Установка и обновление выполняется через Helm Chart. В чарте используется Ingress-контроллер Nginx. Если в кластере развернут другой Ingress-контроллер, будет необходимо изменить чарт.

Установка Helm (при необходимости)

Если на рабочем месте, откуда выполняется управление Kubernetes при помощи утилиты kubectl, не установлен Helm, сделать это можно следующим образом:
sudo apt -y install git curl
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

Для работы helm необходим файл конфигурации ~/.kube/config. Если он еще не сконфигурирован, можно настроить его так:
# Бэкапим текущий файл настроек при его наличии
[ -f ~/.kube/config ] && cp ~/.kube/config ~/.kube/config.$(date +%s)
 
# Настраиваем
kubectl config view --raw > ~/.kube/config

Установка ingress-nginx (при необходимости)

В данном примере ingress-nginx устанавливается в одноименный namespace ingress-nginx.
helm upgrade ingress-nginx ingress-nginx 
--repo https://kubernetes.github.io/ingress-nginx 
--install --namespace ingress-nginx --create-namespace

Загрузка чарта securitm, подготовка файла конфигурации

Все действия будем выполнять в директории ~/charts/
# Создадим директорию и перейдем в нее
mkdir -p ~/charts/ && cd ~/charts/
 
# Загрузим и распакуем чарт securitm
curl -o securitm-chart.tgz https://[kubernetes_install_url]/charts/securitm-chart.tgz
tar xzf securitm-chart.tgz
 
# Загрузим пример файла конфигурации
curl -o values-override-example.yaml https://[kubernetes_install_url]/charts/values-override-example.yaml
cp values-override-example.yaml values-override.yaml

Редактируем файл с настройками

В примере выше мы скопировали файл с примером конфигурации с файл с именем values-override.yaml. Его и будем использовать далее.
Открываем файл values-override.yaml на редактирование и указываем необходимые параметры. В примере часть параметров закомментирована. При раскомментировании необходимо соблюдать отступы пробелами вы соответствии с синтаксисом YAML.

Блоки верхнего уровня определяют настройки для деплойментов Kubernetes (компоненты SECURITM):
  • global:
    Глобальные настройки.
  • app:
    Основное приложение SECURITM.
  • ui:
    Настройки Ingress-Nginx.
  • db:
    БД MySQL
  • pg:
    БД PostgreSQL
  • redis:
    БД Redis
  • web:
    Веб-сервер
Основные настройки

global:
  domain: securitm.domain.local
  timezone: Europe/Moscow
Здесь указывается доменное имя, под которым SECURITM будет открываться в веб-браузере. А также временная зона.

app:
  GIT_USER: [username]
  GIT_PASSWORD: [P@ssw0rd]
  
  # Example: http://proxy.domain.local:3128
  PROXY:
  # Example: 10.0.0.0/8,192.168.0.0/16,.domain.local
  NO_PROXY:
 Здесь указывается имя пользователя и пароль для доступа к Git репозиторию SECURITM, а также при необходимости можно задать переменные для прокси и для исключения из прокси.

Настройка TLS сертификата
Содержимое файлов crt (сертификат) и key (ключ) указывается в виде base64 строк. Получить данное содержимое можно следующим образом.
В данном примере файл сертификата называется server.crt, файл ключа server.key. Base64 содержимое server.crt записывается в переменную tls.crt, содержимое server.key в tls.key.
cat server.crt | base64
cat server.key | base64

Соответствующие строки указываем в переменных
ui:
  certificate:
    tls.crt: |
      base64string1
      base64string2
      base64string...
      base64stringN
    tls.key: |
      base64string1
      base64string2
      base64string...
      base64stringN

Обязательно соблюдаем отступы пробелами.

Дополнительные настройки
Очень важным является определение настроек для хранилищ данных и ресурсов. Для этого в каждом блоке компонентов есть разделы storage: и resources: 
По умолчанию для сущностей PVC/PV используется StorageClass local-path , что неверно при работе в кластере с общими файловыми хранилищами. Поэтому необходимо задать собственные параметры с тем учетом, что вольюмы для БД (компоненты db: и pg: ) необходимо разместить на быстрых SSD хранилищах и с возможностью расширения в дальнейшем.

Пример:
db:
  storage:
    data:
      size: 50Gi
      ClassName: local-path
 
  resources:
    requests:
      cpu: "2"
      memory: 4Gi
    limits:
      cpu: "16"
      memory: 32Gi

Установка чарта, запуск SECURITM

После формирования файла с переменными values-override.yaml выполняем установку Helm чарта.
helm upgrade securitm securitm 
--install --namespace=securitm --create-namespace 
--values values-override.yaml

После первичной инициализации SECURITM должен быть доступен по доменному имени, определенному в настройках:
https://securitm.domain.local (в нашем примере это securitm.domain.local)
Указанное доменное имя должно разрешаться в IP адрес(а) Kubernetes кластера, через которые выполняется балансировка веб-приложений.

Полезные команды

Узнать сгенерированный при установке пароль от БД:
kubectl -n securitm get secrets/securitm-dbpwd --template='{{ index .data "db-password" | base64decode }}{{ "
" }}'

Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.