Установка
Пошаговое руководство по развертыванию Auditor
Системные требования для использования Auditor:
Минимальные системные ресурсы: 16 ГБ ОЗУ и 4 ядра ЦПУ.
Свободное дисковое пространство для установки и хранения данных Auditor.
Доступ по сети до и от Security Center и к месту расположения вашего актива (месту расположения сканируемого продукта).
Для улучшения стабильности работы рекомендуется устанавливать Auditor и Security Center на разных машинах (физических или виртуальных)
Подготовка
Перед установкой Auditor убедитесь, что на вашем компьютере установлено следующее программное обеспечение:
Тип установки с использованием контейнеров:
Docker (версия 19.03 или выше)
Docker Compose (версия 1.26 или выше)
SSH-ключи (для установки через GitLab CI)
Установка в среде Kubernetes:
Helm с рабочим кластером Kubernetes
Создание SSH-ключей
Чтобы безопасно подключиться к серверу Linux, вам нужно настроить SSH-ключи.
Если у вас еще нет SSH-ключей, вы можете сгенерировать их с помощью следующей команды в терминале сервера:
ssh-keygen⚠️ При копировании ключей убедитесь, что они скопированы без пробелов.
Установка SSH-ключа на сервер
После генерации SSH-ключей вам нужно скопировать открытый SSH-ключ на сервер Linux. Используйте команду для копирования открытого ключа:
ssh-copy-id <имя_пользователя>@<ip-адрес_сервера>Замените <имя_пользователя> на имя пользователя вашей учетной записи Linux-сервера, а <ip-адрес_сервера> на IP-адрес Linux-сервера. Вам будет предложено ввести пароль для аутентификации.
Откройте на локальной машине файл, в котором хранится закрытый SSH-ключ. Закрытый ключ обычно сохраняется с расширением .pem или .ssh.
Выберите и скопируйте содержимое файла закрытого ключа. Убедитесь, что вы скопировали ключ с правильными разрешениями и разрывами строк.
При использовании сканеров входящих в стандартную поставку продукта необходимо разрешить доступ Auditor к удаленным ресурсам, расположенным по следующим адресам:
Registry со стандартными образами
registry.cybercodereview.ru
Обязательный для всех
*.docker.io
Checkov
pypi.org api0.prismacloud.io
Gitlab Semgrep
metrics.semgrep.dev
RetireJS
registry.npmjs.org raw.githubusercontent.com
Semgrep
semgrep.dev metrics.semgrep.dev
Snyk
pypi.org files.pythonhosted.org api.snyk.io
Terrascan
raw.githubusercontent.com github.com
Trivy Code Dependencies
ghcr.io pkg-containers.githubusercontent.com
Trivy Image Dependencies
ghcr.io pkg-containers.githubusercontent.com
Установка
Вариант 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.1.2.

Например:
Домен
Для указания доменного имени Вашего Auditor необходимо отредактировать поле configs.configmap.variables.DOMAIN.
Например:
Подключение к СУБД 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), необходимо изменить следующие поля:
Подключение к СУБД Redis
Для настройки подключения в REDIS необходимо заполнить следующие поля:
configs.configmap.variables.REDIS_HOST- Это может быть как именем сервиса в kubernetes, так и внешним хостом.configs.configmap.variables.REDIS_PASSWORD- Пароль для подключения к Redis.
Значения по-умолчанию:
Чтобы поменять значения по-умолчанию(которые принимает сама Redis), необходимо изменить следующие поля:
Подключение к брокеру сообщений 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, Redis и RabbitMQ из Helm-чарта от Bitnami:
После первого входа вы получите Access Token.

Скопируйте и задайте переменную Access Token, убрав # перед переменной.
Обновите инсталляцию:
Сохраните значение Access Token в безопасном месте для дальнейшего использования при настройке Auditor.
Установка с помощью Docker-compose
Шаг 1: Клонируйте репозиторий
Клонируйте репозиторий Auditor на свой сервер:
Шаг 2: Перейдите в корневой каталог
Перейдите в корневой каталог проекта Auditor, выполнив следующую команду:
Шаг 3: Задайте переменные окружения
Создайте файл .env в корневой папке проекта.
Пример файла .env:
DB_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.Переменная
DOCKER_ENCRYPTION_TOKENнеобходима при доступе к образам из приватного репозитория. Если ваш репозиторий требует аутентификации, укажите здесь соответствующий токен шифрования.ACCESS_TOKEN: После первого запуска Auditor (шаг 4) вы получите значение токена доступа. Необходимо скопировать его и поместить значение в файл.env.IMAGE_VERSION: эта переменная указывает версию образов Docker для запуска. Актуальный тег Вы можете найти на странице репозитория.
Шаг 4. Запустите Auditor
В командной строке терминала перейдите в каталог, где находится файл docker-compose.yml.
Запустите приложение, выполнив следующую команду:
Это запустит все службы, описанные в файле docker-compose.yml в фоновом режиме.
После успешного выполнения команды docker compose up -d ваше приложение должно быть доступно на порту, указанном в конфигурации (по умолчанию используется порт 8080).
После первого запуска Вы получите Access Token.
Скопируйте его и задайте в файле .env в качестве значения переменной ACCESS_TOKEN (шаг 3).

После добавления переменной необходимо перезапустить приложение выполнив в командной строке следующие команды:
Сохраните значение ключа в безопасном месте для последующего использования в настройках Auditor.
Last updated