Расскажу вам про отличную бесплатную Open Source систему контроля доступа к сервисам и системам - Teleport. Она очень функциональная, кроссплатформенная, немного навороченная. Попробую кратко рассказать принцип работы.
Допустим, у вас есть какой-то веб сервис и полноценный сервер в закрытой сети. Вы не хотите открывать к ним доступ извне. Вам нужно точечно выдавать права к этим ресурсам различным пользователям. Есть вариант организовать это с помощью VPN, но это решение сетевого уровня. В то время как Teleport обеспечивает доступ на уровне сервисов.
Вы разворачиваете какой-то сервер в интернете, привязываете к нему DNS имя. Устанавливаете туда сервер Teleport. Добавляете все свои внутренние ресурсы, к которым хотите настроить доступ. Добавляете пользователей и назначаете им права доступа. Далее на целевых серверах ставите Teleport и связываете его с сервером и ресурсами, которые туда добавили.
Теперь централизованно можете управлять доступом к своим внутренним ресурсам. При этом ведётся лог подключений. В качестве ресурсов могут выступать: ssh подключения к серверам, доступ к kubernetes, к базам данных, к десктопным системам (в т.ч. windows по rdp), к отдельным приложениям (gitlab, grafana и т.д.).
Доступ к серверу Teleport и ресурсам осуществляется через браузер. Можно включить двухфакторную аутентификацию. Доступ к SSH может осуществляться как через web, так и с помощью локального приложения со своим cli. Выглядит это примерно так:
# tsh login --proxy=tp.site.com --user=sysadmin
Я систему не разворачивал и не использовал. Изучил сайт, документацию, видео. На вид выглядит очень круто. Можно закрыть вопросы как подключений администраторов для управления всего и всем, так и пользователей к своим компьютерам и терминальным серверам. Компания, которая разработала и поддерживает Teleport, зарабатывает на поддержке и облачной версии. За счёт этого Community версия выглядит очень неплохо. Каких-то ограничений я не нашёл.
Аналог этой системы я описывал ранее - Trasa. Teleport показался более функциональным, удобным, с хорошей документацией.
Сайт - https://goteleport.com/
Исходники - https://github.com/gravitational/teleport
Обзор - https://www.youtube.com/watch?v=6ynLlAUipNE
#remote #управление #devops