Поиск по сайту:

Как установить кластер Teleport в Debian 11


На этой странице

  1. Предпосылки
  2. Установка Teleport на сервере Debian
  3. Настройка сервера телепорта
  4. Настройка пользователя телепорта
  5. Управление кластером телепортов через командную строку
  6. Добавление узлов в кластер телепорта
    1. Добавление client1 с помощью скрипта установщика
    2. Добавление узла client2 вручную

    Teleport — это платформа с открытым исходным кодом, которую можно использовать в качестве плоскости доступа к вашей глобальной инфраструктуре. Он обеспечивает доступ с нулевым доверием к различным службам, таким как серверы, кластеры Kubernetes, серверы баз данных, приложения DevOps, такие как консоль управления AWS, CI/CD, контроль версий и рабочие столы. Teleport — это единственный источник достоверных данных для доступа, синхронизированный во всей вашей инфраструктуре.

    Teleport может устранить потребность в таких услугах, как VPN, предоставляя единый шлюз для доступа к вашей глобальной вычислительной инфраструктуре. Это прокси-сервер Identity-Native Access, который позволяет вам безопасно получать доступ к вашей инфраструктуре.

    Телепорт был публично проверен такими компаниями по обеспечению безопасности, как Cure53 и Doyensec. В настоящее время Teleport развернут и используется в производстве такими компаниями, как Samsung, NASDAQ, IBM, Epic Games и многими другими.

    В этом руководстве вы установите и настроите Teleport — плоскость доступа к вашей инфраструктуре на сервере Debian 11. Вы узнаете, как инициализировать безопасный кластер телепорта, настроить пользователя телепорта, а затем добавить узлы в кластер телепорта двумя разными способами.

    Предпосылки

    Для начала вам потребуются следующие требования:

    • Сервер Debian 11. В этом примере используется сервер Debian с именем хоста teleport-server и IP-адресом 192.168.5.100.
    • Пользователь без полномочий root с правами администратора sudo/root.
    • Доменное имя указывало на IP-адрес сервера.
    • Сгенерированный SSL Letsencrypt для вашего доменного имени.
    • Приложения для двухфакторной аутентификации, такие как KeepassXC для пользователей компьютеров, Aegis для пользователей Android или Google Authenticator для iOS.

    Вам также понадобятся другие узлы/серверы, которые вы добавите к серверу Teleport. Вы можете использовать разные дистрибутивы Linux, в этом примере используются два сервера client1 и client2, оба с системой Debian.

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

    Установка Teleport на сервер Debian

    Во-первых, вы установите пакеты Teleport на телепорт-сервер. Teleport предоставляет пакеты DEB для дистрибутивов на основе Debian и пакеты RPM для дистрибутивов на основе RHEL.

    На этом шаге вы добавите репозиторий Teleport на свой сервер Debian. Затем установите пакеты Teleport через APT.

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

    sudo apt install curl wget apt-transport-https gnupg2

    Введите y при появлении запроса и нажмите ENTER, чтобы продолжить.

    Затем выполните приведенную ниже команду, чтобы загрузить переменные среды, доступные в файле /etc/os-release.

    source /etc/os-release

    Запустите команду curl ниже, чтобы загрузить ключ GPG репозитория Teleport. Затем добавьте репозиторий Teleport для дистрибутивов на основе Debian с помощью команд echo и tee ниже.

    sudo curl https://apt.releases.teleport.dev/gpg \
    -o /usr/share/keyrings/teleport-archive-keyring.asc
    echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v11" | \
    sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null

    После добавления репозитория Teleport выполните приведенную ниже команду apt, чтобы обновить кэш менеджера пакетов.

    sudo apt update

    Вы увидите, что репозиторий Teleport добавлен на ваш сервер Debian.

    Теперь установите Teleport с помощью приведенной ниже команды apt. Теперь установка Teleport должна начаться автоматически.

    sudo apt install teleport

    После установки Teleport вы можете перейти к настройке развертывания Teleport.

    Настройка сервера телепорта

    Чтобы использовать Телепорт, вы должны сначала настроить сам Телепорт. У вас должно быть доменное имя, которое будет использоваться для Teleport, и сгенерированные SSL-сертификаты для защиты вашего развертывания Teleport.

    На этом шаге вы инициализируете установку Teleport на сервере Debian, включаете панель мониторинга веб-приложения Teleport, затем запускаете и включаете службу Teleport.

    В этом примере используется доменное имя tele.hwdomain.io для развертывания Teleport и SSL-сертификаты, сгенерированные в каталоге /etc/letsencrypt/live/tele.hwdomain.io/.

    Для начала запустите приведенную ниже команду телепорта, чтобы инициализировать конфигурацию сервера телепорта. Кроме того, обязательно измените имя домена, имя кластера и путь к обоим SSL-сертификатам, открытым и закрытым ключам.

    sudo teleport configure -o file \
    --cluster-name=tele.hwdomain.io \
    --public-addr=tele.hwdomain.io:443 \
    --cert-file=/etc/letsencrypt/live/tele.hwdomain.io/fullchain.pem \
    --key-file=/etc/letsencrypt/live/tele.hwdomain.io/privkey.pem

    В выходных данных вашего терминала вы должны увидеть конфигурацию Teleport, созданную в файле /etc/teleport.yml.

    Затем откройте файл конфигурации Teleport /etc/teleport.yaml с помощью приведенной ниже команды редактора nano.

    sudo nano /etc/teleport.yaml

    Добавьте следующие строки в конец строки. С помощью этих строк вы включаете веб-службу Teleport, которая предоставляет панель управления. Также не забудьте изменить доменное имя tele.hwdomain.io.

    app_service:
      enabled: yes
      apps:
      - name: "teleport-webapp"
        uri: "http://localhost:9000"
        public_addr: "tele.hwdomain.io"

    Сохраните файл и выйдите из редактора, когда закончите.

    Теперь запустите приведенную ниже командную утилиту systemctl, чтобы запустить и включить службу Teleport.

    sudo systemctl start teleport
    sudo systemctl enable teleport

    Служба Teleport должна быть запущена и включена, чтобы служба запускалась автоматически при загрузке. Проверьте службу Teleport, используя приведенную ниже команду.

    sudo systemctl status teleport

    В выводе вы должны увидеть, что статус службы Teleport запущен и включен.

    На данный момент ваш кластер Teleport работает с включенным веб-сервисом поверх него. Чтобы убедиться, что веб-служба Teleport включена, откройте веб-браузер и перейдите на доменное имя вашей установки Teleport (например, https://tele.hwdomain.io/).

    Теперь вы должны получить страницу входа в веб-службу Teleport.

    На следующих шагах вы начнете настраивать пользователя-администратора Teleport через командную строку и панель веб-администрирования.

    Настройка пользователя телепорта

    Служба Teleport и веб-служба работают, но вы по-прежнему не можете войти в нее, потому что вам все еще нужно добавить нового пользователя Teleport. С помощью пользователя Teleport вы можете управлять кластером Teleport через командные строки (tctl и tsh) или с помощью панели веб-администрирования, предоставляемой веб-службой Teleport.

    Перед созданием пользователя Teleport убедитесь, что на ваших устройствах установлено приложение двухфакторной аутентификации. Вы можете использовать мобильные приложения через Aegis или Google Authentication, или вы можете использовать KeepassXC с плагином 2FA для пользователей компьютеров.

    На компьютере с сервером телепорта выполните приведенную ниже команду, чтобы создать нового пользователя Teleport.

    sudo tctl users add teleport-admin --roles=editor,access --logins=root,debian,ec2-user

    Эта команда создаст нового пользователя teleport-admin с редактором ролей и доступом. Кроме того, флаг --logins позволяет teleport-admin входить на любые узлы через пользователя root, debian или пользователь ec2. Пользователи с флагом --login должны быть созданы на целевых узлах.

    Ниже приведен аналогичный вывод, который вы должны получить на своем терминале. Вы можете увидеть сгенерированную ссылку, которая будет использоваться для настройки пользователя Teleport teleport-admin.

    Скопируйте сгенерированную ссылку и вставьте ее в свой веб-браузер. И вы должны получить приветственное сообщение для настройки нового пользователя Teleport. Нажмите кнопку НАЧАТЬ, чтобы начать настройку нового пользователя.

    Теперь введите имя пользователя для вашего пользователя Teleport, введите новый надежный пароль и повторите. Затем нажмите ДАЛЕЕ, чтобы продолжить.

    Затем вы должны настроить двухфакторную аутентификацию для вашего пользователя Teleport. Отсканируйте QR-код на экране, чтобы добавить новое приложение в ваше приложение 2FA.

    Введите сгенерированный код аутентификации из приложения 2FA и нажмите ОТПРАВИТЬ.

    Если код 2FA правильный, на экране должно появиться сообщение Регистрация прошла успешно. Это означает, что новый пользователь teleport-admin добавлен и настроен.

    Нажмите ПЕРЕЙТИ В ИНФОРМАЦИОННУЮ ПАНЕЛЬ.

    Теперь вы должны получить панель веб-администрирования вашего развертывания Teleport, которая работает безопасно с включенным HTTPS, а пользователь создан с включенной двухфакторной аутентификацией.

    Управление кластером Teleport через командную строку

    Teleports предоставляет командные строки tsh и tctl, которые можно использовать для управления кластером Teleport. Обе командные строки включены по умолчанию в пакет Teleport.

    Команда tsh позволяет пользователям аутентифицироваться и управлять кластером Teleport с терминала. Вы можете добавлять, редактировать или удалять ресурсы Teleport в кластере. В целях безопасности вы должны запустить команду tsh от имени пользователя без полномочий root.
    Команда tctl для установки и настройки службы проверки подлинности Teleport. Это должно быть запущено с правами sudo или root.

    На этом шаге вы получите доступ и управление кластером Teleport через обе командные строки tsh и tctl.

    Сначала войдите в систему под пользователем без полномочий root с помощью приведенной ниже команды. В этом примере используется пользователь debian.

    su - debian

    Теперь запустите приведенную ниже команду tsh для аутентификации в вашем кластере Teleport. В этом примере выполняется аутентификация в кластере Teleport, работающем в доменном имени tele.hwdomain.io, с пользователем teleport-admin.

    tsh login --proxy=tele.hwdomain.io --user=teleport-admin

    Вам будет предложено ввести пароль для пользователя teleport-admin и ввести код аутентификации OTP. Введите правильный пароль для вашего пользователя и правильный код OTP из вашего приложения 2FA.

    В случае успеха и аутентификации вы должны получить подробные подключения к кластеру телепорта, как показано ниже.

    Вы также можете проверить текущее подключение к кластеру телепортов с помощью приведенной ниже команды tsh. Это приведет к тому же результату, что и на скриншоте вверху.

    tsh status

    Теперь, когда вы прошли аутентификацию в кластере Teleport через tsh, теперь вы можете управлять ресурсами в Teleport через терминал.

    Запустите приведенную ниже команду tsh, чтобы проверить список хостов/узлов/серверов, доступных в кластере Teleport.

    tsh ls

    Теперь проверьте включенное приложение в Teleport CLuster с помощью приведенной ниже команды tsh.

    tsh apps ls

    В выходных данных вы должны увидеть, что один узел доступен в кластере Teleport (телепорт-сервер), а приложение teleport-webapp включено.

    Затем вы также можете войти в узлы, доступные в кластере Teleport, с помощью команды tsh, как показано ниже. При этом вы будете входить на сервер телепорта с помощью команды tsh с пользователем root и/или debian.

    tsh ssh 

    Вы должны увидеть вывод, подобный следующему: с помощью обеих команд tsh вы успешно вошли на сервер телепорта с помощью команды tsh.

    Для команды tctl вы должны запустить с sudo в начале. Запустите приведенную ниже команду tctl, чтобы проверить доступные узлы/серверы в кластере Teleport.

    sudo tctl nodes ls

    На следующем этапе вы узнаете, как добавлять узлы/серверы в кластер Teleport двумя разными способами: автоматически через панель веб-администрирования или вручную через командную строку.

    Добавление узлов в кластер телепорта

    Чтобы добавить узлы/серверы в кластер Teleport, вы должны убедиться, что сервер доступен. И вы можете использовать два разных метода для добавления узлов/серверов в ваш кластер Teleport.

    Вы можете использовать Teleport в качестве плоскости управления для различных служб, таких как серверы, кластер Kubernetes, сервер баз данных, приложения и рабочие столы.

    На этом шаге вы добавите два разных сервера в кластер Teleport. Вы добавите машину client1 с помощью сценария установщика, который будет сгенерирован из панели веб-администрирования, а машину client2 добавите вручную с помощью командной строки.

    Добавление client1 через скрипт установщика

    Сначала вернитесь к панели веб-администрирования Teleport и нажмите кнопку ДОБАВИТЬ СЕРВЕР.

    Выберите тип ресурса, который вы хотите добавить. Вы можете добавить кластер Kubernetes, серверы баз данных, приложения и рабочие столы. Выберите СЕРВЕРЫ, чтобы добавить сервер типа ресурса, и нажмите ДАЛЕЕ.

    Теперь вы увидите созданный скрипт установки и командную строку, которую можно использовать для добавления компьютера client1. Скопируйте сгенерированную командную строку.

    Теперь войдите на компьютер client1, получите права суперпользователя с помощью команды sudo, затем вставьте и запустите сгенерированную командную строку на компьютере client1. Это загрузит сгенерированный скрипт на компьютер client1 и запустит скрипт.

    Вы получите аналогичный результат на своем терминале. Сценарий установщика добавит компьютер client1, используя сгенерированный токен и пин-код кластера Teleport. Кроме того, сценарий установки автоматически определит вашу текущую операционную систему, автоматически установит пакет Teleport и создаст файл конфигурации Teleport /etc/teleport.yaml.

    После завершения процесса вы должны получить такой вывод. Служба Teleport на компьютере client1 также автоматически запускалась и включалась.

    Теперь вернитесь к панели веб-администрирования Teleport, и вы должны увидеть сообщение типа Сервер успешно присоединился к этому кластеру Teleport. Нажмите ДАЛЕЕ, чтобы продолжить.

    Теперь введите имена пользователей, которым разрешен доступ к компьютеру client1. Убедитесь, что пользователи доступны и созданы на компьютере client1. Нажмите NEXT еще раз, чтобы продолжить.

    Наконец, вы можете проверить подключение к компьютеру client1, выполнив шаги, доступные на панели управления веб-администрирования.

    • Сначала выберите пользователя, которого вы хотите использовать для входа.
    • Во-вторых, нажмите кнопку TEST SERVER на шаге 2 и убедитесь, что все тесты отмечены или отмечены как выполненные.
    • Наконец, нажмите кнопку НАЧАТЬ СЕАНС, которая автоматически откроет новую вкладку в вашем веб-браузере и получит доступ к компьютеру client1 через выбранного пользователя.

    Ниже показан снимок экрана с разделом Проверка соединения со статусом «успешно».

    Ниже показан снимок экрана после входа на компьютер client1 с помощью НАЧАЛА СЕАНСА на шаге 3.

    Нажмите FINISH, чтобы завершить процессы.

    Затем вы будете перенаправлены на панель веб-администрирования Teleport и увидите, что компьютер client1 добавлен в кластер Teleport.

    Вы также можете проверить список узлов/серверов в кластере Teleport с помощью командной строки tsh и tctl.

    Вернитесь на сервер телепорта и выполните приведенную ниже команду, чтобы проверить список узлов/серверов в кластере телепорта.

    tsh ls
    sudo tctl nodes ls

    Вы должны получить примерно такой вывод: Машина client1 доступна и добавлена в кластер Teleport.

    Наконец, выполните приведенную ниже команду tsh, чтобы войти на компьютер client1 как пользователь debian. Теперь вы должны войти на компьютер client1 через Teleport.

    tsh ssh 

    Ниже приведен экран терминала после взлома компьютера client1 через телепорт.

    Имея это в виду, теперь вы успешно добавили узел/сервер client1 в кластер Teleport автоматически с помощью сценария установки, сгенерированного из панели веб-администрирования Teleport.

    Добавление узла client2 вручную

    Выполните приведенную ниже команду, чтобы проверить отпечаток пальца CA вашего кластера Teleport. Отпечаток PIN-кода ЦС будет использоваться для добавления машины client2.

    sudo tctl status

    Ниже приведен аналогичный вывод, который вы должны получить: обязательно скопируйте отпечаток CA pin.

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

    sudo tctl nodes add --ttl=30m --roles=node | grep "invite token:" | grep -Eo "[0-9a-z]{32}"
    sudo tctl token ls

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

    Теперь подключитесь к машине client2 и установите пакет Teleport через APT.

    Выполните приведенную ниже команду, чтобы добавить репозиторий Teleport на компьютер client2.

    Загрузите переменные среды в файл /etc/os-release.

    source /etc/os-release

    Добавьте ключ Teleport GPG и репозиторий.

    sudo curl https://apt.releases.teleport.dev/gpg \
    -o /usr/share/keyrings/teleport-archive-keyring.asc

    echo "deb [signed-by=/usr/share/keyrings/teleport-archive-keyring.asc] https://apt.releases.teleport.dev/${ID?} ${VERSION_CODENAME?} stable/v11" | \
    sudo tee /etc/apt/sources.list.d/teleport.list > /dev/null

    Теперь запустите приведенную ниже команду apt, чтобы обновить и обновить индекс вашего системного пакета. Затем установите Teleport с помощью приведенной ниже команды apt.

    sudo apt update
    sudo apt install teleport

    Теперь должна начаться установка Teleport.

    После установки пакета Teleport создайте новый файл конфигурации Teleport /etc/teleport.yaml, используя приведенную ниже команду редактора nano.

    sudo nano /etc/teleport.yaml

    Добавьте в файл следующие конфигурации телепорта. Обязательно измените namenode на имя хоста компьютера, token_name на сгенерированный вами токен, proxy_server на доменное имя вашего кластера Teleport и ca_pin на отпечаток PIN-кода CA кластера Teleport.

    version: v3
    teleport:
      nodename: client2
      data_dir: /var/lib/teleport
      join_params:
        token_name: 361b76eac6360da13f1a202fa8164024
        method: token
      proxy_server: tele.hwdomain.io:443
      log:
        output: stderr
        severity: INFO
        format:
          output: text
      ca_pin: sha256:2c96568d7bfa05f0a32b7681eb31b52a5c2a3414274579cbe9ece23e0b5e5443
      diag_addr: ""
    auth_service:
      enabled: "no"
    ssh_service:
      enabled: "yes"
      commands:
      - name: hostname
        command: [hostname]
        period: 1m0s
    proxy_service:
      enabled: "no"
      https_keypairs: []
      acme: {}

    Сохраните файл и выйдите из редактора, когда закончите.

    Затем запустите приведенную ниже командную утилиту systemctl, чтобы запустить и включить службу Teleport на компьютере client2.

    sudo systemctl start teleport
    sudo systemctl enable teleport

    Затем проверьте службу Teleport с помощью приведенной ниже команды.

    sudo systemctl status teleport

    Вы должны получить результат, аналогичный следующему снимку экрана: служба Teleport на компьютере client2 настроена, запущена и включена.

    Теперь вернитесь к терминалу телепорт-сервер, чтобы проверить оттуда список доступных узлов/серверов. Запустите приведенную ниже команду, чтобы проверить список узлов в кластере телепорта.

    sudo tctl nodes ls

    Вы должны увидеть, что компьютер client2 доступен и добавлен в кластер Teleport.

    Затем выполните приведенную ниже команду tsh, чтобы получить доступ к машине client2 через Teleport SSH. Теперь вы должны войти на машину client2 через Teleport. Убедитесь, что пользователь debian доступен на компьютере client2.

    tsh ssh 

    Ниже приведен вывод, который вы должны получить после входа на компьютер client2 через Teleport.

    Теперь вернитесь к панели веб-администрирования Teleport, и вы должны увидеть, что компьютер client2 доступен в кластере Teleport.

    Наконец, нажмите кнопку ПОДКЛЮЧИТЬ на компьютере client2, чтобы запустить и подключиться к client2. Теперь вы должны войти на компьютер client2 через панель веб-администрирования Teleport.

    Имея это в виду, вы теперь успешно добавили и настроили компьютер client2 вручную, сгенерировав токен Teleport, используя отпечаток пин-кода CA кластера Teleport, установив пакет Teleport и создав файл конфигурации Teleport.

    Заключение

    Инфраструктура вашего сервера теперь защищена с помощью кластера Teleport, и теперь вы можете отключить службы SSH на каждом узле и разрешить доступ только с сервера Teleport. Теперь вы узнали, как установить Teleport Cluster в системе Debian 11, и изучили базовую конфигурацию для настройки Teleport.

    Вы также узнали, как настроить пользователей Teleport с включенной двухфакторной аутентификацией, и узнали, как использовать командные строки Teleport (tsh и tctl) для управления кластером Teleport.

    Наконец, вы успешно настроили и добавили два узла client1 и client2 в кластер Teleport, используя два разных метода. Первый способ — через скрипт установщика, сгенерированный панелью веб-администрирования Teleport. Второй метод вручную добавляет узлы/серверы, устанавливая и настраивая Teleport на целевой машине.