Установка
Пошаговое руководство по развёртыванию Security Center
Системные требования для работы Security Center:
Минимальные системные ресурсы: 16 ГБ ОЗУ и 4 ядра ЦПУ.
Свободное дисковое пространство для установки и хранения данных Security Center.
Сетевой доступ для внешних пользователей (пользователи должны иметь возможность подключаться к Security Center по сети).
Для улучшения стабильности работы рекомендуется устанавливать Auditor и Security Center на разных машинах (физических или виртуальных)
Подготовка
Перед установкой Security Center, убедитесь что у вас установлены следующие компоненты (для установки с помощью Docker Compose):
Docker (версия 19.03 или выше)
Docker Compose (версия 1.26 или выше)
Создание SSH-ключей
Чтобы безопасно подключиться к серверу Linux, вам нужно настроить SSH-ключи.
Если у вас еще нет SSH-ключей, вы можете сгенерировать их с помощью следующей команды в терминале сервера:
ssh-keygen⚠️ При копировании ключей убедитесь, что они скопированы без пробелов.
Установка SSH-ключа на сервер
После генерации SSH-ключей вам нужно скопировать открытый SSH-ключ на сервер Linux. Используйте следующую команду для копирования открытого ключа:
ssh-copy-id <имя_пользователя>@<ip-адрес_сервера>Замените <имя_пользователя> на имя пользователя вашей учетной записи Linux-сервера, а <ip-адрес_сервера> на IP-адрес Linux-сервера. Вам будет предложено ввести пароль для аутентификации.
Откройте на локальной машине файл, в котором хранится закрытый SSH-ключ. Закрытый ключ обычно сохраняется с расширением .pem или .ssh.
Выберите и скопируйте содержимое файла закрытого ключа. Убедитесь, что вы скопировали ключ с правильными разрешениями и разрывами строк.
Обратите внимание, что Security Center в настоящее время несовместим с базой данных Amazon Aurora.
В случае развертывания платформы CyberCodeReview в закрытом контуре, убедитесь, что у машин Security Center и Auditor имеются необходимые сетевые доступы
Критичным для функционирования платформы является:
Единоразовый сетевой доступ к серверу лицензирования (https://license.cybercodereview.ru) для активации лицензии
Сетевая связность машин Security Center и Auditor
Доступность системы контроля версий (GitLab, GitHub и пр.) и таск-трекера (Jira, YouTrack, Kaiten и др.)
SSO-провайдера организации к Security Center
Установка
Вариант 1: Установка с помощью Helm (установка в среде Kubernetes)
Вариант 2: Установка с помощью Docker-compose (ручная установка docker-compose)
Установка с использованием Helm
Перед использованием установите менеджер пакетов "Helm" для Kubernetes и сконфигурируйте подключение к кластеру
Шаг 1: Добавьте пакет Helm
Добавьте на локальный компьютер пакет Helm:
Шаг 2: Обновите репозиторий с чартом
Это позволит получить информацию о последней версии нашего чарта
Шаг 3: Создайте файл values с настройками чарта
Перейдите в вашу рабочую папку, где впоследствии будете изменять некоторые параметры настройки чарта и создайте файл с любым наименованием, а также с расширением .yaml или .yml . Далее в качестве примера будет использоваться values.yaml.
Шаг 4: Задайте переменные настройки чарта
Далее необходимо заполнить файл values.yaml.
Далее необходимо отредактировать values под Ваши нужды.
Тег
Начнем с поля global.image.tag. Чтобы узнать актуальный тег, необходимо перейти в список релизов нашего репозитория. Берем самый верхний тег, например, на скриншоте 2.7.1.

Например:
Webhook для интеграции с Jira
Для настройки Webhook добавьте в файл values.yaml следующие поля:
Замените "your-webhook" в значении переменной на предварительно сгенерированный Webhook в Jira.
Домен
Для указания доменного имени Вашего Auditor необходимо отредактировать поле configs.configmap.variables.DOMAIN.
Например:
COOKIES_SECURE: переменная определяет флаг безопасной передачи cookies. Она должна быть установлена в значение True, если вы используете HTTPS.
Укажите в переменной DOMAIN хост, по которому будет доступен Security Center.
Подключение к СУБД PostgreSQL
Для настройки подключения в PostgreSQL необходимо заполнить следующие поля:
configs.configmap.variables.DB_HOST- Это может быть как именем сервиса в kubernetes, так и внешним хостом.configs.configmap.variables.DB_PORT- Порт, на котором PostgreSQL "слушает" подключения.configs.configmap.variables.DB_NAME- Имя базы данных, созданной для Auditor.configs.configmap.variables.DB_USER- Пользователь для базы данных из верхнего пункта.configs.configmap.variables.DB_PASS- Пароль от пользователя из пункта выше.
Значения по умолчанию:
Чтобы поменять значения по-умолчанию(которые принимает сама Postgre), необходимо изменить следующие поля:
Подключение к брокеру сообщений RabbitMQ
Данная строчка строится из нескольких частей:
amqp://- Не меняем, служебная часть.user- Логин для подключения.:- Разделитель для пароля и логина.pass- Пароль для подключения@- Разделитель для данных и хоста.auditor-rabbitmq- Либо имя сервиса в Kubernetes, либо внешний хост.:- Разделитель между хостом и портом.5672- Порт, на котором RabbitMQ "слушает" подключения.Значения по-умолчанию:
Чтобы поменять значения по-умолчанию(которые принимает именно RabbitMQ), необходимо изменить следующие поля:
Ingress
Ingress-контроллер - компонент Kubernetes, который управляет входящим трафиком для сервисов.
ingress.host- Доменное имя Вашего Auditor.ingress.class- Класс контроллера в Вашем кластере.ingress.tls.enabled- Включение TLS для Вашего Auditor.ingress.tls.secretName- Имя Kubernetes секрета, в котором лежит Ваш сертификат. Если верхнее полеfalse, можно игнорировать данное поле.
Значения по-умолчанию:
Другие настройки
Секреты
При необходимости использования внешних хранилищ секретов необходимо выключить создание секретов при помощи Helm-чарта:
Шаг 5: Развертывание приложения в кластер Kubernetes
В примере по умолчанию используется установленный ранее ingress controller "nginx" и PostgreSQL и RabbitMQ из Helm-чарта от Bitnami:
Шаг 6: Создайте пользователя с привилегированными правами
Для создания пользователя с привилегированными правами выполните следующие команды:
Этот пользователь и пароль позволяют выполнить вход в установленный Security Center
Следующий шаг: Запустите Security Center и добавьте лицензию
Установка через Docker-compose
Шаг 1: Клонируйте репозиторий
Клонируйте репозиторий Security Center на Ваш сервер:
Шаг 2: Перейдите в корневой каталог
Перейдите в корневой каталог Security Center, выполнив следующую команду:
Шаг 3: Переместите файлы из папки docker-compose
В корневом каталоге проекта Security Center выполните следующую команду:
Шаг 4: Настройте переменные окружения
В корневом каталоге проекта Security Center выполните следующую команду:
Сценарий запрашивает значения для следующих переменных окружения, включая необязательные. Вы также можете принять значения по умолчанию для необязательных переменных, нажав Enter:
Переменная
IMAGE_VERSIONобязательно должна быть задана. Укажите версию приложения, например, 1.0.0, и скрипт установит последнюю актуальную версию. Актуальный тег Вы можете найти в репозитории.Переменная
DOMAINобязательно должна быть задана. Укажите домен, в котором будет доступен Security CenterDB_NAME,DB_USER,DB_PASS,DB_HOST,DB_PORTнеобязательные переменные. Укажите переменные, необходимые для настройки базы данных, или используйте значения по умолчанию.Если брокер сообщений размещен на внешнем сервере, то переменная
AMQP_HOST_STRINGдолжна быть задана. Однако, если контейнер установлен локально, то все три переменныеRABBITMQ_DEFAULT_USER,RABBITMQ_DEFAULT_PASSтакже должны быть заданы. Имя пользователя и пароль в переменныхRABBITMQ_DEFAULT_PASSиRABBITMQ_DEFAULT_USERдолжны быть идентичны переменнойAMQP_HOST_STRING.Переменная COOKIES_SECURE определяет флаг безопасности cookie. Она должна иметь значение
Trueпри использовании HTTPS.
Скрипт set_vars.sh создает файл .env с настроенными переменными окружения и генерирует пару JWT-ключей, которые используются для подписи JWT-ключей, а SECRET_KEY используется для генерации хэшей в Django.
НЕ ЗАПУСКАЙТЕ команду ./set_vars.sh дважды. Если вам нужно изменить значение переменной, сделайте это в файле .env.
Шаг 5: Запустите Security Center
Чтобы запустить Security Center, выполните следующую команду:
Шаг 6: Создайте учетную запись администратора
Чтобы создать учетную запись администратора, выполните следующую команду:

Это имя пользователя и пароль позволят вам войти в установленный Security Center
или
Создайте пользователей с помощью панели администратора Django
Чтобы получить доступ к настройкам администратора, перейдите по URL-адресу <ваш-домен>.com/admin и войдите в систему, используя учетные данные суперпользователя, затем выберите Users на левой панели. Отсюда вы можете добавлять пользователей. Не забудьте назначить пользователям необходимые разрешения.

Следующий шаг: Запустите Security Center и добавьте лицензию
Поздравляем, вы завершили установку Security Center! Далее добавьте полученную лицензию.
Если у вас возникнут какие-либо вопросы или проблемы в процессе установки или использования приложения, обратитесь за помощью в нашу службу поддержки [email protected].
Last updated