Всем привет! Я хочу запустить цикл статей с инструкциями которые помогут, отвязаться от сервисов и вернут вам контроль над вашими данными. Тут будут представлены opensource аналоги сервисов, которыми все мы пользуемся каждый день и утилиты для бекапа ваших данных из цепких лап вендоров. Я не ставлю цель 100% уйти на опенсорс и селфхостед, всё таки сервисы должны быть удобными и доступными. Поэтому это не только полноценные аналоги, иногда это будут утилиты для бекапов. Главное это удобство, бесплатность и контроль над своими данными.

https://pin.it/LdIa6jd
https://pin.it/LdIa6jd

Лирическое отступление

Говорят, люди не хотят поддерживать свои серверы. В большинстве своем, это наверное так, многие сервисы либо условно бесплатны, либо с небольшой платой для случаев частного использования. Всё, что нужно — это зарегистрироваться и начать пользоваться. Но не все так радужно, как может показаться на первый взгляд. Во первых, цифровой след — большинство сервисов активно использует ваш цифровой портрет и собирает о вас данные. Во вторых, ваши данные не принадлежат вам, сервис может изменить правила использования в любой момент и вы на это не можете никак повлиять. Например Google Photos, раньше для хранения фото с телефонов Google Pixel был безлимит на загрузку фото в оригинальном качестве, но в какой-то момент Google изменил правила и теперь безлимитное хранилище доступно только для загрузки фото в сжатом качестве. Ну и в конце концов, сервис может просто закрыться или доступ к нему могут заблокировать. В общем, никакой уверенности в том, что любимый сервис будет доступен и будет оставаться удобным. Переезжать с сервиса тоже не всегда удобно и возможно. Если после прочтения этого абзаца у вас появились опасения за свои данные, то давайте перейдем к практической части.

Платформа

  • PC\VPS\Raspberry PI

  • Linux

  • ~200mb RAM

  • Docker

  • Доступ в интернет

Настройка окружения

Здесь и далее приведены примеры на ubuntu 20

Обновляем пакеты

sudo apt update
sudo apt upgrade

Настраиваем Firewall

sudo ufw allow https
sudo ufw allow http
sudo ufw allow ssh
yes | sudo ufw enable

Bit Warden

В качестве менеджера паролей будет использоваться Bit Warden. Он отлично выполняет свою основную функцию. Также присутствует мобильное приложение с автозаполнением. И дополнительные инструменты, которые помогут найти слабые пароли и сгенерировать новые и использовать как аутентификатор для 2fa. Всё это обернуто в современный интерфейс.

Канонический Bit Warden довольно громоздкий для домашнего использования, но есть альтернативное компактное решение Vault Warden https://github.com/dani-garcia/vaultwarden давайте его и развернем.

Установка докера

sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
sudo apt install docker-ce

Запуск VW

docker pull vaultwarden/server:latest
sudo docker run -d -v $HOME/vw-data:/data/ -p 9565:80 vaultwarden/server:latest

Nginx

установка

sudo apt install nginx-full

Настройка nginx

Нужно расположить конфиг по следующему пути

sudo nano /etc/nginx/sites-enabled/vw

Конфиг-файл

server {
  server_name 192.168.1.80; # your host name
  location / {
    proxy_pass http://localhost:9565;
  }
}
sudo service nginx reload

Готово, на этом моменте вы можете открыть VW по ссылке http://192.168.1.80

Также доступно официальное мобильное приложение Bit Warden на android и ios, нужно только указать ваш сервер.

ssl

Для получения сертификата можно воспользоваться certbot https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal

sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
sudo certbot --nginx

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

Перенос сохраненных паролей из Google Chrome

В Chrome

  1. Откройте chrome://settings/passwords

  2. Нажмите на три точки и выберите Экспорт Паролей

  3. Cохраните файл

Зайдите в Vault Warden

  1. Инструменты -> Импорт данных

  2. Выберите формат Chrome (CSV)

  3. Нажмите кнопку Импорт данных

Итоги

  • Инстанс Vault Warden

  • Бесплатный премиум доступ для нескольких пользователей

  • Ваши данные хранятся у вас

  • Вы не привязаны к вашему сервису с паролями, можете комфортно использовать в любых браузерах и смартфонах на любой платформе

Комментарии (44)


  1. aik
    12.03.2022 02:42
    +1

    Для руления доступом к докерам и сертификатами всё же лучше поставить тот же nginx proxy manager. Очень простая и удобная штука.

    Ну и не забывайте про бэкапы сервера.


    1. viktar1 Автор
      12.03.2022 03:07

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

      Бэкапы это да, обязательно нужно их делать, на домашнем сервере рейд настроен. Железка конечно шумит, но автономность радует.


      1. aik
        12.03.2022 03:11
        +10

        Raid — это не бэкапы!


        1. viktar1 Автор
          12.03.2022 03:29
          -9

          Маловероятно что два диска одновременно выйдут из строя. Так что за сохранность данных я спокоен.


          1. aik
            12.03.2022 03:38
            +14

            Знаменитые последние слова.
            Есть куча способов потерять информацию при стопроцентно рабочем оборудовании.


            1. ladle
              12.03.2022 11:15
              +2

              Извините, случайно нажал минус. В компенсацию добавил плюс в карму.


          1. nochkin
            12.03.2022 07:21
            +4

            Сильный скачок напряжения и последующий выход из строя компонентов, которые к нему подключены -- вот, например, один из немногих сценариев когда два диска одновременно могут уйти к MFM/RLL прадедам.

            А ещё можно данные удалить самому случайно. Вот второй сценарий.

            RAID -- это не бекап, верно сказано.


            1. tictac17
              12.03.2022 11:57

              Жаль, что до сих пор "проскакивает" фраза "RAID - это не бэкап". За годы существования технологии, ИМХО, каждый причастный уже должен был это выучить наизусть и никогда, никогда не считать RAID сколь-нибудь смахивающим на бэкап решением! Только отказоустойчивость/бесперебойность/производительность, не более!


              1. aik
                12.03.2022 13:47

                Так это для нубов и чайников фраза.


          1. tictac17
            12.03.2022 11:53
            +2

            Я на практике видел, как одновременно умерло 10 дисков. За секунду, какое-то мгновение. Как это произошло? Человеческий фактор и отсутствие четкого стандарта на отстегивающиеся кабели блоков питания. У старого и нового БП была разная распиновка. Новый БП - старые кабели. Вместо 5 вольт на электронику диска пришло 12, она и сгорела. Часть дисков я потом помог восстановить, в них сгорели лишь супрессоры и предохранители, но часть так и осталась лежать со сгоревшими контроллерами. Лично я с новым БП поставил бы и родные кабели, но кто-то так не делает, как оказалось.


  1. Wyrd
    12.03.2022 02:43
    +11

    Как-то сложно. Чем вас не устраивает KeePass?

    • Полностью автономный (зашифрованные базы паролей можно хранить у себя лично)

    • Поддержка на большинстве платформ (приложения разные, база паролей одна)

    • Если очень хочется можно синхронизировать базу паролей через клауд (например, через DropBox)

    • Если стремно/не по политикам вливать данные в клауд - можно хранить в локальных файлах и синхронизировать через WiFI (или любым другим способом). Например, используя cron таски в известных сетях

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

    По умолчанию KeePass шифрует базу используя AES-256, что является общепризнанным стандартом


    1. viktar1 Автор
      12.03.2022 03:12
      +2

      Да, согласен keepass по функционалу закрывает все потребности. Выбор пал на vw чисто субъективно из-за интерфейса


    1. aik
      12.03.2022 03:16

      Я keepass пробовал пару-тройку раз, но он мне был неудобен в использовании.
      Bitwarden сильно проще. Поставил сервер, поставил плагины в браузеры — и всё, больше ни про что не надо думать — как гонять файл с паролями, как обеспечивать доступ нескольким пользователям и т.п.


      1. Wyrd
        12.03.2022 03:32
        +2

        Нуу… так всегда :) чем меньше безопасности, тем больше удобства :)

        Возьмите, хотя бы наличие сервера. У кипасс сервера нету. Нет сервера - нечего ломать :)


        1. aik
          12.03.2022 03:36

          А ещё можно вообще от интернета отключиться — тогда никакие хакеры не пролезут.


          1. Wyrd
            12.03.2022 03:41

            Так точно, именно поэтому те же ядерные установки (включая мирные) отключают от сети.

            Это не значит что вы должны поступать так же, тем не менее это не повод выставлять наружу (или в DMZ) дополнительный вектор атаки в виде парольного менеджера. Зависит от ваших требований к безопасности, конечно.


            1. aik
              12.03.2022 08:46
              +1

              А чем выставленный наружу парольный менеджер отличается от выставленного наружу облака, в котором лежит файл с паролями?

              Я, конечно, тоже местами параноик, но всё равно, в борьбе удобства и максимальной безопасности я выбираю удобство. При сохранении приемлемого уровня безопасности, само собой. И уровень безопасности битвордена мне кажется вполне достаточным «для дома для семьи».
              Считаю, что от случайной атаки он вполне защитит, особенно если включить двухфакторную аутентификацию (пока не включил, но думаю про Authy).


              1. anmipo
                12.03.2022 12:51

                А чем выставленный наружу парольный менеджер отличается от выставленного наружу облака, в котором лежит файл с паролями?

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


                1. aik
                  12.03.2022 12:58

                  Ну так битварден тоже у себя всё зашифрованным хранит. И пароль — если он у вас не 123 — подобрать будет не дешевле, чем к кипассу.


    1. Devoter
      12.03.2022 07:42
      -2

      У keepass две основные проблемы, которые не позволили перейти на него:

      1. Разношерстные клиенты под разные платформы (Linux, Windows, браузеры, Android, iOS, и да, мне нужны все)

      2. С синхронизацией все плохо: если добавить запись на одном устройстве оффлайн, а потом на другом - то базы уже не синхронизировать, bitwarden хотя бы честно говорит, что нельзя добавить запись оффлайн.


      1. Aquahawk
        12.03.2022 08:12
        +2

        Базы синкаются в один клик превосходно. Оно хранит время изменения каждой записи, и для паролей как раз всегда есть понятная политика, последний по времени актуален. Поэтому всё идеально просто работает. Пользуюсь скоро 10 лет как.


    1. skymal4ik
      12.03.2022 11:08

      Хочу перейти с keepassx на bitwarden из-за проблем синхронизации файлов keepassx.

      Где-то инета не было когда сохранял файл, где-то клиент остался открытым и из-за лок-файла не сохранить новый пароль в другом месте. Где-то с другим пользователем начал одновременно редактировать его…

      Пока файл keepass один, пользователь один, и пару клиентов, то всё ок. Как только несколько файлов, несколько устройств и несколько пользователей, то вылезает куча проблем.


      1. Aquahawk
        12.03.2022 12:12
        +1

        Обычный keepass 2.x умеет синкать базы, а также имеет опцию сохранить базу после любого редактирования. Также есть опция всегда синкать а не перетирать. Обе отключены по умолчанию, но если их включить, а использование лок файла и так уже вырублено по умолчанию, что и вам советую, и получается прекрасно, просто редактируйте и всё работает, использую с кучи мест. Если конечно у вас apple то там вроде хуже с клиентами.


        1. skymal4ik
          12.03.2022 13:05

          Даже не догадывался! Проверю позже и настрою, благодарю за полезную информацию!


      1. thousandsofthem
        12.03.2022 16:42

        KeePassXC - современный форк keepassx, прекрасно работающий на маке, и с синхронизацией там все отлично


        1. mrBarabas
          12.03.2022 20:12

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


    1. InfinityMe
      12.03.2022 11:54
      -1

      KeePass не работает нормально на macOS и iOS, хорошее официальное приложение только под Windows.



      1. Reaver
        12.03.2022 13:22
        +1

        KeePassium - для iOS


      1. thousandsofthem
        12.03.2022 16:43
        +1

        KeePassXC для мака.


    1. vikarti
      12.03.2022 13:42

      Бардак с клиентами.
      Невозможность (на найденом browser extension, вроде это tusk был) нормально кэшировать авторизацию (вводи по новой далеко не только пароль) и это подана как фича, сохранение пароля нового из web extension — ни ни
      Тупизм с Autofill на андроиде. Он работает… странно.
      Еще больший тупизм с Autofill на андроиде в режиме DeX.
      Синхронизация методом — вот вам файлы, любитесь как хотите… смущает. особенно когда один файл не текстового формата. Был уже неприятный опыт с другими приложениями.
      Все это тестировалось в 2016 году правда. После сюрпризов LastPass'а, после некоторого периода с Dashlane(там свои проблемы) в итоге Bitwarden был выбран.
      За заявленную опенсорсность и совместимость.
      На VaultWarden все сегодня переехало за пару часов (пришлось только экспорт-файл лить по частям)


      1. aik
        12.03.2022 17:27

        Тупизм с Autofill на андроиде. Он работает… странно.

        Ради справедливости — у битвордена мне автозаполнение так и не получилось заставить нормально работать. Если в какой-то форме и вылазит его приглашение, то по нажатию просто перекидывает в клиент.


    1. kurvimetr
      14.03.2022 08:27

      +1, сам давно пользую, вещь удобная, особенно тем, что можно хранить не только пароли, но и различные нужные записи. Хранил базы паролей на гугле, а как на хонор перешел - перетащил в яндекс. С длинным мастер-паролем на облаках хранить нестрашно. Из дополнительной фичи отмечу, что из-под винды можно в настройках задействовать ввод пароля через окно uac. Более безопасно против кейлоггеров и всяких принтскринеров. Ну и плюсом то, что на телефоне оно еще удобнее, чем на компе) Ещинственное, под линуксом некоторые плагины (к примеру, для гуглосинхронизации) требуют net framework, который лично я пока не разобрался, можно ли воткнуть.


      1. andreymal
        14.03.2022 13:14

        Справедливости ради, bitwarden тоже позволяет делать записи


  1. 4eburashk
    13.03.2022 18:38
    +1

    "Цифровая свобода" и docker, Google Pixel, chrome, github, dropbox...
    Ща мы тут смузи хлебнём и натыкаем мышкой очередной сервис, даже не поняв что делаем.
    Неужели действительно девопсерство настолько влияет на саму способность думать?
    Чебурнет действительно необходим. Хотябы на время, чтоб понять что такое локальная машина, что такое сеть, что такое "без гуглов", "без stackoverfow","без облачков" .

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


    1. aik
      13.03.2022 18:42

      Ща мы тут смузи хлебнём и натыкаем мышкой очередной сервис, даже не поняв что делаем.

      К сожалению, иначе сегодня многое не запустить. Либо бери контейнер, либо вот тебе кучамусора, из которой надо попытаться собрать рабочий продукт. На инструкции по развёртыванию программ на живом железе многие разработчики забивают.


      1. 4eburashk
        13.03.2022 19:06
        +1

        Если посмотреть что было "до": Сохранённые в хроме пароли.
        т.е. доступ имел юзер, гугл, хром и все партнёры и заказчики гугла и хрома. Но на ответственности и репутации гугла и хрома.
        Что стало "после": Пароли теперь зависят от дырявого докера, добропорядочности малоизвестного проекта на гитхабе с неизвестными разработчиками, добропорядочности авторов всех используемых проектом vw библиотек, зависят от поддержки https сертификата, работоспособности rpi, помимо сети доступов и т.д. При всём при том, что гугель итак получит доступ ко всем вашим паролям. (а заодно где, с кем, когда были, что делали, и т.д.)
        Может всё-же разобраться локально со своими паролями, не раскидывая их по сети всем желающим?
        Больше похоже на выстрел себе в ногу, Вам не кажется?


        1. aik
          14.03.2022 08:36

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

          И весь софт в системе, который мог почитать хромовский профиль.
          Пароли теперь зависят от дырявого докера

          Он дырявый?
          обропорядочности малоизвестного проекта на гитхабе с неизвестными разработчиками, добропорядочности авторов всех используемых проектом vw библиотек, зависят от поддержки https сертификата, работоспособности rpi, помимо сети доступов

          В любом случае вы кому-то доверяете. Не хотите доверять — есть ручка и блокнот.


      1. Borz
        13.03.2022 19:50

        что мешает посмотреть на содержимое Dockerfile и воспроизвести на живом железе? Ну, кроме лени, конечно же...


        1. aik
          14.03.2022 08:32

          Отсутствие навыков?
          Я, к примеру, могу воспроизвести пошаговую инструкцию по установке — даже примерно понимая, что там происходит. Но вот скачать контейнер и разобраться, что он там делает, потребует сильно больше усилий.


  1. senglory
    13.03.2022 20:27

    Интересно , а какая есть опен-сорсная замена Roboform? В упор не найду ничего, что также встраивалось бы в броузеры и заполняло сохраненные ранее формы по одному клику (а не только логины с паролями)


    1. aik
      14.03.2022 08:38

      Ну вот у битвордена есть хранение личной информации — всякое там имя-отчество и т.п. Хотя я не пробовал.


      1. werpo
        14.03.2022 13:22

        А он может как Roboform сдампить все поля ввода на странице сам и сохранить их как пасскарту?


        1. aik
          14.03.2022 13:38

          Вроде нет.
          Но я видел аддоны для браузеров, которые что-то подобное делают.
          addons.mozilla.org/en-US/firefox/addon/autoformer
          addons.mozilla.org/ru/firefox/addon/autofill-quantum

          Но сам не пробовал — это не самая востребованная среди меня функция.