Найти в Дзене

Строим свой PAM на основе Teleport

Есть задача внедрить Teleport как замена PAM менеджера Delinea SecretServer Буду использовать эту страницу как записную под эту задачу. Сначала надо поставить систему (типа Debian) и изменить конфиг SSH nano /etc/ssh/sshd_config systemctl restart sshd Рекомендую поставить: apt-get install curl apt-get install mc Далее в ней установить сам Teleport: curl https://cdn.teleport.dev/install.sh | bash -s 16.4.7 Первично надо провести конфигурирование: teleport configure Создастся первичная настройка После запуск самого Teleport: teleport start Есть хорошая статья, как его внедряли в Wildberries с аналогичным названием этой статьи: https://habr.com/ru/companies/wildberries/articles/829388/ Есть десктоп история https://goteleport.com/desktop-access/ Есть тоже статья на хабре 'Как подружить Windows, Lens и Teleport' , где человек прикручивал это к использованию одного сервиса https://habr.com/ru/articles/774858/ Из него мне понравилось что на Windows и используется Powershell, что я люблю: Ит

Есть задача внедрить Teleport как замена PAM менеджера Delinea SecretServer

Download Teleport: Secure and Easy Infrastructure Access | Teleport

Буду использовать эту страницу как записную под эту задачу.

Сначала надо поставить систему (типа Debian) и изменить конфиг SSH

nano /etc/ssh/sshd_config
systemctl restart sshd

Рекомендую поставить:

apt-get install curl
apt-get install mc

Далее в ней установить сам Teleport:

curl https://cdn.teleport.dev/install.sh | bash -s 16.4.7

Первично надо провести конфигурирование:

teleport configure

Создастся первичная настройка

После запуск самого Teleport:

teleport start

Есть хорошая статья, как его внедряли в Wildberries с аналогичным названием этой статьи: https://habr.com/ru/companies/wildberries/articles/829388/

Есть десктоп история https://goteleport.com/desktop-access/

Есть тоже статья на хабре 'Как подружить Windows, Lens и Teleport' , где человек прикручивал это к использованию одного сервиса https://habr.com/ru/articles/774858/

Из него мне понравилось что на Windows и используется Powershell, что я люблю:

Итак, качнем виндовый Teleport Connect

Teleport connet доступен по Windows
Teleport connet доступен по Windows

На второй из списка Norton ругается:

-2

https://cdn.teleport.dev/Teleport%20Connect%20Setup-16.3.0.exe и разберем все по шагам:

  1. Для работы с прокси Teleport вам понадобится утилита tsh. Та, которую вы, возможно, уже установили в WSL2 не пойдет, нужно будет установить утилиту для Windows. Инструкция доступна на официальном сайте, но я также продублирую ее здесь. Для установки tshв Windows выполните следующие команды в PowerShell (эти команды не будут работать в Windows cmd.exe): Установите уровень TLS на TLS 1.2 (требуется в Windows Server 2016 и более ранних версиях).
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Получите ожидаемую контрольную сумму для пакета Windows tsh. Версия клиента teleport должна быть не ниже, чем установлена на сервере!

$Resp = Invoke-WebRequest https://get.gravitational.com/teleport-v16.3.0-windows-amd64-bin.zip.sha256

PowerShell вернет двоичное представление содержимого ответа по умолчанию, поэтому вам нужно преобразовать его в строку

[System.Text.Encoding]::UTF8.getstring($Resp.Content)

<контрольная сумма> <имя файла>

Вывод команд выше
Вывод команд выше

Invoke-WebRequest -OutFile teleport-v16.3.0-windows-amd64-bin.zip -Uri https://cdn.teleport.dev/teleport-v16.3.0-windows-amd64-bin.zip
certUtil -hashfile teleport-v16.3.0-windows-amd64-bin.zip SHA256

SHA256 hash of teleport-v16.3.0-windows-amd64-bin.zip: <контрольная сумма> CertUtil: -hashfile command completed successfully.

Загрузка Teleport
Загрузка Teleport

После того, как вы убедились в совпадении контрольных сумм, вы можете извлечь архив. Исполняемый файл будет доступен по адресу teleport-v16.3.0-windows-amd64-bin\teleport\tsh.exe

Expand-Archive teleport-v-v16.3.0-windows-amd64-bin.zip
cd teleport-v16.3.0-windows-amd64-bin\teleport
.\tsh.exe version

Обязательно переместите tsh.exe в свой PATH, чтобы использовать короткую команду tsh, вместо необходимости каждый раз указывать путь к исполняемому файлу.

После установки tsh перейдите на страницу вашего Teleport (Это видимо сам портал) и как его ставить есть тут:

Installing Teleport | Teleport Docs

А для подключения используется Teleport Connect
Для его настройки выполните действия в командной строке согласно указанным инструкциям.

-5

2. Дальше мне пока не нужно, но пусть будет, для примера. Переделать:

Пример настройки сервиса

В указанной директории должен лежать конфиг примерно такого содержания:

apiVersion: v1
clusters:
- cluster:
certificate-authority-data: ${CLUSTER_CA}
server: ${TELEPORT_ENDPOINT}
tls-server-name: ${TELEPORT_ENDPOINT}
name: ${CLUSTER_NAME}
contexts:
- context:
cluster: ${CLUSTER_NAME}
user: ${USER_NAME}
name: ${CONTEXT_NAME}
current-context: ${CONTEXT_NAME}
kind: Config
preferences: {}
users:
- name: ${USER_NAME}
user:
exec:
apiVersion: client.authentication.k8s.io/v1beta1
args:
- kube
- credentials
- --kube-cluster=${KUBE_CLUSTER}
- --teleport-cluster=${CLUSTER_NAME}
- --proxy=${TELEPORT_HOST}:${TELEPORT_PORT}
command: C:\Users\user\teleport-v12.4.23-windows-amd64-bin\teleport\tsh.exe
env: null
provideClusterInfo: false

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

Теперь у вас должен быть доступ, где вы сможете просматривать, управлять и анализировать ресурсы кластера, а также работать над вашими приложениями. Не забывайте делать коннект к tsh после каждой перезагрузке системы. Думаю, это очевидно, но мало ли 😄

Обратите внимание, что для работы через прокси Teleport вам необходимо иметь соответствующие права доступа в Teleport