Как вы можете самостоятельно разместить Bitwarden (почти) бесплатно с помощью Google Cloud
Менеджер паролей – один из самых простых способов защитить вашу личность в сети от злоумышленников и краж. Из множества доступных вариантов проекты с открытым исходным кодом, такие как Bitwarden и Keepass, повсеместно считаются наиболее надежными.
Но что, если вы хотите сделать еще один шаг? Можете ли вы разместить Bitwarden на частном сервере, чтобы повысить вашу безопасность?
Почему самостоятельный хостинг Bitwarden?
Bitwarden предлагает удобное хостинговое решение для большинства пользователей, которым каждый может пользоваться бесплатно или за номинальную ежемесячную плату – в зависимости от необходимого вам набора функций. Поскольку ваши пароли хранятся в зашифрованном формате, даже разработчики Bitwarden не могут получить к ним доступ.
Однако более разборчивые и ориентированные на конфиденциальность люди могут по-прежнему иметь полный контроль над своими паролями, зашифрованными или нет. С этой целью Bitwarden предлагает вариант самостоятельного размещения, который позволяет вам развернуть все программное обеспечение для управления паролями на вашем собственном оборудовании. Диспетчер паролей официально поддерживает этот «локальный» вариант.
Однако самым большим препятствием для самостоятельного размещения является поиск всегда доступного компьютера для развертывания программного обеспечения. Хотя вы можете использовать запасной компьютер или даже Raspberry Pi в качестве домашнего сервера, они далеко не надежны.
С другой стороны, удаленное обслуживание гарантирует бесперебойную работу. Например, Google Cloud гарантирует, что их серверы будут доступны не менее 99% времени в соответствии с соглашением об уровне обслуживания Compute Engine .
Кроме того, если ваш сервер становится неработоспособным, у вас не останется места назначения для синхронизации, пока вы его не исправите. С другой стороны, создание нового экземпляра облачного сервера происходит быстро и не требует обширного устранения неполадок оборудования.
Самостоятельный хостинг также означает, что вы контролируете безопасность своего менеджера паролей. Даже если общедоступная служба Bitwarden станет жертвой нарушения безопасности в будущем, ваша база данных останется частной и не будет затронута.
Какого провайдера облачного хранилища выбрать?
Google Cloud, Microsoft Azure и Amazon AWS – три крупнейших поставщика облачных услуг по доле рынка.
К счастью для нас, у всех трех также есть бесплатные уровни, что позволяет бесплатно размещать небольшое количество услуг. Естественно, есть некоторые ограничения, такие как спецификации оборудования и географическое положение, но они не должны иметь большого значения для простого самостоятельного хостинга Bitwarden.
Однако из трех доступных вариантов Google Cloud – единственная услуга, которая предлагает всегда бесплатный уровень после первоначального 12-месячного пробного периода. Самым большим ограничением этого сервера является то, что он имеет мизерную пропускную способность и объем хранилища. Однако, поскольку мы используем его только для хостинга паролей, ни одно из этих ограничений не будет проблемой.
В частности, Google Cloud предлагает один экземпляр сервера f1-micro бесплатно, если вы размещаете его в определенных регионах. На момент публикации варианты ограничены Орегоном, Айовой и Южной Каролиной.
Однако даже если вы живете далеко от этих регионов, удобство использования Bitwarden не сильно пострадает. Физическое расстояние между вами и центром обработки данных имеет гораздо большее значение для приложений, связанных с большими файлами, таких как потоковое видео.
Наконец, Google ежемесячно выделяет только 1 ГБ исходящей пропускной способности сети для вашего бесплатного экземпляра. Веб-интерфейс Bitwarden использует несколько мегабайт данных при каждой его загрузке, но простая регулярная синхронизация паролей не должна подтолкнуть вас к превышению этого лимита.
Примечание. Хотя уровень бесплатного пользования Google позволяет бесплатно арендовать оборудование, вам придется заплатить небольшую плату за резервирование статического IP-адреса. Это связано с тем, что в Интернете уже закончились адреса IPv4. Поскольку спрос превышает предложение, Google Cloud в настоящее время взимает 0,002 доллара США за IP-адрес в час. Если вы используете свой сервер Bitwarden 24/7 в течение всего месяца, вам будет выставлен счет в размере 1,44 доллара США.
Первый шаг: подготовка сервера для Bitwarden
Для начала перейдите в консоль Google Cloud и войдите в свою учетную запись Google. Затем перейдите в раздел вычислительного механизма платформы и нажмите кнопку «Создать», чтобы запустить новый экземпляр виртуальной машины.
Введите имя машины и выберите один из вышеупомянутых регионов в раскрывающемся меню. Затем в разделе «Конфигурация машины» обязательно выберите «f1-micro» в качестве типа сервера. Эти настройки гарантируют, что ваш сервер попадет под уровень Google Always Free.
Наконец, просто выберите «Debian» или «Ubuntu» в качестве загрузочного образа вашей виртуальной машины и установите размер диска 30 ГБ – максимально допустимый. После подтверждения создания новой виртуальной машины подождите несколько минут, пока она не появится в списке виртуальных машин.
Затем вам нужно будет назначить вашей виртуальной машине статический IP-адрес. Таким образом, вы можете каждый раз получать доступ к своему экземпляру Bitwarden с одного и того же IP-адреса. Для этого просто следуйте этой странице документации .
Получив статический IP-адрес, перейдите к провайдеру домена и настройте запись DNS, указывающую на тот же адрес. Инструкции для этого шага будут различаться в зависимости от поставщика, которого вы используете – просто обратитесь к его документации.
Если вы все настроили правильно, ваше доменное имя (abc.xyz) скоро будет указывать прямо на вашу виртуальную машину Google Cloud.
Теперь мы готовы установить Bitwarden на эту виртуальную машину! Вернитесь к списку виртуальных машин, щелкнув здесь, и подключитесь к нему, нажав кнопку SSH.
Разверните Bitwarden на своем сервере
После успешного подключения к виртуальной машине выполните следующие команды, чтобы обновить базовую операционную систему.
Sudo apt-get update
Sudo apt-get upgrade
Затем установите Docker, введя:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
В случае сбоя описанного выше сценария установки либо установите Docker вручную, либо следуйте официальной документации .
На этом этапе все, что осталось сделать, это загрузить образ Docker от Bitwarden и запустить его. Следующие команды делают именно это:
docker pull bitwardenrs/server:latest
docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest
На этом этапе Bitwarden полностью установлен на вашем сервере. Однако внешние клиенты пока не могут подключиться к вашему экземпляру Bitwarden. Для этого вам необходимо предоставить веб-серверу действующий сертификат TLS. Это требование состоит в том, чтобы ваши пароли оставались в безопасности во время их пересылки туда и обратно.
Обратный прокси и SSL с Caddy
Caddy – это обратный прокси с открытым исходным кодом, который абстрагирует для нас большую часть этой сложности. Если ваш домен настроен правильно, Caddy автоматически сгенерирует и обновит необходимые сертификаты.
Чтобы установить Caddy через Docker, просто введите следующую команду:
docker pull caddy/caddy:alpine
Затем создайте каталог для запуска Caddy и сохраните его сертификаты и файлы. Вторая команда создает пустой файл конфигурации:
sudo mkdir /etc/caddy
sudo nano /etc/Caddyfile
Вставьте следующее содержимое:
yourbitwardendomain.com {
reverse_proxy /notifications/hub/negotiate 0.0.0.0:80
reverse_proxy /notifications/hub 0.0.0.0:3012
reverse_proxy 0.0.0.0:80
}
Не забудьте заменить yourbitwardendomain.com в приведенном выше блоке своим собственным доменом. Нажмите Ctrl + X, чтобы сохранить.
Затем просто запустите контейнер Docker:
sudo docker run -d --name caddy -v /etc/Caddyfile:/etc/caddy/Caddyfile -v /etc/caddy:/root/.local/share/caddy --net host --restart on-failure caddy/caddy:alpine
И это все! Посещение вашего домена должно теперь привести вас прямо к Bitwarden – не менее, через безопасное соединение.
Если по какой-либо причине страница не загружается, возможно, вы пропустили какой-либо шаг или неправильно настроили Caddy. Помните, что Bitwarden будет работать только по HTTPS-соединению, поэтому к нему нельзя получить прямой доступ, перейдя на общедоступный IP-адрес вашего сервера.
Начните резервное копирование своих паролей в Bitwarden
После того, как ваш собственный сервер Bitwarden будет запущен и заработает, вы можете начать загрузку и безопасное хранение ваших паролей.
Максим Жгулев / Unsplash