Обеспечение безопасного доступа к серверу с помощью Gravitational Teleport

Обеспечение безопасного доступа по SSH является критическим моментом для поддержания целостности и безопасности инфраструктуры сервера. Если вам сложно обеспечить эффективный доступ к серверу, не волнуйтесь. Gravitational Teleport появляется как передовое решение, которое революционизирует способ управления и укрепления безопасности SSH команд.

В этом руководстве вы раскроете сложности Teleport, оснастив себя необходимыми сведениями для защиты вашей серверной инфраструктуры. От безшовного управления доступом до надежных функций безопасности, вы изучите, как Teleport обеспечивает безопасный доступ к вашему серверу.

Овладейте безопасностью сервера с помощью Gravitational Teleport и укрепите свою инфраструктуру!

Предварительные требования

Для начала этого руководства по Gravitational Teleport требуется определенное базовое знание и ресурсы. Убедитесь, что соблюдены указанные предварительные требования, чтобы следовать этому руководству:

  • Два сервера Linux: Один сервер (хост) используется в качестве бастионного хоста, а другой используется для ограничения доступа по SSH с помощью Teleport – В этом руководстве используются два экземпляра Ubuntu 22.04 EC2.
  • Разрешен входящий HTTPS-трафик для хост-сервера (см. документацию вашего облачного провайдера).

💡 Примечание: В этом руководстве используются экземпляры AWS EC2. Необходимые изменения вносятся в Группу безопасности > Входящие правила. См. документацию AWS по настройке правил входящего трафика группы безопасности.

  • A registered domain name with DNS A record pointing to your host server’s IP address.
  • A multi-factor authenticator app such as Authy, Google Authenticator, or Microsoft Authenticator.

Установка и настройка Gravitational Teleport на Ubuntu

После настройки вашего DNS необходимо обеспечить ваш сервер Ubuntu надежными средствами безопасности — Gravitational Teleport. Без соответствующих мер безопасности ваш сервер остается уязвимым для несанкционированного доступа и потенциальных нарушений.

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

Для установки и настройки Gravitational Teleport выполните следующее:

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

curl https://goteleport.com/static/install.sh | bash -s 15.1.9

? Примечание: Этот учебник использует менеджер пакетов Advanced Package Tool (APT). Если скрипт установки Teleport не работает должным образом, посетите официальную документацию Teleport для инструкций по установке, адаптированных для вашего менеджера пакетов.

После выполнения вышеуказанного скрипта установки вы должны получить аналогичный вывод.

Installing Teleport on Ubuntu

2. После установки выполните следующую команду systemctl, чтобы проверить статус службы teleport.

systemctl status teleport

Как показано ниже, Teleport в настоящее время неактивен и отключен.

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

Checking the Teleport service status

3. Затем запустите эту команду teleport, чтобы выполнить следующее:

  • Сгенерировать файл конфигурации с именем /etc/teleport.yaml для Teleport. Системная служба Teleport Systemd, настроенная во время установки, требует этот файл для запуска Teleport.
  • Укажите адрес электронной почты (замените <YOUR_EMAIL>) для регистрации сертификата ACME и уведомлений. Флаг --acme сообщает Teleport о автоматическом получении сертификатов от Let’s Encrypt.
  • Укажите телепорт --cluster-name, обычно представленный URL-адресом сервера прокси телепорта (замените <YOUR_TELEPORT_PROXY_URL>).
sudo teleport configure -o /etc/teleport.yaml \--acme --acme-email=<YOUR_EMAIL> \--cluster-name=<YOUR_TELEPORT_PROXY_URL>

Если все настроено правильно, вы увидите следующий вывод в терминале.

Configuring Teleport

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

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

# Включить автоматический запуск службы телепорта при загрузкеsudo systemctl enable teleport# Запустить службу телепортаsudo systemctl start teleport

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

systemctl status teleport

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

Verifying the Teleport service is active and running

Настройка доступа к веб-интерфейсу телепорта и учетных данных администратораНастройка доступа к веб-интерфейсу телепорта и учетных данных администратора

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

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

Посетите URL-адрес прокси-сервера Teleport, который вы настроили на третьем шаге раздела “Установка и настройка Gravitational Teleport на Ubuntu” (т.е. https://teleport.example.com).

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

Accessing the Teleport sign-in page

2. На вашем сервере хостинга выполните следующую команду инструмента CLI Teleport (tctl), чтобы выполнить следующее:

  • Создайте (add) отдельного пользователя администратора Teleport.
  • Разрешите пользователю администратора входить на хосты SSH с указанными логинами: root, ec2-user и ubuntu.
  • Назначьте роли access и editor пользователю администратора.
sudo tctl users add admin --roles=access,editor --logins=root,ec2-user,ubuntu 

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

Creating a dedicated Teleport admin user

3. Перейдите по скопированной в третьем шаге ссылке-приглашению на новую вкладку браузера, затем нажмите НАЧАТЬ на странице приветствия, как показано ниже. Это действие позволит вам начать настройку учетной записи администратора.

Accessing the Teleport sign-in page

4. Затем введите и подтвердите надежный пароль для учетной записи администратора и нажмите ДАЛЕЕ, чтобы продолжить.

Setting the admin password

5. Откройте ваше приложение для аутентификации, отсканируйте QR-код, введите сгенерированный Код аутентификатора в соответствующее поле и нажмите ОТПРАВИТЬ.

Этот процесс позволяет настроить двухфакторную аутентификацию на вашем устройстве для дополнительного уровня безопасности.

Setting up two-factor authentication

6. Теперь нажмите GO TO CLUSTER, чтобы получить доступ к вашей учетной записи Teleport.

Accessing the Teleport dashboard

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

Overviewing the Teleport dashboard

Добавление и управление ресурсами с помощью Teleport

Теперь у вас есть доступ к панели управления Teleport, в которой доступен всего один ресурс. Но централизованная платформа действительно проявляет свои преимущества, когда вы можете управлять несколькими ресурсами одновременно.

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

Чтобы управлять ресурсами с Teleport, выполните следующие действия:

1. На панели управления Teleport нажмите Enroll New Resource (в верхнем правом углу), чтобы начать процесс добавления нового ресурса.

Enrolling a new resource

2. Выберите один из множества ресурсов, которые вы потенциально можете добавить для обеспечения безопасного доступа с помощью Teleport. В данном руководстве выбор пал на Ubuntu 14.04+ Server, как указано ниже.

Selecting a resource to add for access management

3. Скопируйте сгенерированную Teleport команду, которую вы выполните на следующем шаге.

Copying the generated command

4. Теперь откройте терминал на вашем втором сервере и выполните команду, скопированную на третьем шаге, чтобы добавить сервер для управления доступом.

Если все прошло успешно, вы увидите вывод, аналогичный скриншоту ниже.

Adding a second server to Teleport

5. После добавления нажмите NEXT и завершите последующие запросы, нажимая NEXT и FINISH.

Proceeding with configuring the new resource

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

Confirming the new Teleport instance is successfully added

Заключение

Вот и все — успешно установлен и настроен Gravitational Teleport, настроен веб-интерфейс Teleport и установлены учетные данные администратора. В ходе этого руководства вы приобрели ценные знания о том, как обеспечить безопасность и эффективно управлять доступом к серверу!

Теперь, почему бы не использовать полученные знания на новом уровне? Установите CLI Teleport (tsh) специально на свой локальный компьютер и подключитесь к серверу Teleport через CLI, а не через веб-интерфейс.

Реализуйте управление доступом для большего количества ресурсов, таких как кластеры Kubernetes и многое другое!

Source:
https://adamtheautomator.com/gravitational-teleport/