[Информационная безопасность, Open source, Системное администрирование, Софт] Хостим Bitwarden — open-source менеджер паролей
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему.
Каким должен быть идеальный менеджер паролей?
- Разумеется, безопасным. Нельзя даже рассматривать не-опенсорсные варианты, ведь предназначение любого закрытого кода это сливать ваши данные или внедрять всякие неприятные штуки в систему. И пароли — лучшее место, чтобы дать волю паранойе, поэтому отметаем непопулярные продукты и форки, если нет желания читать все исходники целиком и собирать проект из исходников.
- Второй очевидный и обязательный аспект безопасности — шифрование. Было бы глупо настроить супер-секьюрную систему на сервере и потерять пароли из-за MITMа злоумышленника или провайдера.
- Бывает, что нужно хранить не только пароли. Важная и чувствительная информация может быть представлена в виде текста (например, токены), и этот текст должно быть удобно хранить в менеджере.
- Любые данные могут использоваться несколькими людьми. Например, любые чувствительные данные, относящиеся к IT-инфраструктуре бизнеса, не могут быть доступны одному конкретному админу. Отсюда вытекает необходимость делиться защищёнными данными с несколькими аккаунтами в организации.
- Особенно важный пункт для лично использования: кроссплатформенность. Мы используем одни и те же аккаунты с разных устройств, и в идеале менеджер паролей должен работать на всех возможных платформах и в как можно большем количестве браузеров и приложений.
- Также для self-hosted хранилища нужно делать регулярные бекапы. И вообще было бы неплохо, чтобы вся система устанавливалась без лишнего геморроя. В конце концов, не все мы красноглазые героические админы и девопсы.
Обычно у айтишников (особенно, у повёрнутых на безопасности) возникают и более детальные, личные требования. Я привёл лишь те, которые кажутся мне самыми распространёнными и важными. И, конечно, Bitwarden удовлетворяет им всем, иначе я бы нашёл вариант получше. Вообще у него есть и сервисная часть, и даже платные планы, но базового функционала бесплатного плана нам вполне хватит. При этом self-hosted версия вообще никак не связана с серверами bitwarden.com (исходный код которых также открыт и проходит регулярные аудиты безопасности).
Разворачиваем свой инстанс
Bitwarden распространяется в виде пачки Docker-контейнеров и многофункционального скрипта для установки, настройки и управления инстансом. Всё работает из коробки, кроме одного — для подтверждения регистрации аккаунта сервер должен отправить email на указанный адрес. Кроме того, для доступа к админ-панели на электропочту админа отправляется временная ссылка для входа, поэтому помимо основной установки нам потребуется настроенный email-сервер. Почтовых серверов очень много, как и мануалов по их установке, останавливаться на их выборе я не буду — подойдёт любой send-only или полноценный вариант. Мне понравилось пользоваться docker-mailserver, в котором всё работает практически из коробки, поэтому для меня итоговая схема выглядит так:
Подготовка
В первую очередь нам понадобится docker и docker-compose:
#Docker engine
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
#Docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Затем, чтобы не работать из-под рута, создадим пользователя bitwarden и продолжим работу под ним:
sudo adduser bitwarden
sudo passwd bitwarden
Создадим группу docker, если она ещё не существует, и добавим в неё пользователя:
sudo groupadd docker
sudo usermod -aG docker bitwarden
Создадим рабочую директорию для bitwarden:
sudo mkdir /opt/bitwarden
sudo chmod -R 700 /opt/bitwarden
sudo chown -R bitwarden:bitwarden /opt/bitwarden
Установка
Скачаем и запустим установочный скрипт:
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh \
&& chmod 700 bitwarden.sh
./bitwarden.sh install
Заполняем поля в установщике:
- В качестве доменного имени можно указать любой адрес или домен, но в качестве стандарта принято использовать bitwarden.yourdomain.tld.
- Можно использовать как существующий SSL-сертификат, так и сгенерировать новый, самоподписанный. На втором шаге будет предложено использовать Let's Encrypt.
- Дальше установщик запросит id и ключ установки. Их нужно получить на bitwarden.com/host, указав контактный email (подтверждение не требуется).
Вскоре на указанном домене будет создан и запущен работающий инстанс Bitwarden, но нам ещё нужно настроить почту. Устанавливаем и конфигурируем почтовый сервер, затем отправляемся редактировать файл /opt/bitwarden/bwdata/env/global.override.env (с заменой всех плейсхолдеров, разумеется):
globalSettings__mail__replyToEmail=no-reply@bitwarden.yourdomain.tld
globalSettings__mail__smtp__host=smtp.example.com
globalSettings__mail__smtp__username=root_email_username
globalSettings__mail__smtp__password=p@ssword
globalSettings__mail__smtp__ssl=true
globalSettings__mail__smtp__port=587
globalSettings__mail__smtp__useDefaultCredentials=false
adminSettings__admins=admin_email_username@example.com
После любых изменений в конфигах нужно пересобрать сервис:
./bitwarden.sh rebuild
Использование
Теперь всё готово к работе с менеджером и можно отправляться в веб-интерфейс регистрироваться. После регистрации нас сразу пустит в рабочую панель, но для синхронизации данных между устройствами нужно будет подтвердить email:
После подтверждения аккаунт становится доступен для входа с других устройств. Во всех клиентах Bitwarden (десктопные и мобильные приложения, веб-интерфейсы, расширения) есть кнопка настроек в углу, где мы указываем адрес нашего инстанса:
Бэкапы
Вариантов настройки бэкапов много, но как минимум нам надо сохранять всё содержимое папки /opt/bitwarden/bwdata. При этом Bitwarden сам ежедневно бэкапит содержимое ./bwdata/mssql/data, где хранится база данных. Для восстановления данных нужно вытащить пароль к бд из global.override.env (значение в строке globalSettings__sqlServer__connectionString=...Password=), подключиться к контейнеру bitwarden-mssql и найти нужный файл для бэкапа (по дате в названии):
docker exec -it bitwarden-mssql /bin/bash
Запускаем sqlcmd:
/opt/mssql-tools/bin/sqlcmd -S localhost -U user -P password
Вместо user и password подставляем значения User= и Password= из global.override.env
В открывшейся оболчке выполняем следующие команды:
1> use master
2> GO
1> alter database vault set offline with rollback immediate
2> GO
1> restore database vault from disk='/etc/bitwarden/mssql/backups/vault_FULL_{Backup File Name}.BAK' with replace
2> GO
1> alter database vault set online
2> GO
1> exit
Обязательно перезапускаем инстанс:
./bitwarden.sh restart
Заключение
Для self-hosted версии доступен полноценный функционал кроссплатформенного менеджера паролей. Все изменения синхронизируются между клиентами, а данные можно раздавать пользователям в своей организации. Вся установка занимает минут 10-15, и сервис почти никогда не требует администрирования — настроил и забыл. Я считаю, это очень круто. Приятного пользования!
На правах рекламы
Для размещения Bitwarden, а также для множества других целей и задач, вы можете использовать наши легендарные эпичные серверы. Большое количество преимуществ: современное железо с процессорами AMD Epyc, защита от DDoS-атак из коробки, возможность автоматически или вручную создать резервные копии в виде снимков сервера, удобная панель управления серверами собственной разработки. Эпичненько.
оригинал
===========
Источник:
habr.com
===========
Похожие новости:
- [Информационная безопасность, Законодательство в IT, IT-компании] Huawei оспаривает в суде США свою угрозу нацбезопасности страны
- [Информационная безопасность, Системное администрирование, Разработка под MacOS] Apple закрыла «дыру» macOS с превышением полномочий в sudo
- [Open source, Git, Системы управления версиями, Системы сборки, DevOps] Вышел релиз GitLab 13.8 с редактором конвейеров и первой из метрик DORA (перевод)
- [Open source, Git, DevOps] GitLab oпрос — ждем Bаших предложений
- [Open source, Go, Разработка под Linux, Звук] Go, локдаун и новый MPD-клиент — встречайте Ymuse
- [Информационная безопасность, Законодательство в IT] Что делать если украли коммерческую тайну
- [Информационная безопасность, Открытые данные, Законодательство в IT, Гаджеты] РКН выпустил приложение, через которое можно пожаловаться на противоправный контент
- [Информационная безопасность, Чулан, Монетизация веб-сервисов, Лайфхаки для гиков] Как эффективно набрать миллион рефералов по партнерской ссылке?
- [Информационная безопасность, Сетевые технологии] Исследование вредоносного трафика
- [Системное администрирование, Python, IT-инфраструктура, Help Desk Software] Root cause анализ инцидентов на корреляциях между временными рядами метрик ИТ-инфраструктуры
Теги для поиска: #_informatsionnaja_bezopasnost (Информационная безопасность), #_open_source, #_sistemnoe_administrirovanie (Системное администрирование), #_soft (Софт), #_menedzher_parolej (менеджер паролей), #_bitwarden, #_open_source, #_blog_kompanii_vdsina.ru (
Блог компании VDSina.ru
), #_informatsionnaja_bezopasnost (
Информационная безопасность
), #_open_source, #_sistemnoe_administrirovanie (
Системное администрирование
), #_soft (
Софт
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:12
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему. Каким должен быть идеальный менеджер паролей?
Обычно у айтишников (особенно, у повёрнутых на безопасности) возникают и более детальные, личные требования. Я привёл лишь те, которые кажутся мне самыми распространёнными и важными. И, конечно, Bitwarden удовлетворяет им всем, иначе я бы нашёл вариант получше. Вообще у него есть и сервисная часть, и даже платные планы, но базового функционала бесплатного плана нам вполне хватит. При этом self-hosted версия вообще никак не связана с серверами bitwarden.com (исходный код которых также открыт и проходит регулярные аудиты безопасности). Разворачиваем свой инстанс Bitwarden распространяется в виде пачки Docker-контейнеров и многофункционального скрипта для установки, настройки и управления инстансом. Всё работает из коробки, кроме одного — для подтверждения регистрации аккаунта сервер должен отправить email на указанный адрес. Кроме того, для доступа к админ-панели на электропочту админа отправляется временная ссылка для входа, поэтому помимо основной установки нам потребуется настроенный email-сервер. Почтовых серверов очень много, как и мануалов по их установке, останавливаться на их выборе я не буду — подойдёт любой send-only или полноценный вариант. Мне понравилось пользоваться docker-mailserver, в котором всё работает практически из коробки, поэтому для меня итоговая схема выглядит так: Подготовка В первую очередь нам понадобится docker и docker-compose: #Docker engine
sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io #Docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose Затем, чтобы не работать из-под рута, создадим пользователя bitwarden и продолжим работу под ним: sudo adduser bitwarden
sudo passwd bitwarden Создадим группу docker, если она ещё не существует, и добавим в неё пользователя: sudo groupadd docker
sudo usermod -aG docker bitwarden Создадим рабочую директорию для bitwarden: sudo mkdir /opt/bitwarden
sudo chmod -R 700 /opt/bitwarden sudo chown -R bitwarden:bitwarden /opt/bitwarden Установка Скачаем и запустим установочный скрипт: curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh \
&& chmod 700 bitwarden.sh ./bitwarden.sh install Заполняем поля в установщике:
Вскоре на указанном домене будет создан и запущен работающий инстанс Bitwarden, но нам ещё нужно настроить почту. Устанавливаем и конфигурируем почтовый сервер, затем отправляемся редактировать файл /opt/bitwarden/bwdata/env/global.override.env (с заменой всех плейсхолдеров, разумеется): globalSettings__mail__replyToEmail=no-reply@bitwarden.yourdomain.tld
globalSettings__mail__smtp__host=smtp.example.com globalSettings__mail__smtp__username=root_email_username globalSettings__mail__smtp__password=p@ssword globalSettings__mail__smtp__ssl=true globalSettings__mail__smtp__port=587 globalSettings__mail__smtp__useDefaultCredentials=false adminSettings__admins=admin_email_username@example.com После любых изменений в конфигах нужно пересобрать сервис: ./bitwarden.sh rebuild
Использование Теперь всё готово к работе с менеджером и можно отправляться в веб-интерфейс регистрироваться. После регистрации нас сразу пустит в рабочую панель, но для синхронизации данных между устройствами нужно будет подтвердить email: После подтверждения аккаунт становится доступен для входа с других устройств. Во всех клиентах Bitwarden (десктопные и мобильные приложения, веб-интерфейсы, расширения) есть кнопка настроек в углу, где мы указываем адрес нашего инстанса: Бэкапы Вариантов настройки бэкапов много, но как минимум нам надо сохранять всё содержимое папки /opt/bitwarden/bwdata. При этом Bitwarden сам ежедневно бэкапит содержимое ./bwdata/mssql/data, где хранится база данных. Для восстановления данных нужно вытащить пароль к бд из global.override.env (значение в строке globalSettings__sqlServer__connectionString=...Password=), подключиться к контейнеру bitwarden-mssql и найти нужный файл для бэкапа (по дате в названии): docker exec -it bitwarden-mssql /bin/bash
Запускаем sqlcmd: /opt/mssql-tools/bin/sqlcmd -S localhost -U user -P password
Вместо user и password подставляем значения User= и Password= из global.override.env В открывшейся оболчке выполняем следующие команды: 1> use master
2> GO 1> alter database vault set offline with rollback immediate 2> GO 1> restore database vault from disk='/etc/bitwarden/mssql/backups/vault_FULL_{Backup File Name}.BAK' with replace 2> GO 1> alter database vault set online 2> GO 1> exit Обязательно перезапускаем инстанс: ./bitwarden.sh restart
Заключение Для self-hosted версии доступен полноценный функционал кроссплатформенного менеджера паролей. Все изменения синхронизируются между клиентами, а данные можно раздавать пользователям в своей организации. Вся установка занимает минут 10-15, и сервис почти никогда не требует администрирования — настроил и забыл. Я считаю, это очень круто. Приятного пользования! На правах рекламы Для размещения Bitwarden, а также для множества других целей и задач, вы можете использовать наши легендарные эпичные серверы. Большое количество преимуществ: современное железо с процессорами AMD Epyc, защита от DDoS-атак из коробки, возможность автоматически или вручную создать резервные копии в виде снимков сервера, удобная панель управления серверами собственной разработки. Эпичненько. оригинал =========== Источник: habr.com =========== Похожие новости:
Блог компании VDSina.ru ), #_informatsionnaja_bezopasnost ( Информационная безопасность ), #_open_source, #_sistemnoe_administrirovanie ( Системное администрирование ), #_soft ( Софт ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:12
Часовой пояс: UTC + 5