Установка Vaultwarden

Логотип менеджера паролей
Описание
Уверен, что многие задумывались, как можно обезопасить свои пароли. Как их организовать, защитить и просто перестать забывать. Выход есть - менеджеры паролей. Сами менеджеры делятся на два типа: онлайн и оффлайн. Онлайн менеджеры хранят пароли на своих серверах. Офлайн менеджеры хранят пароли на самом устройстве. Многие из них можно сделать частично онлайн, если хранить базу в облачном хранилище.
Самый популярный бесплатный онлайн менеджер паролей - Bitwarden. Можно пользоваться уже готовым вариантом от команды разработчиков, можно установить официальную версию. Мы же установим форк - vaultwarden. Это тот же самый менеджер паролей, только с разблокированным функционалом. Это не взлом и не кряк. Все официально.
Ответы на возможные вопросы:
Важно перед установкой!
Менеджер будет работать только при наличии SSL. Без него установить менеджер вы не сможете. Настроить SSL можно только при наличии домена. Если у вас его нет, то дальше можете ничего не читать, так как установить не сможете (ну если только для ознакомления).
1. Установка Vaultwarden
Для начала обновляем пакеты:
apt update apt upgrade -y
Устанавливаем CURL и NANO:
apt install curl apt install nano
Открываем все необходимые порты в ufw:
sudo ufw allow https sudo ufw allow http sudo ufw allow ssh yes | sudo ufw enable
Введя последнюю команду мы включим ufw. Выглядеть это будет так:
Снова обновляем пакеты:
apt update
Устанавливаем Docker:
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" sudo apt install docker-ce -y
Скачиваем Vaultwarden:
docker pull vaultwarden/server:latest
Если при запуске появляется ошибка "Cannot connect to the Docker daemon at unix:/var/run/docker.sock. Is the docker daemon running?", то нужно запустить docker:
systemctl start docker
Начнется скачивание:
sudo docker run -d -v $HOME/vw-dаta:/data/ -p 9565:80 vaultwarden/server:latest
2. Установка NGINX
Устанавливаем nginx:
sudo apt install nginx-full -y
Сейчас мы создадим файл и сразу откроется его редактирование. Создаем и открываем файл командой:
sudo nano /etc/nginx/sites-enabled/vw
Копируем и вставляем следующее:
server { server_name domain; # your host name location / { proxy_pass http://localhost:9565; } }
Где написано domain, введите ваш домен. Должно получиться так:
Теперь нам нужно сохранить все изменения.
Сохраняем: нажмите Ctrl + O (без знака +, просто нажмите на две эти кнопки). Появится вопрос по сохранению:Нажимаем кнопку Enter. Появится информация о том, что все сохранено:
Ну и теперь нажимаем на Ctrl + X. Мы выйдем из редактора nano.
Перезапускаем nginx:
sudo service nginx reload
3. Установка certbot и получение сертификата от Let's Encrypt:
3.1 Сначала установим его, затем получим сертификат
Устанавливаем certbot:
sudo snap install core; sudo snap refresh core sudo snap install --classic certbot sudo ln -s /snap/bin/certbot /usr/bin/certbot
Запускаем certbot:
sudo certbot --nginx
3.2 Получаем сертификат
Скрипт запросит у вас адрес электронной почты. Он потребуется в дальнейшем для продления сертификата. Вводим почту:
Принимаем условия лицензионного соглашения. Вводим Y, нажимаем Enter:
Снова вводим Y, нажимаем Enter:
Выбираем наш домен, введя его цифру и нажимаем Enter:
В некоторых случаях скрипт может попросить вас ввести сам домен, а не выбрать его. В основном так бывает в тех случаях, когда в конфиге NGINX указывается IP-Адрес, а не домен.
На этом установка завершена. Скрипт получит сертификат и применит его. Вы сможете зайти в менеджер паролей через браузер, введя ваш домен, и зарегистрироваться.
Дальше будут описаны дополнительные шаги (админ-панель, генерация токена итд.)
Дополнительно
На этом мой пост завершен.
В посте я подробно рассказал о том, как установить менеджер паролей, рассказал про нюанс с админ панелью, провел обзор админки и немного рассказал о приложения.
Если не сложно - оставьте комментарий. Вам не сложно, мне приятно. :)