Was wollen wir?
Bitwarden (Vaultwarden) auf dem heimischen Server installieren.
Los ging es mit dieser Diskussion: Passwort Manager Empfehlungen.
Warum wollen wir das?
Um unsere Passwörter gesichert Zuhause zu haben und nicht in irgend einer Cloud
Und wie geht das genau?
Voraussetzung ist ein vorhandener Server/PC mit zB VMWare ESXI oder Proxmox um eine VM zu installieren, sowie das die entsprechenden Ports in der Firewall freigeschaltet und an die VM weitergeleitet sind.
Ubuntu installieren und Updates einspielen:
Docker installieren:
Docker Compose installieren:
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Portainer installieren:
sudo docker volume create portainer_data
sudo docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
Nginx Proxy Manager und Bitwarden installieren:
Portainer über http://IP:9000 aufrufen und einen Account anlegen.
In Portainer ein Stack anlegen mit der config:
version: '3'
services:
bitwarden:
image: vaultwarden/server:latest
restart: always
ports:
- 8060:80
- 3012:3012
volumes:
- bw-data:/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- bw-data:/log
- LOG_FILE=/log/bitwarden.log
environment:
- WEBSOCKET_ENABLED=true
- SIGNUPS_ALLOWED=false
- ADMIN_TOKEN=dein admin passwort
- INVITATIONS_ALLOWED=true
- SHOW_PASSWORD_HINT=false
nginx-proxy-manager:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:latest'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
volumes:
bw-data:
Alles anzeigen
WICHTIG!!! ADMIN_TOKEN ist das Passwort für den Adminzugang (entsprechend selber eins vergeben)
Deploy Stack anklicken und abwarten bis alles heruntergeladen und installiert wird.
Danach starten wir die Docker Container Bitwarden, NGINX Proxy Manager und die Datenbank für den Proxy Manager.
Nach dem Start der Container noch jeweils einmal drauf klicken und runter scrollen. Der Punkt "Restart Policies" noch auf das gewünschte Startverhalten nach neustart des Servers einstellen.
Dann kann man über http://IP:81 den Proxy Manager aufrufen und sich mit "admin@example.com" und dem Kennwort "changeme" einloggen.
Nachdem man seine Login Daten angepasst hat kann man einen proxy Host einrichten:
Domain Name eingeben
Scheme: http
Forward Hostname/IP: IP des Servers
Forward Port: 8060 #Port des Bitwarden
Haken bei "Block Common Exploits" und "Websockets Support" setzen
Unter SSL klickt man "Request new SSL certificate" an und setzt die Haken bei "Force SSL" und "HTTP/2 Support"
Unter Advanced folgenden Code eingeben:
location /admin {
return 404;
}
location / {
proxy_pass http://IP:8060;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_ssl_server_name on;
}
location /notifications/hub {
proxy_pass http://IP:3012;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://IP:8060;
}
Alles anzeigen
WICHTIG!!! Durch den ersten Eintrag "location /admin" wird der Zugriff auf die Adminseite auf die Lokale IP Adresse beschränkt, ein Zugriff über die Domain von außen ist nicht möglich. Deswegen muss auch der Port mit eingegeben werden beim Aufruf der Seite. das return 404 besagt nur das eine Fehlerseite angezeigt werden soll wenn man es von außen versucht.
Dann "Safe" anklicken und kurz warten bis das SSL Zertifikat erfolgreich angefordert wurde.
Noch einmal den Eintrag öffnen und prüfen das die Einstellungen bei SSL beibehalten wurden.
Nun kann man über https:/DEINEDOMAIN.de den Bitwarden aufrufen
Um nun einen ersten User anzulegen sich mit dem oben vergebenen ADMIN_TOKEN unter https://IP/admin einloggen und die Einstellungen folgendermaßen anpassen:
Unter "General Settings" den Punkt "Domain URL" und "Invitation organization name"
Unter "SMTP Email Settings" die Email Einstellungen anpassen.
Unter dem Punkt "User" kann man nun eine Einladung verschicken und über die dann ein Konto erstellen.
Als letztes noch den Punkt "Diagnostics" prüfen üb alles Grün ist.
Viel Spass mit Vaultwarden
Disclaimer: Alle Anleitungen/Tutorials sind nach bestem Wissen und Gewissen verfasst, gehen immer von den definierten Software/Firmware-Versionen aus und sind auf das englische GUI ausgelegt.
Es gibt keine Garantien auf Erfolg. Im Falle eines Misserfolges hilft aber sicherlich die Community hier immer weiter.
Keiner der Autoren oder der Betreiber des Forums ist für die aus der Nutzung resultierenden Probleme/Herausforderungen verantwortlich.
Jegliche hier beschriebenen Schritte erfolgen ausnahmslos in eigener Verantwortung des Durchführenden. Eltern haften für ihre Kinder.
Kommentare 21
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
Neu erstellte Kommentare unterliegen der Moderation und werden erst sichtbar, wenn sie durch einen Moderator geprüft und freigeschaltet wurden.
BF0911
Sehe ich das richtig, dass vaultwarden eine "öffentliche" Domain braucht?
Es reicht nicht aus, eine lokale Domain zu nutzen oder?
jkasten
Korrekt, du brauchst ein richtiges Zertifikat, ansonsten kannst du dich nicht verbinden. Es tut aber auch jede Dyndns Domain.
darkman242
@jkasten ich habe die Anleitung versucht, scheitere aber bereits am Stack anlegen. er meckert die Zeile
- LOG_FILE=/log/bitwarden.log
an mit der Meldung "Error response from daemon: invalid mount config for type "volume": invalid mount path: 'LOG_FILE=/log/bitwarden.log' mount path must be absolute"
Was kann / muss ich machen?
jkasten
Hast du auch die Zeile davon eingetragen, so wie oben?
- bw-data:/log
darkman242
ja, hab ich
jkasten
Lass mal den Block weg und guck mal ob es dann geht:
darkman242
leider nicht
jkasten
Sehr komisch, nimm das mal weg, brauchst du nicht zwingend.
RomanoDrews
Klingt sehr spannend .
Aber wie muss ich mit das Programm bildlich vorstellen ?
Also wie speichert es meine Passwörter und warum ?
Mir sagt das Programm jetzt gar nichts
jkasten
http://www.bitwarden.com einfach mal schauen. Ist einer der bekanntesten Passwort Manager neben 1Password.
RomanoDrews
Okay aber ich hab den Nutzen dafür noch nicht so wirklich verstanden .
Also so ein paawort Manager ist ja sowas wie im Browser wie ne Tasche wo ich virtuell meine ganzen Zettel mit anmelde Daten sammle . Eben digital und das ganze wird mit einem Master Passwort geschützt.
Bedeutet wenn ich zum Beispiel im Firefox meine Daten speichere habe ich diese Daten auf jedem Gerät wo ich auch Firefox mit meinen Daten laufen habe. Also alles syncron.
Wozu macht das denn jetzt bei UniFi Sinn?
Da hab ich jetzt noch nicht verstanden für welchen Anwendungsbereich ich das bei UniFi brauche.
Ich muss dazu sagen, bei mir läuft UniFi bis auf Magenta Tv auch in der Standard konfig.
Und ich bin kein Fach Anwender .
Da ich allerdings vor habe UniFi mehr und mehr einzusetzen ist es svvon interesannt.
Nur eben hier hab ich noch nicht verstanden wozu ich bei UniFi jetzt diesen Manager brauche also was jetzt der Nutzen von der Anleitung für mich sein würde .
Oh man schwer zu erklären *^ ich hoffe du verstehst was ich meine.
Ich find es interesannt.
Bin aber so neu das ich gar nicht weis wozu ich das hier gebrauchen könnte.
jkasten
Das hat nichts speziell mit UNIFI zu tun. Die Diskussion kam im Forum auf wer welchen Passwort Manager nutzt. Bitwarden ist einer den man selbst hosten kann und somit die Daten nicht irgend welchen Firmen in der Cloud anvertrauen muss. Vom Prinzip hast Du es verstanden wofür sowas gut ist. Bitwarden kannst Du auf allen Devices nutzen, ob iOS, Android, Windows oder MacOS ist egal.
razor
Ich habe das Tutorial etwas "aufgehübscht" und den Link zur Quelle dieser Anleitung eingefügt.
kleinp
ALs Ubuntu-Neuling von mir der Hinweis:
Bei der Meldung
muss curl installiert werden.
Ich hab keinen Schimmer, was curl ist, nach der Installation gings weiter