Менеджер паролей с web доступом

    В нашей компании используются десятки серверов на которых крутятся сотни сервисов. Их настраивают и администрируют разные люди, которые могут заболеть, перейти на другой проект или уволиться. Уже не один раз возникала ситуация, когда вдруг оказывалось, что никто не знает пароля от той или иной базы данных, web сервера или иного ресурса требующего авторизации. В данной ситуации есть только один выход — единый сервер хранения паролей.

    Выбор софта был осложнён тем, что требовалось решение с возможностью установки на локальный сервер и именно под Linux. Наконец после долгого поиска мною был установлен и опробован TeamPass — Collaborative Password Manager. Данный продукт полностью удовлетворил мои потребности в централизованном хранения паролей. Я не буду описывать установку. Она довольно простая и достаточно подробно описана тут. Моей целью было рассказать про решение которое я долго искал. Авось кому-нибудь тоже пригодится.


    Первое что нас встречает, окно авторизации в котором можно установить временной лимит сеанса. По умолчанию он ограничен 60 минутами, но это значение можно поменять.


    Если выбранного времени вам оказалось мало, вы можете легко продлить сессию.


    Основной, рабочий интерфейс программы функционально разделён на две панели. В левой — ресурсы, в правой — содержимое ресурсов с паролями. Для операций создания и редактирования служит панель в крайней правой части окна. Для настроек и управления программой — верхняя панель. Интерфейс почти полностью переведён на русский язык. Правда в переводе встречаются ошибки, но их легко поправить в файле includes/language/russian.php


    Пользователю доступны три основных уровня прав: Администратор (в интерпретации TeamPass Бог :)). Менеджер — может создавать папки и заводить пароли в пределах разрешённых каталогов. И простой пользователь Read Only, который может только смотреть разрешённые объекты, но не может ничего изменять.


    На вкладке «Управление ролями» можно настроить видимость папок для группы пользователей.


    К самой структуре хранения пришлось несколько приспособиться. Лично мне необходимо хранить пароли для серверов, а паролей может быть несколько. Поэтому хранение было организовано таким образом: сам сервер является папкой, а уже пароли объектами.


    Посмотреть скрытый пароль можно нажав кнопку с изображением глаза.


    Пароли можно генерировать в самой программе выбирая желаемый уровень сложности.


    Также при создании папки можно принудительно установить сложность будущих паролей. Пользователь не сможет создать пароль более простого уровня.


    Из личных ощущений. Конечно программа не без шероховатостей, но в целом доволен. Если кто-то подскажет более достойный вариант, буду более чем признателен.

    В конце маленькое замечание. Т.к. сервер будет содержать ценнейшие сведения, настоятельно рекомендую позаботиться о его безопасности. Установить сложный пароль на вход, отключить пользователя admin, не выпускать сервер в интернет, давать доступ ограниченному кругу лиц. Не поленитесь прикрутить SSL сертификат. Причем не самоподписной, а доверенный. Тем более что есть способ получить его бесплатно. Не лишним, я бы даже сказал обязательным, будет прогнать сервер через тесты сканеров безопасности, например Nessuss или Metasploit.

    UPD: Зоркий глаз уважаемого UksusoFF отметил возможность импорта из файла CSV или KeePass XML.
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 28

      +1
      Скажите, а он каким-то образом может синхронизироваться со всеми сервисами? Или каждый пароль приходится вбивать руками и следить за актуальностью самим?
        0
        Нет, синхронизации не предусмотрено. Только вручную.
          +1
          Да и как синхронизировать пароль, скажем, от ssh или mysql?
            +1
            Хотя бы чтобы при смене пароля синхронизация происходила. Потому что ручное забивание — верный путь к тому, что кто-то забудет вручную сделать это действие.
            Вообще, ssh, mysql и многое другое можно настроить, чтоб в ldap смотрели. А в ldap пароль сбросить дело 1 минуты. На сброс нескольких паролей времени уйдет меньше, чем на ввод всех паролей еще и в менеджер.
              0
              Полностью согласен, без синхронизации хотя бы с LDAP это прямой путь к бардаку :(
              На большом масштабе будет очевидно необходимо хотя бы отслеживание факта изменения пароля.
        0
        Смущает частичный перевод и да «Упарвление ролями»… Может быть приток рускоязычных пользователей после статьи на хабре увеличится и его допилят :)
          0
          И, кстати, как там с импортом из оффлайн хранилок паролей, keepass например?
            0
            Насколько я могу судить по настройкам импорт не предусмотрен.
              0
              Кое как загрузилась демка, увидел там импорт из CSV
                0
                Точно. И еще из KeePass XML.
          +1
          Проще по моему в сервисах при разработке использовать Вконтакте/mailru/OpenID/Фейсбук/интегрировать с корпоративным Active Directory на худой конец. А не ставить какие-то уродливые (мои глаза!!) тяжелые приложения.
            0
            авторизация на сервере через контакт? тру стайл однако.
            0
            Давно ищу подобное решение. В данный момент использовал Clipperz, но у него очень убогий функционал. Когда аккаунтов от различных ресурсов накапливается под сотню, держать их все в голове становится сложновато.
              0
              А lastpass чем не устраивает?
                0
                А я могу установить сервер lastpass на свой сервер? Для меня это важно.
                  0
                  Не только установкой на свой сервер. Еще надо организовать разграниченный доступ пользователей к единой базе.
                0
                Брат все собирался сделать нечто подобное (на Yii), но из-за загрузки не успел :). Будем гонять этот.
                  0
                  Поднимает настроение перевод, аля «Папкаs».
                    0
                    А, если файлик от KeePass держать на общем хранилище? Он и запаролен, если куда то уплывет.
                      0
                      Есть ещё PasswordChain phpchain.sourceforge.net/ — плюс у него в том что пароли шифруются в самой базе данных твоим мастер-паролем, поэтому если кто-то получит полный доступ к серваку и базе, то пароли он не расшифрует без твоего мастер-пароля. Так что параноики могут спать спокойно ;)
                      А в этой программе скорее всего всё в открытом виде хранится, поэтому любой имеющий доступ к базе — сможет получить все пароли.
                      Вот только минус PasswordChain в том, что нельзя дать доступ к паролю нескольким пользователям (из-за шифрования в базе). И то что программа давно не обновлялась…
                        0
                        Дико извиняюсь, если отвлекаю, но в БД у TeamPass тоже всё зашифровано, и помимо мастер-пароля используется еще и ключевой файл.
                          0
                          У TeamPass пароли общие (т.е. разные пользователи могут получить доступ к одному и тому же паролю), это означает что они шифруются общим мастер-паролем и общим ключевым файлом. Поэтому сохраненные там личные пароли пользователя (от личной почты и кредитки) может узнать любой другой пользователь этой системы, кто получит полный доступ к mysql-базе и знает общий мастер-пароль и ключевой файл.

                          В PasswordChain это как раз сделано более надежно и безопасно, все пароли пользователя шифруются личным паролем пользователя, поэтому не зная личный пароль пользователя никто ничего расшифровать не сможет.
                            0
                            Для каждого пользователя в TeamPass создается личная папка, которая дополнительно шифруется еще одним паролем, известным только пользователю. Личные данные рекомендуется хранить именно в этой личной папке.
                              0
                              Хм, это неплохое решение, не знал что там так сделано.
                              Т.е. для доступа к этой папке юзеру придется дважды вводить пароль? Первый раз чтобы просто залогиниться, а второй — чтобы открыть личную папку, или достаточно ввода одного пароля?

                              ЗЫ: К сожалению никак не могу поставить этот TeamPass к себе на хостинг, зависает на этапе создания БД — висит прогрессбар и всё, никаких ошибок ни в error_log ни в js не видно.
                                0
                                Да, нужно вводить два пароля. Хотя второй пароль (личный ключ шифрования) каким-то образом сохраняется, значит, тоже хранится в базе…
                        0
                        Поставил на виртуальную машину, на Debian, 512 ОЗУ
                        Честно говоря, расстроила неторопливость системы. Импорт выполняется очень долго, но это мелочи — в конце концов, импорт выполняешь не каждый день.
                        Но отображение папки с 35 элементами занимает секунд 8-10 — немножко раздражает
                        Это особенность системы или производительности виртуальной машины не хватает?
                          0
                          Озвучьте, пожалуйста, какая версия сейчас самая хорошая? Поставил самую свежую на данный момент и обплевался. То язык не дает русский выбрать, то говорит нету прав на тот фолдер, что создал только что, после переключения языка. А версия у меня TeamPass-2.1.27.1.zip.
                            0
                            Похоже, из прошлогодних версий самая адекватная — 2.1.27.3, она и сейчас на стенде стоит. Еще пробовал .1 и .10 — не подошло по глюкам. Более современные пока не пробовал.

                            Only users with full accounts can post comments. Log in, please.