Чтобы безопасно подключиться к серверу Linux, вам нужно настроить SSH-ключи.
Если у вас еще нет SSH-ключей, вы можете сгенерировать их с помощью следующей команды в терминале сервера:
ssh-keygen
⚠️ При копировании ключей убедитесь, что они скопированы без пробелов.
Установка SSH-ключа на сервер
После генерации SSH-ключей вам нужно скопировать открытый SSH-ключ на сервер Linux. Используйте команду для копирования открытого ключа:
ssh-copy-id<имя_пользователя>@<ip-адрес_сервера>
Замените <имя_пользователя> на имя пользователя вашей учетной записи Linux-сервера, а <ip-адрес_сервера> на IP-адрес Linux-сервера. Вам будет предложено ввести пароль для аутентификации.
Откройте на локальной машине файл, в котором хранится закрытый SSH-ключ. Закрытый ключ обычно сохраняется с расширением .pem или .ssh.
Выберите и скопируйте содержимое файла закрытого ключа. Убедитесь, что вы скопировали ключ с правильными разрешениями и разрывами строк.
При использовании сканеров входящих в стандартную поставку продукта необходимо разрешить доступ Auditor к удаленным ресурсам, расположенным по следующим адресам:
Перед использованием установите менеджер пакетов "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 - Пароль от пользователя из пункта выше.
Значения по-умолчанию:
Чтобы поменять значения по-умолчанию, необходимо изменить следующие поля:
Подключение к СУБД Redis
Для настройки подключения в REDIS необходимо заполнить следующие поля:
configs.configmap.variables.REDIS_HOST - Это может быть как именем сервиса в kubernetes, так и внешним хостом.
configs.configmap.variables.REDIS_PASSWORD - Пароль для подключения к Redis.
Значения по-умолчанию:
Чтобы поменять значения по-умолчанию, необходимо изменить следующие поля:
Подключение к брокеру сообщений RabbitMQ
Данная строчка строится из нескольких частей:
amqp:// - Не меняем, служебная часть.
user - Логин для подключения.
: - Разделитель для пароля и логина.
pass - Пароль для подключения
@ - Разделитель для данных и хоста.
auditor-rabbitmq - Либо имя сервиса в Kubernetes, либо внешний хост.
: - Разделитель между хостом и портом.
5672 - Порт, на котором 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.
configs:
secret:
variables:
REDIS_HOST: "auditor-redis-master" # имя Service в Kubernetes или внешний хост
REDIS_PASSWORD: "11110000"
redis:
auth:
password: "11110000"
configs:
secret:
variables:
AMQP_HOST_STRING: "amqp://user:pass@auditor-rabbitmq:5672" # "auditor-rabbitmq" - имя Service в Kubernetes или внешний хост