Всем привет!!!
В этой статье я расскажу как установить менеджер паролей с открытым исходным кодом Vaultwarden на Synology.
Vaultwarden – альтернативная реализация сервера Bitwarden, написанного на Rust и совместимого с вышестоящими клиентами Bitwarden, идеально подходит для самостоятельного развертывания, когда использование официального сервера Bitwarden не желательно. В общем Vaultwarden это форк Bitwarden и для его запуска не нужно запрашивать у разработчиков ключи и прочие разрешения, а еще он полностью бесплатен.
На мой взгляд Vaultwarden имеет три преимущества над Bitwarden:
- Потребляет намного меньше оперативной памяти
- Не нужно запрашивать ключи для установки
- Полностью бесплатен
Сравнение потребления оперативной памяти. Bitwarden потребляет 500М байт ОЗУ, а Vaultwarden всего 80М байт.
Сравнения функционала в полностью бесплатном Vaultwarden
Если эти моменты вас устраивают, как меня, то я бы выбрал для установки Bitwarden. По крайней мере он проходил аудит безопасности и периодически на своем сайте выкладывает отчет безопасности. Vaultwarden же поддерживается сообществом и никаких аудитов не проходит. У меня есть и статья и видео про установку Bitwarden на Synology.
Системные требования:
- Не менее 100 МБ оперативной памяти
- Хранение 1 ГБ
- DSM 7.2 и Container Manager (хотя конечно можно и на более старых версиях)
- Наличие белого IP адреса динамического или статического для доступа через интернет
- На роутере должен быть проброшен порт TCP 443 в Synology
- Я буду использовать собственное доменное имя, но никто не запрещает использовать DDNS от Synology или любого другого поставщика этой услуги.
- Для вашего домена в DSM должен быть установлен действующий сертификат SSL
Начнем установку менеджера паролей Vaultwarden на Synology
Откройте File Station и в папке docker создайте папку Vaultwarden, а затем в ней создайте папку data как показано на картинке ниже
Откройте Container Manager и на вкладке проект нажмите создать новый. В открывшемся окне заполните название проекта, задайте путь, который ранее был создан в File Station (docker/vaultwarden), источник укажите создать из docker-compose.yml и вставьте в поле для текста такое содержимое:
version: "3"
services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: always
ports:
- "8081:80"
environment:
- WEBSOCKET_ENABLED=true
- DISABLE_ADMIN_TOKEN=false
- ADMIN_TOKEN=admin_password_admin
volumes:
- ./data:/data
volumes:
data:
- Порт 8081 можно заменить на любой свободный
- ADMIN_TOKEN установите сложным паролем. Он понадобится далее для настройки.
- Остальное менять не нужно, если только вы знаете, что делаете.
Должно получиться как на картинке ниже и жмем далее
На этом этапе можно подключить Web Station, но я рекомендую вместо этого использовать обратный прокси и расскажу как его настроить далее.
На заключительном этапе создания проекта жмем выполнить
Ждем когда проект создастся
Если вы все сделали правильно, то в конце увидите Exit Code 0. Он означает, что проект благополучно создался, можно закрывать окно кнопкой.
Ну и можно будет видеть, что контейнер и сам проект запущены
Напоминаю, что при создании проекта, создается отдельный bridge для него и отдельная подсеть. Если у вас включен фаервол\брендмауэр, то эту подсеть нужно добавить в разрешенные отдельным правилом, которое должно быть выше запрещающего. Маска 16 это то же самое что и 255.255.0.0
Теперь нужно настроить обратный прокси. Для этого в DSM открываем панель управления, портал для входа, дополнительно и нажимаем обратный прокси. В открывшемся окне нажимаем создать правило с такими параметрами:
- Название правила
- Протокол HTTPS
- Ваше доменное имя для Vaultwarden
- Порт 443
- Протокол HTTP
- Имя хоста localhost
- Порт 8081, тот который был указан в yml файле
Но это не все. Теперь на вкладке пользовательского заголовка нужно создать WebSocket и нажать сохранить
И это еще не все. Теперь идем в безопасность, сертификаты, настройки и привязываем к домену vaultwarden корректный подходящий для него сертификат SSL
Первый раз открываем vaultwarden в браузере используя https://ваш-домен-vaulwarden и вы должны увидеть такое окно.
Первым делом нужно создать первый аккаунт. Укажите реальную электронную почту, имя и мастер пароль для входа
Создали первый аккаунт и можно войти в него. Будет выглядеть как на картинке ниже
Теперь откройте админ панель по такой ссылке https://ваш-домен-vaulwarden/admin и введите ADMIN-TOKEN, который был указан в yml файле.
Откроется такое окно:
Откройте General settings и сделайте следующее:
- Введите реальный домен вашего vaultwarden используя https
- Отключите возможность регистрации новых аккаунтов (Нужно убрать галочку)
Затем переходим к настройке SMTP (Яндекс, mail.ru, google)
- SMTP-SERVER – сервер smtp вашей почтовой службы
- ВАШ АДРЕС ПОЧТЫ (pupkin@yandex.ru)
- ВАШ ЛОГИН ПОЧТЫ
- ВАШ ПАРОЛЬ ПОЧТЫ (обычно указывается пароль приложений, читайте документации от вашей почты)
Вот на этом все. Установка и настройка Vaultwarden на Synology завершена. Можно пользоваться этим бесплатным менеджером паролей. Все пароли будут лежать у вас в файле db.sqlite3
Если нужно подключить еще одного пользователя, то можно отправить ему на почту приглашение.
Когда все настроено, можно вообще отключить админ панель. Для этого в Container Manager остановите контейнер Vaultwarden и в настройках удалите переменную ADMIN_TOKEN. Тем самым вы отключите админ панель, что бы боты не подбирали к ней пароль.
Еще переменная ADMIN_TOKEN может быть в файле config.json. Откройте его тактовым редактором и удалите эту переменную, если она там есть