Vaultwarden - собственный менеджер паролей

Published on
3 мин. чтения

Vaultwarden — это легкая сторонняя альтернатива более тяжелому официальному серверу Bitwarden, написанная на Rust. Благодаря своей легкости он отлично подходит для таких устройств, как Raspberry Pi или виртуального сервера с небольшим объемом памяти.

Bitwarden — это менеджер паролей с открытым исходным кодом, который позволяет вам размещать пароли самостоятельно, а не полагаться на облачные серверы.

Сервер Vaultwarden пытается поддерживать совместимость с основными функциями сервера Bitwarden. Официальный Vaultwarden Wiki перечисляет отсутствующие функции.

В этом руководстве мы используем Docker для запуска Vaultwarden, поскольку он делает весь процесс настройки невероятно простым. Помимо установки Docker, вам не нужно беспокоиться об установке какого-либо другого программного обеспечения для запуска этого сервера менеджера паролей.

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

Хотя можно использовать самоподписанный сертификат, Bitwarden невероятно сложен в использовании. Вам придется добавлять сертификат на каждое используемое вами устройство.

Установка Vaultwarden

Для установки будет использоваться виртуальная машина Proxmox со следующим характеристиками:

  • OS: Ubuntu 24.04
  • CPU: 2
  • RAM: 2 Gb
  • Disk: 30 Gb

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

apt update && apt upgrade -y

Устанавливаем docker

curl -sSL https://get.docker.com | sh
sudo groupadd docker
sudo usermod -aG docker ${USER}
sudo apt install docker-compose
sudo systemctl enable docker
sudo reboot

Настройка docker-compose.yaml

Создаем файл docker-compose со следующим содержимым

docker-compose.yaml
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    environment:
      - DOMAIN: "https://<DOMAINNAME>"
    volumes:
      - ./vw-data:/data
    ports:
      - 80:80

Для доступа к Vaultwarden с клиентских устройств я буду использовать NginxProxyManager и Cloudflare, как это настроить можно прочитать в этом посте

Запускаем контейнер

Теперь, мы можем запустить контейнер Vaultwarden с помощью следующей команды в терминале.

docker compose up -d

Доступ к веб-интерфейсу Vaultwarden

После запуска контейнера, открываем Web интерфейс по адресу https://<DOMAINNAME> При первом доступе к Vaultwarden вам необходимо создать собственную учетную запись. Чтобы начать этот процесс, нажмите на ссылку Создать аккаунт.

vw_reg

На следующем этапе вам нужно будет заполнить информацию, которую вы хотите использовать для своей учетной записи.

Убедитесь, что вы используете безопасный пароль, так как именно там вы будете хранить пароли для всех ваших других учетных записей. Не используйте пароль, который вы использовали ранее.

Создав учетную запись, вы можете войти в систему и начать использовать Vaultwarden.

vw

Отключение регистрации

После того, как вы создали свою учетную запись, вы можете захотеть отключить регистрацию. По умолчанию Vaultwarden позволит регистрироваться любому человеку.

Останавливаем Docker контейнер Vaultwarden.

docker compose down

Открываем docker-compose.yaml и добавляем следующую строку в раздел environment:

      - SIGNUPS_ALLOWED=false

После этого снова запускаем контейнер

docker compose up -d

Теперь при попытке зарегистрировать нового пользователя мы получаем ошибку

vw_reg_error

**Настройка клиентов

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

При подключении клиента выберите собственный хостинг и укажите его полный адрес.

Итог

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