Управление паролями - неотъемлемая часть современных IT процессов. Удобная организация работы с паролями и прочими секретами упрощает и ускоряет работу сотрудников, делает её безопаснее. Централизованное хранение, разделение доступов и регулярный аудит позволяют обезопасить организацию от компрометации паролей и упрощают процесс ротации кадров. Все эти вопросы позволяет решить ОдинКлюч - корпоративный менеджер паролей с совместным доступом.
Введение
Процесс управления паролями не такой простой, как может показаться на первый взгляд. Работая с малым и средним бизнесом, я ни разу не видел какого-то целостного и комплексного подхода к его решению. А работать мне доводилось с многими компаниями как в роли удалённого администратора с частичной занятостью, так и внешнего аудитора для разовых и регулярных задач проверки инфраструктуры. Работая на потоке с несколькими компаниями одновременно в течении нескольких лет, я много их пропустил через себя.
Обычно история с паролями имела несколько разных состояний:
- Паролей практически никаких нет. Прошлый сотрудник ушёл, ничего не оставил. Так чаще всего бывает, если расстались не очень хорошо. Он для вида мог оставить какой-то документ или отдельные записи, но их никто не проверял во время ухода. На деле многих доступов нет, их придётся восстанавливать.
- Есть текстовый файл или табличка в экселе, где всё записано и прокомментировано. Сотрудник её аккуратно вёл, сам пользовался. Не всегда бывает точно известно, у кого был и есть доступ к этому файлу. Если сотрудники менялись, то не понятно, кто из них какие пароли знает. По хорошему всё это надо менять после смены сотрудника, отвечающего за эти доступы.
- Все пароли хранятся в какой-то программе, типа KeePass. База паролей зашифрована, вести её начал конкретный сотрудник или руководитель. Посторонние люди доступа к базе паролей не имели.
Несмотря на то, что третий вариант выглядит более-менее безопасно и удобно, проблем всё равно масса. Все пароли хранятся в одном месте. Там и доступы к серверам, к почтовым ящикам пользователей, к различным saas сервисам и т.д. Любой сотрудник получив один раз доступ к этому файлу, получал все пароли разом. И когда он увольнялся, это была проблема для руководителя, так как сотрудник фактически уходил со всеми паролями. Предотвратить их использование и распространение невозможно.
Из-за этой проблемы я сталкивался с тем, что некоторые руководители, которые меня нанимали, очень неохотно делились теми или иными паролями. Они уже не раз сталкивались с ситуациями, когда сотрудники увольнялись и приходилось после них либо менять пароли, к которым у них был доступ, либо оставлять как есть и надеяться, что уволившиеся сотрудники не будут использовать эти пароли и просто про них забудут.
Я для интереса иногда смотрел, актуальны ли пароли, которые у меня были от компаний, с которыми я давно не работаю. Чаще всего доступы оставались. Это на самом деле серьёзная проблема, которой нужно отдельное продуманное решение. Одним из таких решений является внедрение централизованной системы хранения паролей с разделением на пользователей и ограничением доступа к секретам. В качестве такой системы может выступать корпоративный менеджер паролей ОдинКлюч. Он закрывает задачи как локального хранения паролей на одиночном компьютере для работы с ними одним человеком, так и централизованного хранения паролей в виде сервиса для работы с ним множества сотрудников.
Менеджер паролей ОдинКлюч
ОдинКлюч - российский корпоративный менеджер паролей. Он представлен в виде обычного бесплатного десктопного приложения, типа KeePass и других подобных, и в виде On-Premise сервиса для коллективной работы с ним. Продукт включён в реестр отечественного ПО, у разработчиков (компания АБП2Б) есть необходимые лицензии ФСТЭК и ФСБ.
Особенности десктопного приложения:
- Полноценная самостоятельная программа, которую можно установить на компьютер и использовать без доступа в локальную сеть или интернет.
- Приложение небольшое (архив 5.3 MB), может быть как установлено в систему, так и работать в режиме портабельной версии без установки.
- Данные хранятся в отдельных логических хранилищах, которых может быть несколько с разными мастер-ключами для доступа к ним.
- Из хранилищ можно выполнить экспорт всех записей в форматах CSV и JSON.
- Приложение умеет подставлять сохранённые данные в формы ввода различных приложений (браузер, менеджер удалённых соединений и т.д.)
- Приложение полностью бесплатное со свободным доступом к дистрибутиву.
Корпоративная версия ОдинКлюч представляет собой программное обеспечение класса PMS (Password Management System). Она предназначена для централизованного хранения паролей и организации доступа к системам и сервисам, используемым сотрудниками организации.
Возможности On-Premis версии:
- Установка на все популярные системы на базе Linux, в том числе отечественные дистрибутивы. Установка как непосредственно в систему, так и запуск в Docker контейнерах.
- Работа с системой через обычный браузер и его расширение без необходимости установки отдельного приложения, но можно использовать и его.
- Гибкие настройки ролей и прав доступа, возможности многофактороной (MFA), LDAP, ALDPro и SSO аутентификации и прочие инструменты для администраторов.
- Просмотр истории действий пользователей и оповещения о проблемных паролях.
- Возможность безопасной передачи отдельных записей.
- Открытый REST API или SDK для интеграции с другими сервисами.
- Данные шифруются на стороне клиента до любой передачи информации, а не на стороне сервера.
- Журналирование действий, аудит, интеграция с SIEM, проверки паролей и прочие возможности для специалистов по ИБ.
- Администратор не может просматривать пароли пользователей напрямую.
- Используется шифрование по стандарту ГОСТ 34.12-2018. При необходимости алгоритм шифрования может быть заменён на другой, используемый в вашей организации.
- В продукте применяется схема разделения секретов, известная как Схема Шамира.
- Продукт публично проверен на безопасность независимыми исследователями на платформе Standoff Bug Bounty
Бесплатное приложение ОдинКлюч
Десктопное приложение ОдинКлюч можно свободно загрузить и бесплатно использовать. Ссылку на загрузку можно получить на главной странице сайта, заполнив простую форму с именем и почтовым адресом. Сразу после заполнения вы будете переадресованы на страницу с загрузкой. На момент написания статьи она была именно там.
Далее я рассмотрю работу портабельной версии приложения, загруженной в архиве onekey-desktop-portable.zip.
После запуска программы нужно сразу переключиться на Оффлайн режим работы и создать новое хранилище.
В настройках хранилища имеет смысл сразу же указать пароль или пин код, которыми будут защищены данные в нём.
Сразу скажу, где ОдинКлюч размещает локальное хранилище. В документации нигде не нашёл этой информации. Выяснил самостоятельно опытным путём:
C:\Users\user\AppData\Roaming\com.abp2b.onekey.desktop\client-storage.json
Это зашифрованный файл, где хранятся все локальные хранилища. Для бэкапа достаточно сохранить именно его. К сожалению, изменить размещение этого файла нельзя. По крайней мере в той версии, что тестировал я. Думаю, со временем эта возможность должна появиться. Она напрашивается для такого рода программы. Нужно чётко понимать, где хранятся твои данные, и иметь возможность размещать их в наиболее подходящих местах.
Для доступа к зашифрованному хранилищу нужно использовать мастер-ключ и пройти небольшую проверку на человечность, сдвинув мышкой ползунок защиты:
Работа с локальной программой ОдинКлюч ничем не отличается от других подобных. Вы создаёте необходимые записи с секретами, распределяете их по папкам, назначаете метки.
Если у вас уже есть хранилище паролей формата KeePass, вы можете выполнить импорт записей из него. Программа поддерживает несколько форматов для импорта:
Если нужно будет выгрузить записи из своей локальной базы, то это тоже можно будет сделать:
ОдинКлюч позволяет автоматически вводить учётные данные в другие программы. Для этого необходимо открыть программу, перейти в поле ввода и нажать комбинацию клавиш по умолчанию Ctrl+Alt+A (можно изменить) - откроется модальное окно с подсказками.
После первой аутентификации через ОдинКлюч можно сохранить привязку записей с полями, чтобы в дальнейшем сразу видеть, есть ли для данной формы запись в хранилище:
Автозаполнение работает не только в браузере, но и в других приложениях. Например, в менеджере SSH подключений:
В целом, приложение простое, легковесное, удобное. Если у вас уже есть KeePass и вы к нему привыкли, то не увидел чего-то такого, ради чего стоило бы выбрать именно ОдинКлюч. Если у вас такой привычки нет, то пробуйте оба и выбирайте то, что больше понравится. По внешнему виду мне KeePass кажется старомодным. ОдинКлюч тут выглядит более интересным. Плюс, одновременная работа с разными хранилищами сделана удобнее. Если для вас это актуально, то попробуйте.
Другое дело, если вам запрещено использовать иностранное ПО. Тогда перейти на ОдинКлюч не составит особого труда. И каких-то трудностей в дальнейшей эксплуатации тоже не будет. Задачу про хранению паролей в зашифрованном хранилище она решает.
Установка корпоративного менеджера паролей
Переходим теперь к корпоративному хранилищу секретов для совместной работы. Я для этого взял ОС Debian 13 и развернул по инструкции версию, упакованную в Docker. Сами файлы, насколько я понимаю, в свободном доступе не лежат, так как это платный продукт. Дистрибутив вы получите либо по запросу, либо после покупки.
Не буду пересказывать содержание инструкции, чтобы не увеличивать лишний раз объём статьи. Там всё довольно просто и типично для Docker. Я для теста выбрал установку без доменного имени (IP + порт). Для этого взял стандартный docker-compose.yml, поменял пароли и запустил:
# docker compose --profile ip up -d --build
Образы собираются локально, готовых нет. Они небольшие, сборка заняла у меня всего 16 секунд, так что некритично.
Перехожу в браузер по IP сервера на порт 8080, в моём случае это урл http://192.168.137.29:8080 и вижу приветственную страничку.
Параметры учётной записи администратора хранятся в файле backend/.env. По умолчанию учётка - admin / admin. После первого входа вам потребуется заменить пароль. Заходим с новым паролем и видим привычный интерфейс ОдинКлюч, такой же, как в десктопном приложении.
По умолчанию сервер запускается с demo лицензией на 10 пользователей и 15 дней работы. У меня был свой файл лицензии, так что я её сразу активировал. Этот процесс тоже описан в документации. Достаточно файл лицензии положить в директорию backend/ и подключить его в файле docker-compose.yml
volumes: - ./backend/LICENSE:/1k/LICENSE
Настройка ОдинКлюч
Во время первичного знакомства кажется, что “корпоративная система” хлопотна в изучении и настройке. А на самом деле нет. Реализовано всё относительно просто. Можно разобраться даже методом тыка, без документации.
Рассмотрим основные настройки, которые скорее всего понадобятся.
Политика паролей и база для их паролей
В разделе Настройки -> Пароли стоит сразу задать параметры паролей, такие как сложность самого пароля в сохранённых записях или в качестве мастер пароля для хранилищ, срок жизни пароля и некоторые другие параметры.
На вкладке Слабые пароли вы можете загрузить готовые списки слабых или скомпрометированных паролей. Можно как через веб интерфейс добавлять пароли в списки, так и подгружать текстовые файлы при старте системы. Их нужно будет скачать, примонтировать через docker-compose.yml к контейнеру 1k-backend. Это имеет смысл делать с очень большими списками, чтобы не грузить их через браузер. Формат - текстовый, по паролю в каждой строке.
Настройки LDAP и SSO
Сервис ОдинКлюч поддерживает аутентификацию через LDAP в том числе через ALDPro, Active Directory, OpenLDAP и др.
Основные возможности LDAP:
- Подключение основного и резервного LDAP-сервера
- Гибкая настройка атрибутов пользователей
- Автоматическое назначение ролей
- Привязка LDAP-групп к ролям
- Политика обработки отключённых пользователей
В системе также реализована поддержка технологии единого входа (SSO) через провайдер аутентификации Keycloak.
Добавление и удаление пользователей
У вас есть возможность самостоятельно в панели администрирования создавать и управлять пользователями. Сделать это можно в разделе Пользователи и сессии. То есть система может работать полностью автономно.
Для пользователей есть несколько преднастроенных ролей с различными правами доступа:
- Пользователь
- Аудитор
- Администратор
При создании пользователя администратор назначает ему пароль, который при первом входе он должен в обязательном порядке изменить.
В панели администратора также есть управление группами. С помощью групп вы можете назначать уникальные параметры для конкретных наборов пользователей. Группы имеют приоритет над другими глобальными параметрами в системе. Это значит, что настройки, заданные на уровне группы, будут переопределять общие правила безопасности для пользователей, входящих в эту группу.
Для пользователей можно включить обязательную двухфакторную (2FA) аутентификацию. Работает она на базе открытого международного стандарта TOTP (Time-based One-Time Password). Для её работы необходимо установить любое совместимое приложение. Обычно их устанавливают на смартфон. Например, Яндекс Ключ, Google Authenticator, Microsoft Authenticator и другие.
Каждый пользователь может настроить 2FA самостоятельно в своём профиле.
Логирование и уведомления
ОдинКлюч поддерживает возможность отправки своих логов на удалённый сервер в формате Syslog. Делается это в соответствующем разделе - Логи и Уведомления.
Это позволяет быстро и просто интегрировать систему в централизованное хранилище логов или SIEM систему.
Здесь же в соседней вкладке можно настроить отправку уведомлений. Поддерживается только SMTP протокол. Помимо стандартных системных отправлений можно настроить регулярную проверку паролей пользователей по базе скомпрометированных паролей с регулярной отправкой на почту результатов этой проверки.
Совместная работа с хранилищами
Каждый пользователь системы может создавать свои собственные хранилища паролей и защищать мастер-ключом или пинкодом. Администратор, не зная ключ, не сможет получить доступ к хранилищу, хотя и будет видеть его в панели администратора.
Пользователь может выполнить экспорт паролей из своей локальной версии ОдинКлюч и импортировать их в облачное хранилище. Другой вариант работы с личными и сервисными паролями - открыть локальное приложение ОдинКлюч, подключить туда серверную версию. Это будет режим работы Онлайн. Переключая режим работы с Онлайн на Офлайн и обратно, вы переключаетесь между локальными файлами паролей и облачными. Реализовано просто и удобно.
В облачной версии пользователь может самостоятельно назначать доступ к своим хранилищам другим пользователям.
Пользователь, даже если он администратор системы, должен знать мастер-ключ, которым зашифровано хранилище, чтобы посмотреть его содержимое.
Можно создать какое-то хранилище с несекретными данными, не шифровать его ключом и назначить доступ на чтение всем пользователям.
Администратор видит все хранилища пользователей и назначенные им права, может сам поменять права доступа к тому или иному хранилищу для уже добавленного пользователя. Сам добавлять доступ новым пользователям не своего хранилища он не может.
Фрагменты
В ОдинКлюч реализован интересный доступ к части хранилища. Эту функциональность назвали Фрагментом. Вы можете выборочно взять часть записей из хранилища и настроить для них доступ внутренних или внешних пользователей. При этом у вас есть возможность выбрать некоторые параметры этого доступа:
- время доступности (всегда, один раз, до какой-то даты)
- недельный диапазон доступа, то есть разрешить, к примеру, доступ только в какие-то часы будних дней
- выбрать пользователей, которым будет доступен фрагмент
- фрагменты можно сделать доступными без ключа, либо закрыть ключом или пинкодом.

После создания, фрагментом можно управлять, менять параметры.
Факт публикации всех фрагментов пользователей видны администратору системы.
Аудит системы
В ОдинКлюч реализована базовая функциональность в виде Аудита системы. В учётной записи администратора или аудитора она вынесена в отдельный раздел.
С помощью аудита вы можете:
- оценить общий уровень безопасности
- выявить слабые, скомпрометированные и повторяющиеся пароли
- контролировать соблюдение политик
- анализировать доступ пользователей к хранилищам
В разделе История действий вам доступны все события пользователей в режиме реального времени.
Здесь отображаются:
- действия с хранилищами
- операции с паролями и элементами
- управление доступами
- изменения настроек и пользователей
- события безопасности
Для быстрого поиска того или иного действия, или всех действий конкретного пользователя, работает фильтрация по тем или иным параметрам. Найденные записи можно экспортировать в формате CSV.
API-Агент
Система ОдинКлюч шифрует данные на стороне клиента. Это вносит свои особенности в процедуру взаимодействия с ней. Для автоматизации можно использовать локального API-агента, который представляет из себя одиночный бинарник с файлом переменных .env.
Внешние системы могут обращаться к локальному API-агенту, который шифрует чувствительные данные и взаимодействует с сервером приложения. API-агент позволяет внешним системам безопасно работать с учетными записями, сертификатами и другими конфиденциальными данными, хранящимися в зашифрованном виде.
Схематично взаимодействие с API-агентом выглядит следующим образом:
Руководство по установке агента, все его методы и примеры использования представлены в документации. В рамках этой обзорной статьи я не буду подробно разбирать эту тему.
Стоимость и схема лицензирования
Как я уже говорил ранее, десктопное приложение ОдинКлюч полностью бесплатно и свободно для загрузки. Можно его использовать без каких-либо ограничений.
On-Prem версия лицензируется по пользователям, для которых нужно оплачивать годовую подписку. На момент написания статьи стоимость была следующая:
Цена начинается от 2590 р. за пользователя в год, то есть примерно 215 р. в месяц. Много это или мало - судить не берусь. Чем больше пользователей - тем ниже стоимость в пересчёте на одного. Каких-то нюансов и скрытых платежей нет. Считаем всех пользователей системы и покупаем соответствующее количество лицензий.
На сайте указано, что есть возможность купить лицензию на несколько лет или бессрочно, но эти условия обсуждаются индивидуально.
Заключение
Я как обычно самостоятельно развернул и полностью изучил приложение, насколько это возможно в рамках обзорной статьи, чтобы получить своё собственное впечатление от непосредственного взаимодействия с ней. Система на самом деле несложная, как это может показаться на первый взгляд. Пользовался только документацией с сайта, ни к кому не обращался и не задавал вопросы. У меня получилось всё развернуть самостоятельно, настроить и попробовать.
Первое, что сразу же понравилось в локальном приложении - простота и легковесность. Приложение маленькое, быстрое, портабельное. Если я правильно понял, не так давно вышла новая 2-я версия, где его переработали. И я тестировал по сути свежий релиз. Каких-то багов не заметил. Всё работало чётко. Лично мне не хватило в приложении возможности управлять файлами хранилищ, то есть задавать место расположения и делить хранилища по отдельным файлам. В текущей версии все хранилища пользователя по факту хранятся в одном файле. Такая схема видится мне нелогичной. Было бы удобно их разделять. К тому же портабельной версии полагается хранить базу тут же в каталоге, а не в профиле пользователя.
On-Prem сервис развернул без каких-либо проблем. Скачал нужные файлы в архиве и запустил всё через Docker Compose. Пробежался по всем настройкам, проверил все основные возможности. Сервис небольшой под одну конкретную задачу - управление паролями. Какой-то особой квалификации администратора системы не требуется. Всё управляется через веб панель. Архитектурно система выглядит просто - веб сервер Nginx (кстати, почему не Angie?), написанный бэкенд и PostgreSQL для хранения данных. Для бэкапов достаточно бэкапить базу данных.
В целом первое впечатление о системе положительное. Сравнить с чем-то я её не могу, потому что подобные системы в проде не эксплуатировал. Поэтому не могу сказать что-то конкретное, что тут лучше, а где-то хуже или наоборот. Те бесплатные системы, что я тестировал, были хуже, не такие удобные. В данном случае делаю акцент конкретно на совместной работе, удобстве и безопасности в реализации этого подхода. Но они бесплатные, было бы некорректно их сравнивать с коммерческим продуктом. Тут есть вся база, которая нужна для прода - разграничение доступа на уровне пользователей, ограничение доступа админов к паролям, схемы Шамира для разделения секретов, 2FA для пользователей, полное логирование действий, проверка паролей по публичным и своим базам, интеграция с LDAP и SSO и так далее.
В ОдинКлюч отмечу беспроблемную загрузку и использование бесплатной версии, что позволит получить пользовательский опыт взаимодействия с системой. И прямое указание стоимости платной версии. Оба эти факта в реалиях отечественных коммерческих систем не так уж и распространены.
Ну и не забываем, что система есть в реестре отечественного ПО и может использоваться в КИИ.
Реклама, ООО «АБП2Б», ИНН 7810782630, erid: 2SDnjemwQa7
Server Admin Авторский блог системного администратора

































