Установка

Пошаговое руководство по развертыванию Auditor

Системные требования для использования Auditor:

  • Минимальные системные ресурсы: 4 ГБ ОЗУ и 2 ядра ЦПУ.

  • Свободное дисковое пространство для установки и хранения данных Auditor.

  • Доступ по сети до и от Security Center и к месту расположения вашего актива (месту расположения сканируемого продукта).

Для улучшения стабильности работы рекомендуется устанавливать Auditor и Security Center на разных машинах (физических или виртуальных)

Подготовка

Перед установкой Auditor убедитесь, что на вашем компьютере установлено следующее программное обеспечение:

Тип установки с использованием контейнеров:

Установке с среде Kubernetes:

  • Helm сконфигурирован с кластером Kubernetes

Создание SSH-ключей

Чтобы безопасно подключиться к серверу Linux, вам нужно настроить SSH-ключи.

Если у вас еще нет SSH-ключей, вы можете сгенерировать их с помощью следующей команды в терминале сервера:

ssh-keygen

⚠️ При копировании ключей убедитесь, что они скопированы без пробелов.

Установка SSH-ключа на сервер

После генерации SSH-ключей вам нужно скопировать открытый SSH-ключ на сервер Linux. Используйте эту команду для копирования открытого ключа:

ssh-copy-id <имя_пользователя>@<ip-адрес_сервера>

Замените <имя_пользователя> на имя пользователя вашей учетной записи Linux-сервера, а <ip-адрес_сервера> на IP-адрес Linux-сервера. Вам будет предложено ввести пароль для аутентификации.

Откройте на локальной машине файл, в котором хранится закрытый SSH-ключ. Закрытый ключ обычно сохраняется с расширением .pem или .ssh.

Выберите и скопируйте содержимое файла закрытого ключа. Убедитесь, что вы скопировали ключ с правильными разрешениями и разрывами строк.

Установка

Установка с использованием Helm

Перед использованием установите менеджер пакетов "Helm" для Kubernetes и сконфигурируйте подключение к кластеру

Шаг 1: Добавьте пакет Helm

Добавьте на локальный компьютер пакет Helm:

helm repo add auditor https://gitlab.com/api/v4/projects/60862707/packages/helm/stable

Шаг 2: Задайте переменные окружения

Задайте актуальную версию приложения:

global.image.tag=1.0.0

Задайте переменные для подключения к СУБД PostgreSQL:

configs.configMap.database.host=""
postgresql.containerPorts.postgresql="5432"         
postgresql.auth.database="postgres"       
postgresql.auth.username="postgres"
postgresql.auth.password="postgres"

При использовании СУБД PostgreSQL предлагаемый в конфигурации по умолчанию оставьте значение перменной configs.configMap.database.host пустым.

Задайте переменные для подключения к СУБД Redis:

configs.configMap.redis.host=""
redis.auth.password="11110000"

При использовании СУБД Redis предлагаемый в конфигурации по умолчанию оставьте значение перменной configs.configMap.redis.host пустым.

Задайте переменные для подключения к брокеру сообщений RabbitMQ:

configs.configMap.rabbitmq.host=""
rabbitmq.containerPorts.amqp="5672"
rabbitmq.auth.username="admin"
rabbitmq.auth.password="admin"

При использовании брокера сообщений RabbitMQ предлагаемый в конфигурации по умолчанию оставьте значение переменной configs.configMap.rabbitmq.host пустым.

Шаг 3: Развертывание приложения в кластер Kubernetes

В примере по умолчанию мы используется установленный ранее ingress controller "nginx" и PostgreSQL и RabbitMQ из Helm чарта:

helm install auditor auditor/appsecauditor --set postgresql.enabled=true
  --set ingress.enabled=true --set ingress.annotations."nginx\.ingress\.kubernetes\.io\/scheme"=internet-facing
  --set ingress.annotations."nginx\.ingress\.kubernetes\.io\/target\-type"=ip
  --set ingress.ingressClassName=nginx --set ingress.host=your_own_host -n <namespace>

После первого входа вы получите Access Token.

Скопируйте и задайте переменную Access Token, затем перезапустите службу scanner_worker.

kubectl get deployments -n <namespace>
kubectl delete deployment <scanner_runner> -n <namespace>
helm upgrade auditor auditor/appsecauditor --set postgresql.enabled=true
    --set ingress.enabled=true --set ingress.annotations."nginx\.ingress\.kubernetes\.io\/scheme"=internet-facing
    --set ingress.annotations."nginx\.ingress\.kubernetes\.io\/target\-type"=ip
    --set ingress.ingressClassName=nginx --set configs.secret.access_token=your_token --set ingress.host=your__own_host -n <namespace>

Сохраните значение Access Token в безопасном месте для дальнейшего использования при настройке Auditor

Установка с помощью Docker-compose

Шаг 1: Клонируйте репозиторий

Клонируйте репозиторий Auditor на свой сервер:

git clone https://gitlab.com/cybercodereview/auditor.git auditor

Шаг 2: Перейдите в корневой каталог

Перейдите в корневой каталог проекта Auditor, выполнив следующую команду:

cd auditor

Шаг 3: Задайте переменные окружения

Переменные окружения установлены по умолчанию. Если необходимо внести изменения, создайте файл .env в корневой папке проекта.

Пример файла .env:

DB_NAME=postgres
DB_USER=postgres
DB_PASS=postgres
DB_HOST=postgres
DB_PORT=5432
RABBITMQ_DEFAULT_USER=admin
RABBITMQ_DEFAULT_PASS=mypass
AMQP_HOST_STRING=amqp://admin:mypass@rabbitmq:5672/
DOCKER_ENCRYPTION_TOKEN=defaultvaluetobechangedorelse...
ACCESS_TOKEN=<your value>
IMAGE_VERSION=1.0.0
  • 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 up -d

Это запустит все службы, описанные в файле docker-compose.yml, в фоновом режиме.

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

После первого запуска вы получите Access Token. Скопируйте его и задайте в файле .env в качестве значения переменной ACCESS_TOKEN (шаг 3)

После добавления переменной необходимо перезапустить службу из командной строки с помощью команды:

docker-compose down
docker-compose up -d

Сохраните значение ключа в безопасном месте для последующего использования в настройках Auditor

Last updated