Skip to main content

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

Агент TVP поставляется в виде готового образа контейнера Docker.

Чтобы установить и настроить, на каждой из машин, где будут запускаться агенты TVP, выполните следующее:

Установка и конфигурирование среды Docker

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

# для RedHat-совместимых дистрибутивов
yum install docker-ce docker-ce-cli

# для Debian-совместимых дистрибутивов
apt install -y docker.io

# запуск и добавление в автозагрузку
systemctl enable --now docker

Настройка параметров агента

По умолчанию агент TVP прослушивает порт 9443/TCP. Изменение данного порта осуществляется только путем запуска контейнера в режиме network bridge и проброса портов с хостовой машины на порт 9443 контейнера. Все конфигурационные параметры агента TVP располагаются в файле config.py.

Подключение к серверу аутентификации

Чтобы задать параметры подключения TVP к серверу аутентификации:

Скопируйте файл config.py из дистрибутива агента TVP в произвольный каталог.

  1. Задайте адрес сервера аутентификации:

    sas_address_1 = "mfa.indeed-cloud.ru"
  2. Если используется резервный сервер аутентификации, установите тайм-аут переключения (failover) на резервный сервер, если основной станет недоступен:

    timeout = 10
  3. Если используется резервный сервер аутентификации, установите тайм-аут возврата (failback) на основной сервер, когда он снова станет доступен:

    timeout_to_restore_to_first_sas = 180
  4. Укажите, нужно ли проверять подлинность серверов аутентификации SAS:

    sas_verify_ssl = True
  5. Укажите, нужно ли пробрасывать на сервер аутентификации IP-адрес целевого ресурса:

    forward_ip = False
  6. Укажите, нужно ли пробрасывать на сервер аутентификации тип агента целевого ресурса:

    forward_agent_type = False

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

Если нужно защитить соединения между целевыми ресурсами (агентами) и TVP по протоколу HTTPS, необходимо использовать свои собственные сертификаты стандарта X.509. Для каждого TVP, подключение к которому нужно защитить, потребуются сертификат и закрытый ключ этого сертификата.

Чтобы получить подписанный сертификат TVP, нужно сначала сгенерировать его закрытый ключ, потом сгенерировать с его помощью запрос на подпись сертификата (Certificate Signing Request, CSR), и затем подписать этот запрос в удостоверяющем центре. Подписывать сертификаты можно во внешнем (коммерческом) удостоверяющем центре, или во внутреннем (корпоративном). Кроме того, можно запустить локальный удостоверяющий центр специально для обслуживания решения MFA. Этот способ можно рекомендовать для тестовых и пилотных внедрений, а также в любых случаях, когда корпоративного удостоверяющего центра нет, а использование коммерческого невозможно или нежелательно.

Независимо от того, какой тип удостоверяющего центра будет использоваться, для каждого из TVP выполните:

  1. Сгенерируйте закрытый ключ сервера:

    openssl genrsa -out CA.key 2048
  2. Сгенерируйте запрос на подпись сертификата:

    openssl x509 -req -in tvp.indeed.local -CA CA.pem -CAkey CA.key -CAcreateserial -out tvp.indeed.local.pem
  3. Отправьте запрос на подпись в удостоверяющий центр и получите уже подписанный сертификат, а также корневой сертификат этого удостоверяющего центра.

  4. Скопируйте открытый и закрытый ключи на машину, где будет запущен агент TVP.

Развертывание образа, создание и запуск контейнера с TVP

Чтобы развернуть образ и запустить контейнер:

  1. Запустите сервис Docker:

    systemctl start docker
  2. Скопируйте образ агента на машину и разверните его:

    docker load -i tvp-1.0.010425.tar.gz
  3. Создайте и запустите контейнер TVP, выбрав ему имя и указав пути к файлам конфигурации и (если используются) сертификатам и ключам:

    Базовая команда (без сертификатов):

    docker run -d --network host --name tvp --restart always \
    -v /opt/indeed/tvp01/config.py:/var/www/indeed/app/config.py \
    -t tvp:1.0.130326

    Команда с подключением сертификатов (опционально):

    docker run -d --network host --name tvp --restart always \
    -v /opt/indeed/tvp01/config.py:/var/www/indeed/app/config.py \
    -v /opt/indeed/tvp01/tessis-CA.crt:/usr/local/share/ca-certificates/tessis-CA.crt \
    -v /opt/indeed/tvp01/tvp.indeed.local.key:/etc/ssl/private/indeed.key \
    -v /opt/indeed/tvp01/tvp.indeed.local.pem:/etc/ssl/certs/indeed.pem \
    -t tvp:1.0.130326