Самостоятельный менеджер паролей Vaultwarden в сочетании с Cloudflare Tunnel обеспечивает безопасное и удобное хранение конфиденциальных данных без необходимости открывать порты на вашем сервере. Этот подход позволяет развернуть Bitwarden-совместимый сервис на собственном VPS, используя Cloudflare для проксирования трафика и обеспечения HTTPS-шифрования, что минимизирует риски несанкционированного доступа. Такая конфигурация гарантирует доступность вашего хранилища паролей из любой точки мира, сохраняя при этом высокий уровень безопасности и контроля над данными, как это было протестировано на Ubuntu 24.04 в апреле 2026 года.
Введение в Vaultwarden и Cloudflare Tunnel
В эпоху цифровой трансформации и умножения онлайн-сервисов, управление паролями становится критически важной задачей. Использование надежного менеджера паролей не просто рекомендация, а необходимость для поддержания высокого уровня кибербезопасности. Vaultwarden предлагает отличное решение для тех, кто ищет самохостируемую альтернативу популярным облачным сервисам, обеспечивая при этом полную совместимость с клиентами Bitwarden.
Что такое Vaultwarden?
Vaultwarden — это бесплатная и открытая реализация сервера Bitwarden, написанная на языке Rust. Он обеспечивает функциональность официального сервера Bitwarden, но с гораздо меньшими требованиями к системным ресурсам, что делает его идеальным для развертывания на скромном виртуальном частном сервере (VPS) или даже на Raspberry Pi. Vaultwarden поддерживает большинство функций Bitwarden, включая синхронизацию, двухфакторную аутентификацию, обмен элементами и другие возможности, как указано в официальной документации проекта Vaultwarden на GitHub.
Зачем нужен Cloudflare Tunnel?
Cloudflare Tunnel, ранее известный как Argo Tunnel, создает безопасное исходящее соединение между вашим сервером и сетью Cloudflare, устраняя необходимость открывать входящие порты на вашем межсетевом экране. Это значительно снижает поверхность атаки, так как ваш сервер становится недоступным из интернета напрямую. Весь трафик к вашему Vaultwarden будет проходить через инфраструктуру Cloudflare, которая обеспечивает защиту от DDoS-атак, брандмауэр веб-приложений (WAF) и автоматическое SSL-шифрование. Подробности о технологии доступны в документации Cloudflare для разработчиков.
Почему это сочетание оптимально?
Сочетание Vaultwarden и Cloudflare Tunnel предоставляет мощный, безопасный и экономичный способ самостоятельного хостинга менеджера паролей. Вы сохраняете полный контроль над своими данными, при этом получая преимущества глобальной сети Cloudflare для повышения производительности и безопасности. Это идеальное решение для частных лиц и малых команд, которым важна конфиденциальность и суверенитет над информацией. В отличие от традиционных методов с прокси-серверами вроде Nginx и ручной настройкой Let's Encrypt, Cloudflare Tunnel упрощает процесс, автоматически управляя сертификатами и маршрутизацией трафика.
Подготовка к установке: требования и предварительные шаги
Перед тем как приступить к установке Vaultwarden и Cloudflare Tunnel, необходимо убедиться, что ваша среда соответствует минимальным требованиям. Этот раздел описывает все необходимые предварительные шаги, которые следует выполнить на вашем виртуальном частном сервере.
Требования к VPS
Для размещения Vaultwarden требуется виртуальный частный сервер (VPS), который предоставляет достаточные ресурсы и полный контроль над средой, в отличие от общего хостинга. Многие пользователи выбирают провайдеров, таких как Valebyte, для надежного и управляемого VPS-хостинга. Для стабильной работы Vaultwarden на Ubuntu 24.04 LTS рекомендуется VPS со следующими характеристиками:
- Операционная система: Ubuntu 24.04 LTS (или любой другой дистрибутив Linux с поддержкой Docker).
- ОЗУ: Минимум 1 ГБ, но 2 ГБ и более предпочтительнее для комфортной работы и будущих расширений.
- Процессор: 1 vCPU, 2 vCPU предпочтительнее.
- Дисковое пространство: Минимум 10 ГБ SSD, так как база данных паролей обычно невелика, но требуется место для ОС и Docker-образов.
- Доступ: SSH-доступ с правами sudo.
Более подробно о выборе между shared хостингом и VPS можно узнать в статье Shared Хостинг vs VPS: Матрица Решений и Глубокое Сравнение 2026.
Настройка доменного имени в Cloudflare
Для использования Cloudflare Tunnel ваш домен должен быть добавлен в Cloudflare и его NS-записи должны указывать на серверы Cloudflare. Если это еще не сделано, зарегистрируйтесь в Cloudflare, добавьте свой домен и следуйте инструкциям для обновления NS-записей у вашего регистратора доменных имен. После этого убедитесь, что в DNS-настройках Cloudflare для вашего домена (например, vault.yourdomain.com) создана A-запись, указывающая на IP-адрес вашего VPS. Эта запись может быть проксирована (облачко оранжевое) или не проксирована (облачко серое), на этом этапе это не критично, так как Cloudflare Tunnel будет использовать CNAME-запись, созданную автоматически.
Установка Docker и Docker Compose
Vaultwarden работает как контейнер Docker, а Docker Compose упрощает управление его конфигурацией. Установите Docker и Docker Compose на ваш VPS, если они еще не установлены. Приведенные ниже команды актуальны для Ubuntu 24.04 по состоянию на апрель 2026 года. Актуальные инструкции по установке Docker Engine всегда доступны в официальной документации Docker для Ubuntu. Подробности по Docker Compose можно найти в документации Docker Compose.
sudo apt update
sudo apt install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-pluginПосле установки добавьте вашего текущего пользователя в группу docker, чтобы избежать использования sudo при каждом вызове Docker:
sudo usermod -aG docker $USER
newgrp dockerПроверьте установку Docker:
docker run hello-worldСоздание директорий для Vaultwarden
Создайте директорию, где будут храниться конфигурационные файлы и данные Vaultwarden. Это важно для сохранения данных при обновлении или пересоздании контейнера.
mkdir -p ~/vaultwarden/dataУстановка Vaultwarden с Docker Compose
После подготовки VPS можно приступать к развертыванию Vaultwarden с помощью Docker Compose. Этот метод позволяет легко конфигурировать сервис и управлять его жизненным циклом.
Создание docker-compose.yml для Vaultwarden
Перейдите в созданную ранее директорию ~/vaultwarden и создайте файл docker-compose.yml. В этом файле будут определены все параметры для запуска контейнера Vaultwarden. В качестве примера, мы будем использовать порт 8080 внутри контейнера, который не будет открыт наружу, так как доступ будет осуществляться через Cloudflare Tunnel.
cd ~/vaultwarden
nano docker-compose.ymlДобавьте следующее содержимое в файл docker-compose.yml:
version: '3.8'
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
environment:
# Настройки для Vaultwarden
# Замените 'https://vault.yourdomain.com' на ваш реальный домен
WEBSOCKET_URL: 'wss://vault.yourdomain.com/notifications/hub'
DOMAIN: 'https://vault.yourdomain.com'
SIGNUPS_ALLOWED: 'true' # Разрешить регистрацию новых пользователей (можно отключить после первой регистрации)
INVITATIONS_ALLOWED: 'false' # Запретить приглашения
SMTP_HOST: 'smtp.your-email-provider.com' # Настройки SMTP для отправки писем (опционально)
SMTP_PORT: '587'
SMTP_FROM: '[email protected]'
SMTP_USERNAME: 'your-smtp-username'
SMTP_PASSWORD: 'your-smtp-password'
SMTP_SSL: 'true'
SMTP_TLS: 'true'
# Дополнительные настройки можно найти в документации Vaultwarden
volumes:
- ./data:/data
ports:
- "8080:80" # Внутренний порт 80 для HTTP, внешний 8080. Cloudflare Tunnel будет подключаться к 8080.
- "3012:3012" # Порт для WebSockets (для синхронизации в реальном времени)Важное примечание: Измените
https://vault.yourdomain.comна ваш фактический субдомен. Если вы планируете использовать SMTP для сброса паролей и приглашений, заполните соответствующие поля. В противном случае, их можно удалить или оставить пустыми. После того как вы зарегистрируете свою учетную запись администратора, рекомендуется установитьSIGNUPS_ALLOWED: 'false'для предотвращения несанкционированных регистраций.
Запуск Vaultwarden
Сохраните файл и запустите контейнер Vaultwarden:
docker compose up -dОпция -d запускает контейнер в фоновом режиме. Проверить статус запущенных контейнеров можно командой:
docker psВы должны увидеть контейнер vaultwarden со статусом Up. Также можно проверить логи Vaultwarden:
docker compose logs -f vaultwardenПроверка работы (localhost access)
На этом этапе Vaultwarden запущен и слушает на порту 8080 вашего VPS. Вы можете проверить его доступность изнутри VPS, например, с помощью curl:
curl http://localhost:8080Вы должны получить HTML-ответ, что подтверждает работу сервиса. Прямой доступ извне пока невозможен и будет обеспечен Cloudflare Tunnel.
Настройка Cloudflare Tunnel для безопасного доступа
После успешного развертывания Vaultwarden следующим шагом является настройка Cloudflare Tunnel для безопасного проксирования трафика к вашему менеджеру паролей. Это устранит необходимость открывать порты на вашем сервере, значительно повышая безопасность.
Установка cloudflared на VPS
cloudflared — это демон, который создает туннель между вашим сервером и Cloudflare. Установите его на ваш VPS. Для Ubuntu 24.04 это делается следующим образом:
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared.deb
sudo cloudflared updateПроверьте версию cloudflared:
cloudflared --versionАктуальная версия cloudflared на апрель 2026 года будет показана в выводе.
Авторизация cloudflared
Для создания туннеля cloudflared должен быть авторизован с вашей учетной записью Cloudflare. Выполните команду авторизации:
cloudflared tunnel loginЭта команда выведет URL, который нужно открыть в браузере. Войдите в свою учетную запись Cloudflare и выберите домен, который вы хотите использовать для туннеля. После успешной авторизации cloudflared загрузит сертификат, который будет храниться по пути ~/.cloudflared/cert.pem.
Создание туннеля и конфигурационного файла
Теперь создайте сам туннель. Присвойте ему уникальное имя, например, vaultwarden-tunnel.
cloudflared tunnel create vaultwarden-tunnelЭта команда создаст туннель и сгенерирует UUID. Сохраните этот UUID, он понадобится для конфигурационного файла. Также будет создан файл credentials в ~/.cloudflared/. Далее, создайте конфигурационный файл для туннеля, например, ~/.cloudflared/config.yml:
nano ~/.cloudflared/config.ymlДобавьте следующее содержимое, заменив YOUR_TUNNEL_UUID на UUID вашего туннеля и vault.yourdomain.com на ваш субдомен:
tunnel: YOUR_TUNNEL_UUID
credentials-file: /root/.cloudflared/YOUR_TUNNEL_UUID.json
ingress:
- hostname: vault.yourdomain.com
service: http://localhost:8080 # Vaultwarden HTTP порт
# Если вы хотите использовать WebSocket, добавьте следующую строку
# originRequest:
# noTLSVerify: true # Если Vaultwarden использует самоподписанный SSL
- hostname: vault.yourdomain.com
service: http://localhost:3012 # Vaultwarden WebSocket порт
path: /notifications/hub
- service: http_status:404 # Завершающий маршрут, если ничего не совпалоОбратите внимание, что Cloudflare Tunnel будет подключаться к localhost:8080 (HTTP-порт Vaultwarden) и localhost:3012 (WebSocket-порт Vaultwarden) внутри вашего VPS. Это означает, что Vaultwarden не нужно настраивать на использование HTTPS напрямую, так как шифрование до Cloudflare и от Cloudflare до клиента обеспечивается сетью Cloudflare.
Настройка DNS маршрутизации в Cloudflare Dashboard
Чтобы трафик направлялся через туннель, необходимо настроить DNS-запись в Cloudflare Dashboard. Выполните следующую команду на вашем VPS:
cloudflared tunnel route dns vaultwarden-tunnel vault.yourdomain.comЭта команда автоматически создаст CNAME-запись в DNS вашего домена Cloudflare, которая будет указывать на ваш туннель. Например, vault.yourdomain.com будет указывать на YOUR_TUNNEL_UUID.cfargotunnel.com. Убедитесь, что проксирование Cloudflare для этой записи включено (оранжевое облачко).
Запуск туннеля как системной службы
Для обеспечения постоянной работы туннеля даже после перезагрузки сервера, рекомендуется запустить его как службу systemd. Сначала создайте службу:
sudo cloudflared tunnel run --config ~/.cloudflared/config.yml vaultwarden-tunnelЭта команда запустит туннель. Чтобы он запускался автоматически при старте системы, создайте systemd юнит-файл. Cloudflared может сделать это автоматически:
sudo cloudflared --config ~/.cloudflared/config.yml service installПосле установки службы, запустите и включите ее:
sudo systemctl start cloudflared
sudo systemctl enable cloudflared
sudo systemctl status cloudflaredУбедитесь, что статус службы active (running). Более подробную информацию о работе с systemd можно найти в официальной документации systemd.
Дополнительная безопасность и обслуживание
Развернув Vaultwarden с Cloudflare Tunnel, вы уже сделали большой шаг к безопасной инфраструктуре. Однако есть дополнительные шаги, которые помогут еще больше укрепить безопасность и обеспечить бесперебойную работу вашего менеджера паролей.
HTTPS и SSL/TLS
Благодаря Cloudflare Tunnel, весь трафик между вашими клиентами и серверами Cloudflare зашифрован с использованием SSL/TLS. Далее, Cloudflare устанавливает безопасное соединение с вашим сервером через туннель. Это означает, что вам не нужно настраивать Let's Encrypt или другие SSL-сертификаты непосредственно на вашем VPS для внешнего доступа, что значительно упрощает конфигурацию. Если вы когда-либо сталкивались с проблемами Let's Encrypt, например, с лимитами запросов, вы оцените это упрощение. В случае необходимости настройки SSL на других сервисах, вы можете ознакомиться со статьей Let's Encrypt: Лимит Запросов Исчерпан – Как Починить в 2026.
Двухфакторная аутентификация (2FA) в Vaultwarden
Vaultwarden поддерживает различные методы двухфакторной аутентификации, включая TOTP (Time-based One-Time Password), FIDO2 WebAuthn и YubiKey. Настоятельно рекомендуется включить 2FA для всех пользователей, особенно для администратора. Это обеспечивает дополнительный уровень безопасности, требуя второй фактор (например, код из приложения-аутентификатора) помимо пароля.
Настройки 2FA доступны в клиентском приложении Bitwarden (или Vaultwarden) после входа в систему: Настройки -> Безопасность -> Двухфакторная аутентификация. Выберите предпочитаемый метод и следуйте инструкциям для его активации.
Резервное копирование данных Vaultwarden
Данные вашего менеджера паролей являются одними из самых ценных. Регулярное резервное копирование критически важно. Все данные Vaultwarden хранятся в директории ./data, которую мы указали в docker-compose.yml. Вы можете использовать rsync, restic или просто скопировать эту директорию в безопасное место, например, на удаленное хранилище или другой сервер.
# Пример ручного резервного копирования
sudo docker compose stop vaultwarden # Остановите контейнер для согласованности данных
tar -czvf vaultwarden_backup_$(date +%Y%m%d%H%M%S).tar.gz ~/vaultwarden/data
sudo docker compose start vaultwarden # Запустите контейнер обратно
# Переместите архив в безопасное место
mv vaultwarden_backup_*.tar.gz /path/to/secure/backup/locationРассмотрите возможность автоматизации этого процесса с помощью cron для регулярных бэкапов. Регулярное резервное копирование предотвращает потерю данных в случае сбоя VPS или других непредвиденных обстоятельств. Как мигрировать сайт на новый VPS без простоя, в том числе с данными, можно узнать в отдельном руководстве Как мигрировать сайт на новый VPS без простоя: Детальный гайд.
Обновление Vaultwarden и Cloudflared
Поддержание актуальных версий программного обеспечения является ключевым элементом безопасности. Регулярно обновляйте Vaultwarden и cloudflared.
Для обновления Vaultwarden:
cd ~/vaultwarden
docker compose pull # Загрузить последнюю версию образа Vaultwarden
docker compose up -d # Пересоздать контейнер с новым образомДля обновления cloudflared:
sudo cloudflared updateПосле обновления cloudflared рекомендуется перезапустить его службу:
sudo systemctl restart cloudflaredСравнение подходов и заключение
Развертывание Vaultwarden с Cloudflare Tunnel представляет собой современный и безопасный подход к самостоятельному хостингу менеджера паролей. Чтобы лучше понять его преимущества, сравним его с традиционными методами.
| Критерий | Vaultwarden + Cloudflare Tunnel | Vaultwarden + Nginx/Caddy + Let's Encrypt |
|---|---|---|
| Безопасность (поверхность атаки) | Минимальная. Входящие порты не открываются. Сервер скрыт за Cloudflare. | Требуется открытие портов 80/443. Сервер напрямую доступен из интернета. |
| Сложность настройки SSL | Автоматическая. Cloudflare управляет сертификатами и шифрованием. | Ручная настройка Let's Encrypt (Certbot), автообновление. |
| Защита от DDoS/WAF | Встроена в Cloudflare. Дополнительная защита по умолчанию. | Требует дополнительной настройки (например, Fail2Ban, аппаратный WAF). |
| Производительность | Использует CDN Cloudflare, что может ускорить доступ для удаленных пользователей. | Зависит от пропускной способности вашего VPS. |
| Требования к публичному IP | Требуется, но не для прямого доступа. | Требуется публичный IP для прямого доступа. |
| Обслуживание | Обновление Vaultwarden и cloudflared. Меньше компонентов для мониторинга. | Обновление Vaultwarden, Nginx/Caddy, Certbot, мониторинг SSL. Больше компонентов. |
Преимущества Cloudflare Tunnel
Использование Cloudflare Tunnel значительно упрощает процесс обеспечения безопасного удаленного доступа к вашим самохостируемым приложениям. Главное преимущество — это устранение необходимости открывать порты на вашем межсетевом экране, что по своей сути является лучшей практикой безопасности. Трафик к вашему Vaultwarden проходит через глобальную сеть Cloudflare, предоставляя преимущества в виде защиты от DDoS-атак, кэширования и встроенного брандмауэра. Это особенно полезно для домашних пользователей или тех, кто арендует VPS с ограниченной конфигурацией сети.
Заключение
Настройка Vaultwarden с Cloudflare Tunnel — это современный, безопасный и относительно простой способ развернуть собственный менеджер паролей. Следуя этому руководству, вы получили полностью функциональный и защищенный сервис, который предоставляет вам полный контроль над вашими конфиденциальными данными. Помните о важности регулярного резервного копирования и своевременных обновлений для поддержания безопасности и надежности вашей системы. Эта конфигурация обеспечивает высокий уровень конфиденциальности и доступности, что делает ее отличным выбором для любого пользователя, стремящегося к цифровой автономии в 2026 году.





