2 августа 2017

Синхронизация паролей бесплатно и кросс-платформенно

Однажды мой знакомый пожаловался в твиттере, что у интересующего его сайта неудобный набор поддерживаемых символов (отсутствовали некоторые привычные для него спецсимволы). После чего у нас завязался примерно такой диалог:

— Так ведь особых сложностей с этим нет, делов-то – переткни пару галочек в генераторе паролей и готово.
— А я не пользуюсь генератором паролей.
— Но почему?
— Потому что надо входить на разные сайты с разных устройств: смартфона на Android, рабочего ПК на Windows и домашнего ПК на Ubuntu.
— Так ведь есть же средства синхронизации…

Почему менеджер паролей

Есть множество статей о безопасности, посвященных паролям, и практически все они сходятся в выводах:

  • пароли должны быть как можно более сложными (порядка 20 символов, включая буквы, цифры и спецсимволы – это не перебор, а норма);
  • пароли должны быть уникальными (если внезапно «утечет» база данных паролей некоторого сервиса, то вы можете быть уверены, что под скомпрометированным паролем нельзя будет зайти на остальные сервисы).

Очевидно, что обеспечить безопасность путем придумывания паролей и запоминания их в голове довольно сложно (придумать еще можно, но удержать в голове несколько десятков довольно сложных паролей – задача крайне нетривиальная).

Цели

Некоторое время назад я решал как раз такую задачу: выбрать менеджер паролей доступный на нескольких десктопных ОС (Windows, Mac, Ubuntu), а также на Android. Задачи поддержки iOS в тот момент не стояло, но обеспечение этого было бы неплохим бонусом.

Отдельной целью стояло обеспечение синхронизации базы паролей. Пароли могут как генерироваться, так и использоваться на разных платформах. Причем в идеале средство синхронизации не должно использовать никаких промежуточных серверов (чтобы не было даже теоретической проблемы утечки базы паролей по вине сервиса).

А в идеале хотелось бы, чтобы набор всех средств был бесплатным. В крайнем случае – с разовой покупкой. Но никакой абонентской платы.

Решение – менеджер паролей

Бесплатный менеджер паролей, имеющий реализации под все целевые платформы: KeePass:

  • Windows – работает оригинальная версия;
  • Ubuntu – работает кроссплатформенная KeePass 2 (через моно), доступна также версия KeePass X. Оба приложения устанавливаются через стандартный центр приложений;
  • Mac – работает MacPass (несмотря на статус альфа-версии за два года использования у меня не возникло ни одной проблемы);
  • Android – работает KeePassDroid;
  • iOS – работает MiniKeePass;

Технология использования KeePass следующая:

  • при старте указываете файл с паролями и пароль для открытия этого файла;
  • открываете существующую группу или добавляете новую;
  • генерируете пароли;
  • копируете имена и пароли для того, чтобы вставить их в браузер или другое приложение.

Решение – средство синхронизации

В качестве средства синхронизации был выбран BitTorrent Sync (теперь это Resilio Sync). В отличие от Dropbox, Google Drive и других аналогичных сервисов, Resilio Sync не использует сервера для хранения синхронизируемых данных: они пересылаются только между конечными устройствами.

Resilio Sync под Windows и Linux работает как локальный сервис с доступом из браузера. На Mac запускается отдельное приложение.

Технология использования BitTorrent/Resilio Sync следующая:

  • на одном устройстве создаете папку (мобильное приложение предлагает сразу же создать бэкап – папку, которая на других устройствах будет доступна только для чтения);
  • отправляете ссылку на другое устройство;
  • на другом устройстве добавляете ссылку;
  • на первом устройстве одобряете подключение второго устройства.

Итого

Связка из KeePass и Resilio Sync позволила решить все изначально поставленные цели. Синхронизация паролей отлично работает на всех необходимых платформах.

А есть ли альтернативы? Конечно. Можно посмотреть, например, LastPass. Если не жалко платить деньги за подобный сервис и не нужен Linux, то есть вариант с 1Password.

Можно ли по-другому синхронизировать БД паролей, если менеджер паролей уже выбран? Да, есть варианты с классическим хранилищем, поддерживающим синхронизацию (Google Drive, Dropbox, OneDrive), конечно, если вас устраивает такой уровень безопасности. Кроме того, если у вас есть NAS, присмотритесь к его фирменным утилитам. Возможно, там тоже найдется средство для синхронизации данных.

Ссылки для Android

Читайте также

  • Aerolius

    Пользуюсь LastPass лет пять. Разнообразные тестирования утверждают, что надёжнее LastPass только свободные сервисы, сохраняющие пароли в шифрованный файл.

  • Нищеброд

    Почитал, ничего не понял, но на всякий случай рукавом стёр пин код с зарплатной карты.

  • Aerolius

    *прочитал статью. Там именно про лучший из свободных сервисов хранения паролей.

  • ol0lo

    отказался от Resilio, потому что в последний год он бесконечно начинает синхронизировать данные, но без выдачи оконечных файлов.
    раньше было лучше — синхронизация работала как часы.
    релизы программы за последний год — шлак.
    перешел на ядиск. (проблема с задвоением файлов не такая страшная — пускай 2 копии, чем ни одной)

  • jockjoint

    Несколько раз был скомпрометирован. Вроде даже с утечками. Ссылок не дам, ибо не сохранил. Вроде на хакере читал или си-ньюсе.
    P.S. Сейчас загуглил навскидку по lastpass leak. Март 17, июнь 15, бегло по заголовкам…

  • Бог Прошутто

    Да что тут понимать то? Предлагается использовать синхронизируемую базу паролей и предлгается конкретное ПО для этого: KeePass + Resilio Sync.
    В качестве альтернативы для него предлагаются LastPass, где пароли отдаются левым чувакам и 1Password — так же отдельная база, как и у KeePass, только закрытая разработка и платить постоянно надо.

  • Крысъ

    Если не нужен iOS то вместо Resilio Sync я бы смотрел в сторону Syncthing — он кроме всего прочего не проприетарный и на мой вкус менее глючный

  • Бог Прошутто

    Увидел заголовок, сразу подумал про синхронизацию базы KeePass. Сам использую схожую связку, только вместо Resilio sync свой VDS.
    Пара дополнений к статье:
    1) В конце стоило бы доабвить ссылки и для других платформ (да, они есть в тексте, но всё же) — всётаки речь идёт о кросплатформенной работе.
    2) KeePassX по всей видимости больше не развивается. Сейчас в моде его активно разрабатываемый форк KeePassXC.

  • СЕРГЕИЧ_RETURNS

    > — Потому что надо входить на разные сайты с разных устройств: смартфона на Android, рабочего ПК на Windows и домашнего ПК на Ubuntu.
    > — Так ведь есть же средства синхронизации…

    Если для таких простых целей, я про пароли для сайтов, то они в браузерах, по-моему, уже во всех даже, сто лет храниться умеют, достаточно один запомнить. В статье тема как-то более глобально затронута.
    P.S. — а еще для криптоманьяков есть флэшки с аппаратным шифрованием, на которой можно хранить копию базы с паролями, флэшку, в свою очередь, в ячейке швейцарского банка, пароль от которой знает только верный, глухонемой качок слуга-азиат, а если такой вариант не устраивает, можно по-старинке, по-джеймсбондовски — на микрофильме…

  • Aerolius

    Два года назад были украдены файлы с паролями. Но файлы эти были зашифрованы и закрыты мастер-паролями, злоумышленники никак не смогли их использовать.
    Подобное никогда не повторялось

    Касательно leak от марта 17 года: была обнаружена ошибка в расширениях для Chrome, Firefox и Edge. Но любой, кто дорожит своими паролями, не станет пользоваться такими расширениями. Для меня, например, самоочевидно, что нельзя хранить пароли в браузерах, а также давать им прямой выход на хранилище паролей.

  • sir_t

    >>В качестве средства синхронизации был выбран BitTorrent Sync (теперь это Resilio Sync)
    ну уж спасибо, после всех их извращений с функциямиплатностью и переименованиями, уж лучше syncthing.

  • jockjoint

    Да ради Бога, я разве ж против. Пользуйтесь на здоровье, если нравится. Только имейте в виду, что информация, о которой вы сказали может быть, не точной, не полной, ложной.
    Я к тому, что все такие отговорки стоит принимать с некоторой долей скептицизма и я надеюсь вы понимаете почему.
    Если не понимаете, попробуйте углубиться в проблему кибер безопасности и почитайте Runion, например.

  • jockjoint

    Я так понял, там был сарказм. )

  • С браузерами проблема в том, что эти пароли между браузерами не синхронизируются. Ну и бонусом — есть пароли, банально не привязанные к браузерам.

  • За 1Password, кстати, постоянно платить не надо — все плюшки великолепно работают и без их облачного аккаунта

  • Aerolius

    Вскрыть файл с моими паролями не смогут ни злоумышленники, ни служба поддержки, никто (без мастер-пароля). А дополнения для браузеров, как и сами браузеры — это цифровой фронтир, принимающий на себя максимум атак из интернета. Поэтому хранить пароли в браузере нельзя, ни в каком виде.

    Что касается Runion и всего .onion в целом — официальный TOR браузер был несколько раз скомпрометирован для деанонимизации и привлечения к ответственности некоторых людей. Да, его можно собрать самостоятельно на базе актуальной версии Firefox, но это сложно.

  • С учётом того, что основной use case для LastPass — это, как раз, расширение браузера — как ещё вы предлагаете им пользоваться? Заходить каждый раз в хранилище через веб-интерфейс?

  • Denis Gorchakov

    Для iOS, к сожалению, нет нормальных клиентов KeePass от слова совсем. Страх и ужас в виде MiniKeePass или его клона с Touch в названии умеют автоматическую синхронизацию только по FTP или с Dropbox, соответственно каждая правка базы паролей — ручная синхронизация, импорт файла базы в программу тем или иным способом.

  • СЕРГЕИЧ_RETURNS

    При первой установке импортировать можно) А так в повседневной жизни, кроме, наверное, веб-разработчиков, мало кто использует больше одного браузера, да и один на всех устройствах удобней, те же пароли, закладки, история — все там, где надо…

  • jockjoint

    Терморектальный криптоанализ никто не отменял. ))
    Я ж не против, пользуйтесь чем хотите и как хотите, я же ведь сказал, что я совсем не против и даже убеждать меня совсем не обязательно. )
    Только не стоит переводить разговор из плоскости безопасности софта для сохранения/синхронизации паролей в плоскость компрометации тора, ибо это из несколько иной темы. Тор я помянул лишь для ориентира, где почитать про безопасность с точки зрения тех, кто эту безопасность нарушает, то есть, из первых уст, что называется.

  • jockjoint

    Вроде на андроиде не на надо, на маке мне предлагается купить, не?
    Давно не пользусь, мож поменялось что…

  • Aerolius

    Ну да. Это самый безопасный способ. Не критически важные пароли пусть запомнит браузер.
    Именно так пользуются KeePass, у него нет расширений для браузера. Насколько мне известно.

  • Aerolius

    Из первых уст можно понять, что ломается всё. Но сломать 256 bit шифрование файла с паролями, всё же, непросто. На это уйдет недели две постоянной работы специализированного ПК.

  • А разве MiniKeePass в связке с Resilio Sync не будет работать?

  • Denis Gorchakov

    Вручную будет, конечно. А автоматически как? Открывая KeePassDroid, я знаю, что он при старте подтянет с любого известного облака/сервера актуальную базу. А MiniKeePass увы

  • >> Открывая KeePassDroid, я знаю, что он при старте подтянет с любого известного облака/сервера актуальную базу.

    У меня открывается именно файл, синхронизированный через Resilio Sync. KeePassDroid считает, что это локальный файл.

  • Denis Gorchakov

    А MiniKeePass на iOS всасывает базу в себя, в своё хранилище. И если каждый раз открывать её из какого-то внешнего источника = импорт нового файла базы.

  • romanlt

    А в чем может быть проблема уровня безопасности, если хранить kbdx-файл на внешнем хранилище?
    Я лично много лет уже использую связку keepass+ЯД

  • jockjoint

    И снова перевод разговора в область беспредметного. )

  • TNT

    Юзаю Syncthing, лучше для синхронизации не удалось найти.

  • Бог Прошутто

    Его, вроде, надо перепокупать при каждом мажорном обновлении макоси. Ну во всяком случае раньше так было.

  • Владимир Гренадеров

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

  • Не указана киллер-фича Keepass — возможность привязки 2FA авторизации (в народе известной, как Google Authenticator).
    Устанавливается плагин KeeOTP, в него добавляется код двухфакторной авторизации и вуа-ля, не надо никуда лезть за телефончиком, всё в одном месте, надёжно защищенное мастер-паролем.
    Про танцы с бубном с локальной синхронизацией тоже непонятно зачем, открывается новый бесплатный аккаунт на любом облачном хранилище, туда заливается база и синхронизируется, кому интересно — по webDAV (мне понравился hidrive), кому попроще — через плагин KeeAnywhere можно добавить какой-нибудь дропбокс или что-то похожее.

  • Moscow

    SafeInCloud юзаю под всё есть

  • Если купить на сайте — да, мажорные версии платные.
    Если купить через App Store — нет, все обновления проходят бесплатно.

  • С учетом доставляемых неудобств (особенно с учетом того, какое юзабилити у веб-интерфейса LastPass) — уже проще перейти на KeePass (и там заморачиваться с синхронизацией).
    Даже у 1Password (с моей точки зрения — эталонной хранилки паролей с точки зрения юзабилити) веб-интерфейс проигрывает приложениям.

  • Lecron

    Кому как. На десктопе от Лисы отказываться не хочу. Тем более, всего лишь из-за менеджера паролей. А на Андроид-смарте, наибольший комфорт для чтения интернета, мне дает UC.

  • Alex

    Кстати, для KeePass есть несколько плагинов, которые позволяют пользоваться им в браузере ( точно есть расширения для Chrome, Opera, Firefox). Все они работают через плагин KeePassHttp. Можно найти на официальном сайте проекта

  • Nyckolay

    lastpass это всё умеет без этих костылей и велосипедов

  • Роман

    да как не синхронизируются то? в хроме менеджер паролей давно есть.

  • У меня на работе Chrome и Firefox, дома Safari (OS X) и Edge (Windows 10), на мобильных девайсах — мобильный Safari. Какой стандартный браузерный менеджер паролей вы посоветуете?

  • iBeginner6

    icloud keychain

  • goodhoopoe

    а вы статью читали или набросить только решили? нет windows, ubuntu, android.

  • iBeginner6

    первое и второе

  • goodhoopoe

    каким образом keychain работает на windows?
    как в keychain добавить рандомную запись, не ассоциированную ни с чем?

  • iBeginner6

    >> каким образом keychain работает на windows?

    никак. кросс платформенность — признак слабости.

    >> как в keychain добавить рандомную запись, не ассоциированную ни с чем?
    выбираешь категорию, а внизу есть кнопка +

  • Андрей

    Что за чушь? Все созданные компьютеры мира будут ломать 256 bit АES примерно за время, равное времени существования вселенной.

  • Антон Колмыков

    Нифига не удобнее. На ноутах использую Яндекс Браузер, а на смарте Opera — вот так мне удобнее

  • Андрей Шлеин

    А в гугл аккаунте пароли плохо хранить?

  • duott

    Много лет использую KeepassX, правда в связке с Dropbox (ну файл-то сам зашифрован) — на основной Linux Neon, на Windows, на Android.

  • klb3317

    Вот только бы если его не взломали…

  • klb3317

    Тем более, что Syncthing опенсорсный.

  • Кирилл

    Громадный респект автору и комментаторам за статью. Освоил syncthing, убрал базу данных с гугл диска. Спасибо! )

  • Kelolov

    Они перешли на подписку. Теперь сколько то там долларов в год и все апдейты.

  • Владимир Гренадеров

    Эта «киллиер-фича» есть в том же 1пассворде.

  • Рыж

    Keepass + dropbox работает, на android, fedora, винда, blackberry

  • Рыж

    Вопрос для пользователей ЯД. А на нем 2fa прикрутить можно без их яндекс ключа?