Компания Cloudflare объявила о значительном шаге в развитии безопасности и удобства аутентификации, открыв исходный код проекта OpenPubkey . Этот инструмент позволяет интегрировать механизм единого входа (Single Sign-On, SSO) с протоколом SSH, что делает процесс авторизации более безопасным и удобным для пользователей.
Что такое OpenPubkey?
OpenPubkey — это решение, которое объединяет два важных аспекта современной аутентификации:
- SSH (Secure Shell) — протокол, широко используемый для безопасного доступа к серверам и выполнения административных задач.
- SSO (Single Sign-On) — технология, позволяющая пользователям входить в различные сервисы с использованием одной учетной записи, например, через Google, GitHub или корпоративные системы аутентификации.
Основная идея OpenPubkey заключается в том, чтобы использовать преимущества SSO для упрощения работы с SSH, сохраняя при этом высокий уровень безопасности.
Как это работает?
Традиционно, для подключения к серверу через SSH пользователи должны генерировать пару ключей (публичный и приватный) и хранить их на своих устройствах. Это создает определенные сложности:
- Пользователи могут потерять свои ключи или оставить их на небезопасных устройствах.
- Администраторам сложно контролировать, кто имеет доступ к серверам, особенно если сотрудники покидают компанию.
OpenPubkey решает эти проблемы, используя сертификаты, выданные посредством SSO-провайдера. Когда пользователь пытается подключиться к серверу через SSH, OpenPubkey автоматически генерирует временный ключ, подписанный провайдером SSO. Этот подход позволяет:
- Упростить процесс входа, так как пользователю не нужно хранить ключи вручную.
- Обеспечить централизованный контроль доступа, поскольку администраторы могут легко отзывать права через SSO.
Рисунок 1. Процесс аутентификации через OpenPubkey: клиентский компьютер отправляет запрос на сервер SSH, который проверяет временный публичный ключ, подтвержденный OpenID Provider.
Рисунок 2. Процесс получения временного публичного ключа (PK Token) от OpenID Provider: пользователь аутентифицируется, получает подписанное ID Token, которое затем используется для аутентификации через SSH.
Рисунок 3. Упрощенная схема аутентификации через OpenID Provider: пользователь получает подписанное ID Token, которое служит для проверки его личности при подключении к серверу SSH.
Преимущества решения
- Безопасность :
- OpenPubkey устраняет необходимость в долгосрочных SSH-ключах, которые могут быть скомпрометированы. Временные ключи, подписанные через SSO, минимизируют риски.
- Удобство для пользователей :
- Пользователям больше не нужно заботиться о генерации и хранении SSH-ключей. Все происходит автоматически через уже знакомые механизмы аутентификации, такие как Google или GitHub.
- Гибкость для администраторов :
- Администраторы получают полный контроль над доступом к серверам. Например, если сотрудник покидает компанию, его права можно мгновенно отозвать через SSO.
- Открытость :
- Открытый исходный код OpenPubkey позволяет сообществу проверить его безопасность и адаптировать под свои нужды.
Интеграция SSO с SSH — это значительный шаг вперед для облачных и распределенных команд, которые активно используют серверы. Решение от Cloudflare помогает решить две ключевые проблемы:
- Уязвимости, связанные с традиционными SSH-ключами.
- Сложности управления доступом в современных распределенных системах.
Это особенно актуально в условиях растущих требований к кибербезопасности и увеличения числа удаленных сотрудников.
Как начать использовать OpenPubkey?
Cloudflare предоставила подробную документацию и примеры использования OpenPubkey. Проект доступен на GitHub , где разработчики могут изучить код, предложить улучшения или адаптировать его под свои нужды.
Для начала работы достаточно интегрировать OpenPubkey с вашим SSO-провайдером и настроить серверы для поддержки нового механизма аутентификации.
Открытие исходного кода OpenPubkey демонстрирует стремление Cloudflare сделать интернет более безопасным и удобным для всех. Благодаря этому решению компании могут отказаться от устаревших методов аутентификации через SSH и перейти на современные, централизованные механизмы, такие как SSO.
Это особенно важно для организаций, которые стремятся обеспечить высокий уровень безопасности, не жертвуя удобством для пользователей. Теперь сообщество может принять участие в развитии OpenPubkey и помочь сделать его еще лучше.
