Лучшие самохостинговые менеджеры паролей: сравнение и настройка безопасности
Подробное руководство по выбору, установке и настройке самохостинговых менеджеров паролей. Сравнение решений, безопасность синхронизация и интеграция в home-lab.
Введение в Bitwarden
Bitwarden - это полнофункциональный менеджер паролей с открытым исходным кодом, который предлагает широкий набор функций: хранение паролей, заметок, данных банковских карт и информации о документах.
Подготовка сервера
Установка Docker и Docker Compose на сервере с соответствующими требованиями к ресурсам.
# Установка Docker для Ubuntu/Debian
sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
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 $(lsb_release -cs) stable"
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker ${USER}
# Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeСкачивание и настройка Bitwarden
Создание директории для Bitwarden и настройка Docker Compose.
mkdir ~/bitwarden
cd ~/bitwarden
# Создание docker-compose.yml
version: '3'
services:
web:
image: bitwarden/web:latest
container_name: bitwarden_web
restart: always
depends_on:
- api
networks:
- bw-network
environment:
- WEBSOCKET_ENABLED=true
- SIGNUPS_ALLOWED=true
volumes:
- ./config:/config
labels:
- "traefik.enable=true"
- "traefik.http.routers.bitwarden.rule=Host(`ваш_домен.com`)"
- "traefik.http.routers.bitwarden.entrypoints=websecure"
- "traefik.http.routers.bitwarden.tls.certresolver=myresolver"
- "traefik.http.services.bitwarden.loadbalancer.server.port=80"
ports:
- "80:80"
- "443:443"
api:
image: bitwarden/api:latest
container_name: bitwarden_api
restart: always
depends_on:
- mysql
- redis
networks:
- bw-network
environment:
- WEBSOCKET_ENABLED=true
volumes:
- ./config:/config
mysql:
image: mysql:8.0
container_name: bitwarden_mysql
restart: always
command: --default-authentication-plugin=mysql_native_password
networks:
- bw-network
environment:
MYSQL_ROOT_PASSWORD=сильный_пароль_для_базы_данных
MYSQL_DATABASE=bitwarden
MYSQL_USER=bitwarden
MYSQL_PASSWORD=сильный_пароль_пользователя_базы
volumes:
- mysql-data:/var/lib/mysql
- ./config/mysql:/etc/mysql/conf.d
redis:
image: redis:6-alpine
container_name: bitwarden_redis
restart: always
networks:
- bw-network
command: redis-server --requirepass сильный_пароль_для_redis
volumes:
- redis-data:/data
volumes:
mysql-data:
redis-data:
networks:
bw-network:
driver: bridgeЗапуск Bitwarden
Запуск контейнеров Bitwarden с помощью Docker Compose.
docker-compose up -dПервоначальная настройка
Регистрация аккаунта, вход в систему и настройка безопасности.
# После завершения настройки изменить SIGNUPS_ALLOWED на false
sed -i 's/SIGNUPS_ALLOWED=true/SIGNUPS_ALLOWED=false/' docker-compose.yml
# Перезапустить контейнеры
docker-compose down
docker-compose up -dНастройка двухфакторной аутентификации
Включение двухфакторной аутентификации для повышения безопасности аккаунта через приложение-аутентификатор, электронную почту или ключ безопасности FIDO2.
Синхронизация паролей между устройствами
Настройка синхронизации паролей на десктопе, мобильных устройствах и через веб-интерфейс с использованием шифрования end-to-end.
Интеграция с браузерами и мобильными приложениями
Установка расширений для браузеров (Chrome, Firefox, Edge, Safari) и мобильных приложений (iOS, Android) для автоматического заполнения данных.
Настройка безопасности
Настройка шифрования AES-256, создание резервных копий через экспорт данных и обеспечение дополнительных мер безопасности.
Советы по созданию надежных паролей
Использование генератора паролей Bitwarden для создания паролей длиной не менее 12 символов с использованием заглавных и строчных букв, цифр и специальных символов.