Всем привет! Я хочу запустить цикл статей с инструкциями которые помогут, отвязаться от сервисов и вернут вам контроль над вашими данными. Тут будут представлены opensource аналоги сервисов, которыми все мы пользуемся каждый день и утилиты для бекапа ваших данных из цепких лап вендоров. Я не ставлю цель 100% уйти на опенсорс и селфхостед, всё таки сервисы должны быть удобными и доступными. Поэтому это не только полноценные аналоги, иногда это будут утилиты для бекапов. Главное это удобство, бесплатность и контроль над своими данными.
Лирическое отступление
Говорят, люди не хотят поддерживать свои серверы. В большинстве своем, это наверное так, многие сервисы либо условно бесплатны, либо с небольшой платой для случаев частного использования. Всё, что нужно — это зарегистрироваться и начать пользоваться. Но не все так радужно, как может показаться на первый взгляд. Во первых, цифровой след — большинство сервисов активно использует ваш цифровой портрет и собирает о вас данные. Во вторых, ваши данные не принадлежат вам, сервис может изменить правила использования в любой момент и вы на это не можете никак повлиять. Например 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
Откройте chrome://settings/passwords
Нажмите на три точки и выберите Экспорт Паролей
Cохраните файл
Зайдите в Vault Warden
Инструменты -> Импорт данных
Выберите формат Chrome (CSV)
Нажмите кнопку Импорт данных
Итоги
Инстанс Vault Warden
Бесплатный премиум доступ для нескольких пользователей
Ваши данные хранятся у вас
Вы не привязаны к вашему сервису с паролями, можете комфортно использовать в любых браузерах и смартфонах на любой платформе
Комментарии (44)
Wyrd
12.03.2022 02:43+11Как-то сложно. Чем вас не устраивает KeePass?
Полностью автономный (зашифрованные базы паролей можно хранить у себя лично)
Поддержка на большинстве платформ (приложения разные, база паролей одна)
Если очень хочется можно синхронизировать базу паролей через клауд (например, через DropBox)
Если стремно/не по политикам вливать данные в клауд - можно хранить в локальных файлах и синхронизировать через WiFI (или любым другим способом). Например, используя cron таски в известных сетях
Куча настроек для автовввода и автодополнения. На виндовс, мак ос т ай ос точно работает. В винде можно создавать шорткаты, которые, к примеру, могут создавать RDP сессию с указанным логин/паролем (в других системах я это делать не пробовал)
По умолчанию KeePass шифрует базу используя AES-256, что является общепризнанным стандартом
viktar1 Автор
12.03.2022 03:12+2Да, согласен keepass по функционалу закрывает все потребности. Выбор пал на vw чисто субъективно из-за интерфейса
aik
12.03.2022 03:16Я keepass пробовал пару-тройку раз, но он мне был неудобен в использовании.
Bitwarden сильно проще. Поставил сервер, поставил плагины в браузеры — и всё, больше ни про что не надо думать — как гонять файл с паролями, как обеспечивать доступ нескольким пользователям и т.п.Wyrd
12.03.2022 03:32+2Нуу… так всегда :) чем меньше безопасности, тем больше удобства :)
Возьмите, хотя бы наличие сервера. У кипасс сервера нету. Нет сервера - нечего ломать :)
aik
12.03.2022 03:36А ещё можно вообще от интернета отключиться — тогда никакие хакеры не пролезут.
Wyrd
12.03.2022 03:41Так точно, именно поэтому те же ядерные установки (включая мирные) отключают от сети.
Это не значит что вы должны поступать так же, тем не менее это не повод выставлять наружу (или в DMZ) дополнительный вектор атаки в виде парольного менеджера. Зависит от ваших требований к безопасности, конечно.
aik
12.03.2022 08:46+1А чем выставленный наружу парольный менеджер отличается от выставленного наружу облака, в котором лежит файл с паролями?
Я, конечно, тоже местами параноик, но всё равно, в борьбе удобства и максимальной безопасности я выбираю удобство. При сохранении приемлемого уровня безопасности, само собой. И уровень безопасности битвордена мне кажется вполне достаточным «для дома для семьи».
Считаю, что от случайной атаки он вполне защитит, особенно если включить двухфакторную аутентификацию (пока не включил, но думаю про Authy).anmipo
12.03.2022 12:51А чем выставленный наружу парольный менеджер отличается от выставленного наружу облака, в котором лежит файл с паролями?
Тем, что в случае взлома облачный парольный менеджер потенциально начинает работать против вас. Тогда как утёкшая база с паролями — это зашифрованный набор байт, совершенно бесполезный без мастер-ключа.
aik
12.03.2022 12:58Ну так битварден тоже у себя всё зашифрованным хранит. И пароль — если он у вас не 123 — подобрать будет не дешевле, чем к кипассу.
Devoter
12.03.2022 07:42-2У keepass две основные проблемы, которые не позволили перейти на него:
Разношерстные клиенты под разные платформы (Linux, Windows, браузеры, Android, iOS, и да, мне нужны все)
С синхронизацией все плохо: если добавить запись на одном устройстве оффлайн, а потом на другом - то базы уже не синхронизировать, bitwarden хотя бы честно говорит, что нельзя добавить запись оффлайн.
Aquahawk
12.03.2022 08:12+2Базы синкаются в один клик превосходно. Оно хранит время изменения каждой записи, и для паролей как раз всегда есть понятная политика, последний по времени актуален. Поэтому всё идеально просто работает. Пользуюсь скоро 10 лет как.
skymal4ik
12.03.2022 11:08Хочу перейти с keepassx на bitwarden из-за проблем синхронизации файлов keepassx.
Где-то инета не было когда сохранял файл, где-то клиент остался открытым и из-за лок-файла не сохранить новый пароль в другом месте. Где-то с другим пользователем начал одновременно редактировать его…
Пока файл keepass один, пользователь один, и пару клиентов, то всё ок. Как только несколько файлов, несколько устройств и несколько пользователей, то вылезает куча проблем.
Aquahawk
12.03.2022 12:12+1Обычный keepass 2.x умеет синкать базы, а также имеет опцию сохранить базу после любого редактирования. Также есть опция всегда синкать а не перетирать. Обе отключены по умолчанию, но если их включить, а использование лок файла и так уже вырублено по умолчанию, что и вам советую, и получается прекрасно, просто редактируйте и всё работает, использую с кучи мест. Если конечно у вас apple то там вроде хуже с клиентами.
skymal4ik
12.03.2022 13:05Даже не догадывался! Проверю позже и настрою, благодарю за полезную информацию!
thousandsofthem
12.03.2022 16:42KeePassXC - современный форк keepassx, прекрасно работающий на маке, и с синхронизацией там все отлично
mrBarabas
12.03.2022 20:12Полностью согласен, как перешёл на него - нарадоваться не могу, ниже про клиенты на айос писали, там тоже все можно и найти и нормально все работает с одной и той же базе. У меня на дропбоксе лежит база, откуда ее открываю и на маке и на вин и на айос, из минусов - значки в клиентах разные по умолчанию (сарказм офф, хотя значки действительно разные по умолчанию)
InfinityMe
12.03.2022 11:54-1KeePass не работает нормально на macOS и iOS, хорошее официальное приложение только под Windows.
Wyrd
12.03.2022 12:03+1
vikarti
12.03.2022 13:42Бардак с клиентами.
Невозможность (на найденом browser extension, вроде это tusk был) нормально кэшировать авторизацию (вводи по новой далеко не только пароль) и это подана как фича, сохранение пароля нового из web extension — ни ни
Тупизм с Autofill на андроиде. Он работает… странно.
Еще больший тупизм с Autofill на андроиде в режиме DeX.
Синхронизация методом — вот вам файлы, любитесь как хотите… смущает. особенно когда один файл не текстового формата. Был уже неприятный опыт с другими приложениями.
Все это тестировалось в 2016 году правда. После сюрпризов LastPass'а, после некоторого периода с Dashlane(там свои проблемы) в итоге Bitwarden был выбран.
За заявленную опенсорсность и совместимость.
На VaultWarden все сегодня переехало за пару часов (пришлось только экспорт-файл лить по частям)aik
12.03.2022 17:27Тупизм с Autofill на андроиде. Он работает… странно.
Ради справедливости — у битвордена мне автозаполнение так и не получилось заставить нормально работать. Если в какой-то форме и вылазит его приглашение, то по нажатию просто перекидывает в клиент.
kurvimetr
14.03.2022 08:27+1, сам давно пользую, вещь удобная, особенно тем, что можно хранить не только пароли, но и различные нужные записи. Хранил базы паролей на гугле, а как на хонор перешел - перетащил в яндекс. С длинным мастер-паролем на облаках хранить нестрашно. Из дополнительной фичи отмечу, что из-под винды можно в настройках задействовать ввод пароля через окно uac. Более безопасно против кейлоггеров и всяких принтскринеров. Ну и плюсом то, что на телефоне оно еще удобнее, чем на компе) Ещинственное, под линуксом некоторые плагины (к примеру, для гуглосинхронизации) требуют net framework, который лично я пока не разобрался, можно ли воткнуть.
4eburashk
13.03.2022 18:38+1"Цифровая свобода" и docker, Google Pixel, chrome, github, dropbox...
Ща мы тут смузи хлебнём и натыкаем мышкой очередной сервис, даже не поняв что делаем.
Неужели действительно девопсерство настолько влияет на саму способность думать?
Чебурнет действительно необходим. Хотябы на время, чтоб понять что такое локальная машина, что такое сеть, что такое "без гуглов", "без stackoverfow","без облачков" .
Любое что лезет в "неваше облако" - уже не ваше. А "неваше облако" любое, что физически не ваше. Любой код, работу которого вы не понимаете - может оказаться миной замедленного действия.aik
13.03.2022 18:42Ща мы тут смузи хлебнём и натыкаем мышкой очередной сервис, даже не поняв что делаем.
К сожалению, иначе сегодня многое не запустить. Либо бери контейнер, либо вот тебе кучамусора, из которой надо попытаться собрать рабочий продукт. На инструкции по развёртыванию программ на живом железе многие разработчики забивают.4eburashk
13.03.2022 19:06+1Если посмотреть что было "до": Сохранённые в хроме пароли.
т.е. доступ имел юзер, гугл, хром и все партнёры и заказчики гугла и хрома. Но на ответственности и репутации гугла и хрома.
Что стало "после": Пароли теперь зависят от дырявого докера, добропорядочности малоизвестного проекта на гитхабе с неизвестными разработчиками, добропорядочности авторов всех используемых проектом vw библиотек, зависят от поддержки https сертификата, работоспособности rpi, помимо сети доступов и т.д. При всём при том, что гугель итак получит доступ ко всем вашим паролям. (а заодно где, с кем, когда были, что делали, и т.д.)
Может всё-же разобраться локально со своими паролями, не раскидывая их по сети всем желающим?
Больше похоже на выстрел себе в ногу, Вам не кажется?aik
14.03.2022 08:36т.е. доступ имел юзер, гугл, хром и все партнёры и заказчики гугла и хрома
И весь софт в системе, который мог почитать хромовский профиль.Пароли теперь зависят от дырявого докера
Он дырявый?обропорядочности малоизвестного проекта на гитхабе с неизвестными разработчиками, добропорядочности авторов всех используемых проектом vw библиотек, зависят от поддержки https сертификата, работоспособности rpi, помимо сети доступов
В любом случае вы кому-то доверяете. Не хотите доверять — есть ручка и блокнот.
Borz
13.03.2022 19:50что мешает посмотреть на содержимое Dockerfile и воспроизвести на живом железе? Ну, кроме лени, конечно же...
aik
14.03.2022 08:32Отсутствие навыков?
Я, к примеру, могу воспроизвести пошаговую инструкцию по установке — даже примерно понимая, что там происходит. Но вот скачать контейнер и разобраться, что он там делает, потребует сильно больше усилий.
senglory
13.03.2022 20:27Интересно , а какая есть опен-сорсная замена Roboform? В упор не найду ничего, что также встраивалось бы в броузеры и заполняло сохраненные ранее формы по одному клику (а не только логины с паролями)
aik
14.03.2022 08:38Ну вот у битвордена есть хранение личной информации — всякое там имя-отчество и т.п. Хотя я не пробовал.
werpo
14.03.2022 13:22А он может как Roboform сдампить все поля ввода на странице сам и сохранить их как пасскарту?
aik
14.03.2022 13:38Вроде нет.
Но я видел аддоны для браузеров, которые что-то подобное делают.
addons.mozilla.org/en-US/firefox/addon/autoformer
addons.mozilla.org/ru/firefox/addon/autofill-quantum
Но сам не пробовал — это не самая востребованная среди меня функция.
aik
Для руления доступом к докерам и сертификатами всё же лучше поставить тот же nginx proxy manager. Очень простая и удобная штука.
Ну и не забывайте про бэкапы сервера.
viktar1 Автор
Не слышал про него спасибо, надо будет попробовать применить.
Бэкапы это да, обязательно нужно их делать, на домашнем сервере рейд настроен. Железка конечно шумит, но автономность радует.
aik
Raid — это не бэкапы!
viktar1 Автор
Маловероятно что два диска одновременно выйдут из строя. Так что за сохранность данных я спокоен.
aik
Знаменитые последние слова.
Есть куча способов потерять информацию при стопроцентно рабочем оборудовании.
ladle
Извините, случайно нажал минус. В компенсацию добавил плюс в карму.
nochkin
Сильный скачок напряжения и последующий выход из строя компонентов, которые к нему подключены -- вот, например, один из немногих сценариев когда два диска одновременно могут уйти к MFM/RLL прадедам.
А ещё можно данные удалить самому случайно. Вот второй сценарий.
RAID -- это не бекап, верно сказано.
tictac17
Жаль, что до сих пор "проскакивает" фраза "RAID - это не бэкап". За годы существования технологии, ИМХО, каждый причастный уже должен был это выучить наизусть и никогда, никогда не считать RAID сколь-нибудь смахивающим на бэкап решением! Только отказоустойчивость/бесперебойность/производительность, не более!
aik
Так это для нубов и чайников фраза.
tictac17
Я на практике видел, как одновременно умерло 10 дисков. За секунду, какое-то мгновение. Как это произошло? Человеческий фактор и отсутствие четкого стандарта на отстегивающиеся кабели блоков питания. У старого и нового БП была разная распиновка. Новый БП - старые кабели. Вместо 5 вольт на электронику диска пришло 12, она и сгорела. Часть дисков я потом помог восстановить, в них сгорели лишь супрессоры и предохранители, но часть так и осталась лежать со сгоревшими контроллерами. Лично я с новым БП поставил бы и родные кабели, но кто-то так не делает, как оказалось.