September 5th, 2019

Cat-light

Про BitWarden, или копрономика в IT #2

В качестве лабораторной работы по освоению Docker-а поднял у себя на своей личной виртуалке серверную часть BitWarden-а. Что я могу сказать-с по итогам...


  1. Без Docker-а всю эту мандулу, использующую "решето" (C#), TypeScript и MS SQL Server Express for Linux в одном флаконе, просто не развернуть. И в таком-то виде сказочно задолбаешься, а если каждый компонент по отдельности настраивать, так и вовсе помрешь.

  2. После установки запускается 10 (десять!) контейнеров. Соответственно, к ним столько же Overlay-ев. Которые прикольно замусоривают вывод "df -h".

  3. Добрый MS SQL сходу отожрал 770 мегабайт оперативной памяти (а-а-а-а-а, что ты делаешь, остановись!).

  4. Остальные контейнеры, так, по мелочи, по 10...70 мегабайт каждый. В сумме еще мегабайт на 300 где-то.

  5. Одна только пустая база с паролями заняла на диске 133 МБ. Это без учётов образов (image) Docker-а.

  6. А образы откушали ещё 6 (шесть!) гигабайт места на файловой системе.

Вы только вдумайтесь. Сраная сетевая паролехранилка. Гигабайт оперативки и шесть гигов дискового пространства в пустой, чистой инсталляции. А потом, конечно, им начинает не хватать вычислительных мощностей. Давайте ж значит теперь строить кластеры, организовывать распределение нагрузки, придумывать контейнеризаторы, системы развёртывания софта, вкорячивать мониторинг и нанимать DevOps-ов, чтобы всё это держали.

[Дальше идёт длинный кусок текста, вырезанный цензурой.]

Извините, я чего-то совсем уже перестал ориентироваться в этом вашем современном мире. Может, со временем, конечно, и привыкну...

Ах, да. Сам BitWarden живёт вот здесь. Кому хочется поковыряться, можете регистрироваться и пользоваться. Виртуалка в Польше, админю её я. Если сервис кому-то пригодится, могу его оставить там жить. Если кто-нибудь знает более легковесный аналог с клиентами под iOS, Android и FireFox, ткните меня носом пожалуйста. ИМХО, вот это вот — уже всё-таки перебор.

Cat-light

Ещё про менеджеры паролей

Поисследовал я ещё немного на тему хранения и синхронизации списка паролей между разными устройствами. Внезапно всё оказалось очень грустно.

Мои требования.


  1. OpenSource.

  2. Self-Hosted.

  3. Наличие приложений для iOS, Android, плагины для FireFox, Chrome.

  4. Прозрачная синхронизация между ними.

  5. Шифрование всей инфы, а не только паролей.

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

Ближе всего к тому, что мне хотелось бы, подходят следующие продукты.


  • BitWarden. Но какой же он, сцуко, тяжелый и жирный (смотри предыдущий псто). Склоняюсь к мысли, что я его всё-таки снесу на хрен с такими системными требованиями.

  • Как ни странно, самый обычный KeePass и его клоны типа KepassXC. Единственное неудобство заключается в том, что для синхронизации паролей с яблоками (iPhone, iPad), требуется каждый раз их подключать проводом к компу. Я в курсе про SyncPass, но реально он не работает.

  • Относительно молодой, но весьма интересный и перспективный проект под названием "PassBolt". Обещают до конца года запилить мобильные приложения. Посмотрим. Надо будет вспомнить про него попозже и поглядеть. Если действительно сделают, должно получиться очень круто. Жаль, его не существовало в те далекие времена, когда мы с коллегами коно****ись с TeamPass-ом (вот чего точно никому не посоветую).

  • Самое главное и ну совсем внезапное. Народ тупо хранит зашифрованные GPG-ой текстовые файлы и синхронизирует их между устройствами через Git. Причём под это дело написано какое-то огромное количество утилит, приложений и прочей обвязки на любой вкус. Unix-way, так сказать. Приложения под Android и iOS тоже есть. Настройка подо всё кроме винды совершенно не сложная. Больше инфы есть на сайте Passwordstore.org. Оттуда можно походить по ссылкам и посмотреть что как делается в зависимости от конкретной платформы.

Вот последний способ меня люто порадовал. Благодаря Git-у "из коробки" идёт даже "командная работа". Можно тупо создать отдельный репозиторий и расшарить его с тем, с кем считаешь нужным. Для удовлетворения паранойи репозиторий можно положить поверх eCryptFS. А синхронизация идёт поверх SSH, куда можно логиниться в том числе и SSH-ключами.

Единственное, как я уже упомянул, под виндой возникает некоторый трах-тибидох, связанный с настройкой и запуском GPG2-агента. А в остальном, всё то же самое.

Ещё беспокоит момент, что у меня, например, уже около 1000 разных паролей. Философия хранения рекомендует на каждый сервис заводить отдельную папочку, логин-пароль класть в один файлик, а сопутствующую инфу — в другой. Я вот думаю, файловой системе от такого плохо не станет? По идее, конечно, не должно. Еще плохо, что по понятным причинам нельзя проводить поиск по содержимому этих файлов. То есть, требуется очень аккуратно и вдумчиво придумывать имена файлам и папкам при их создании. И то, всё равно может оказаться неудобным. Потому что я, например, дюже привык в том же KeePass-е искать нужный пароль по комментариям.

Короче, буду пробовать постепенно переползать с KeePass-а на вот эту "убер-технологию". Посмотрим что из этого получится. Или не получится. Потом расскажу. Если доживу.