Self-hosted менеджер паролей и self-hosted identity-провайдер (SSO) решают разные задачи, хотя часто ставятся рядом. Менеджер паролей хранит и передает учетные данные людям. Identity-провайдер (IdP) подтверждает, кто пользователь, и выдает доступ к нескольким приложениям по одному входу. Для команды обычно нужны оба инструмента, и выбор зависит от того, чего не хватает прямо сейчас.
Что такое менеджер паролей и что такое SSO
Менеджер паролей — это хранилище секретов: логинов, паролей, заметок, TOTP-кодов и общих папок для сотрудников. Он закрывает проблему пароля в Excel и паролей, которыми сотрудники делятся в мессенджерах.
SSO, или единый вход, — это схема, при которой приложения не хранят пароли сами, а делегируют вход центральному IdP. Протоколы, которые используют такие системы, — OIDC, OAuth2, SAML, а для инфраструктуры также LDAP и RADIUS. Чем больше сервисов в компании, тем сильнее выигрыш от единой точки входа: отзыв доступа у одного пользователя проходит в одном месте.
Чем они отличаются
- Менеджер паролей работает с секретами, которые человек вводит сам. Он полезен для внутренних систем без поддержки SSO, для общих учетных записей и для личных паролей сотрудников.
- IdP управляет идентичностью: учетными записями, группами, многофакторной аутентификацией и правами доступа к приложениям. Он нужен, когда приложений много и их надо подключать единообразно.
- Менеджер паролей обычно не заменяет IdP, а IdP не заменяет хранилище секретов для сервисных учетных данных.
Варианты из каталога
Менеджер паролей: Vaultwarden
Vaultwarden — неофициальный сервер, совместимый с Bitwarden, написан на Rust и рассчитан на self-hosted развертывание с меньшим потреблением ресурсов. Лицензия AGPL-3.0. Это удобный вариант, если нужен общий менеджер паролей с клиентами Bitwarden и контролем над данными на собственном сервере. Учтите, что проект неофициальный, и это стоит взвесить при выборе для критичной инфраструктуры.
Identity-провайдеры: Keycloak и authentik
Keycloak — открытая библиотека и сервер управления идентичностью и доступом. Он добавляет SSO, OIDC, SAML и авторизацию в приложения и сервисы. Лицензия Apache-2.0. Подходит для команд, которые интегрируют много собственных приложений и хотят гибкие протоколы и правила доступа.
authentik — открытый identity-провайдер для единого входа с поддержкой SAML, OAuth2/OIDC, LDAP и RADIUS. Он рассчитан на self-hosted установки от небольших лабораторий до крупных кластеров. Если нужен IdP с LDAP и RADIUS для сетевой инфраструктуры, authentik стоит рассмотреть в первую очередь.
Как выбрать
Сначала ответьте на три вопроса
- Сколько приложений должны работать через единый вход? Если больше нескольких, нужен IdP.
- Какие протоколы поддерживают ваши сервисы? Если есть LDAP или RADIUS, смотрите на authentik; если важны SAML и OIDC для собственных разработок, сравните с Keycloak.
- Где хранить общие пароли, которые нельзя перевести на SSO? Для этого подходит менеджер паролей вроде Vaultwarden.
Практический порядок внедрения
- Опишите список сервисов и способ входа в каждый из них.
- Разверните менеджер паролей для общих учетных записей и личных секретов сотрудников.
- Подключите к IdP приложения, которые поддерживают SSO, начиная с наиболее используемых.
- Включите многофакторную аутентификацию для администраторов в первую очередь.
- Регулярно пересматривайте группы и права, особенно после ухода сотрудников.
Безопасность самого инструмента
IdP и менеджер паролей сами становятся целью атаки, поэтому их надо проверять. Для кода собственных интеграций и скриптов полезны статические анализаторы. Semgrep ищет уязвимости и нарушения стандартов по шаблонам кода в 30+ языках, а Trivy сканирует образы контейнеров, файловые системы и Kubernetes на уязвимости и неверные настройки, включая секреты. Для обучения команды поиску уязвимостей подойдет OWASP Juice Shop — намеренно уязвимое приложение для тренировок и CTF.
Рекомендация
Для небольшой команды, которой нужно только безопасно хранить общие пароли, начните с Vaultwarden. Когда появится потребность в едином входе для нескольких приложений, добавьте IdP. Если важны LDAP и RADIUS для инфраструктуры, выбирайте authentik; если приоритет — гибкая интеграция собственных приложений по SAML и OIDC, смотрите на Keycloak. Любое решение стоит сначала развернуть на тестовом стенде и только потом переносить в рабочую среду.