Wähle einen Artikel
Passwortmanager Bitwarden auf VPS per Docker installieren
Passwortmanager Bitwarden auf VPS per Docker installieren

0. Überblick

  • Verwendetes System: Debian 10 64 bit
  • Genutzter User: Ich nehme alles als „root“ vor
  • Testserver: vServer XXL 2.0
  • Zeitdauer: ca. 10 Minuten
  • Schwierigkeit: Einfach. Nur Code kopieren 😉
  • Besonderheiten:

1. Bitwarden installieren

1.1 Einleitung

Bei Bitwarden handelt es sich um einen open source Password Manager. Ihr könnt Bitwarden selbst hosten und wisst dadurch immer, wo eure Passwörter gespeichert sind. Bitwarden wird in mehreren Version angeboten. Für zusätzliche müsst ihr eine jährliche Gebühr zahlen. Genau Infos dazu findet ihr hier: https://bitwarden.com/pricing

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Ihr könnt den nachfolgenden Code immer online „überprüfen“ lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 10 Betriebssystem. Bitwarden werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um Bitwarden neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren

1.3.1 Benutzer erstellen

Wir erstellen uns einen neuen Benutzer „bitwarden“. Dazu gebt ihr folgendes ein:

adduser bitwarden 

Nun legen wir noch ein Kennwort fest. Gebt dazu folgendes ein:

passwd bitwarden 

1.3.2 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von Moodle abspeichen. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/bitwarden 

Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst dann aber die gesamte Anleitung entsprechend anpassen.

Nun müssen wir noch die Rechte des Ordners anpassen. Dazu gebt ihr folgendes ein:

chmod -R 700 /opt/containers/bitwarden 

Nun geben wir noch unserem neuen Benutzer die Rechte an dem Ordner:

chown -R bitwarden:bitwarden /opt/containers/bitwarden 

1.3.3 Instal­la­ti­ons­s­kript herunterladen

Nun laden wir uns das offizielle Skript zur Installation herunter. Gebt dazu folgendes ein:

cd /opt/containers/bitwarden 

curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh 

1.3.4 yq installieren

Nun installieren wir noch das Programm „yq“. Dabei handelt es sich um Programm, welches uns später hilft, einige Docker Dateien (YML) anzupassen.

Zur Installation gebt ihr folgendes ein:

wget https://github.com/mikefarah/yq/releases/download/v4.13.5/yq_linux_amd64 -O /usr/bin/yq &&    chmod +x /usr/bin/yq 

1.3.5 Instal­la­ti­ons­s­kript ausführen

Um das Skript zu starten, müsst ihr folgendes eingeben:

./bitwarden.sh install 

Nun werdet ihr folgendes gefragt:

Gebt hier eure Domain ein. Bei mir ist das „bitwarden.testbereich.net“.

Nun werdet ihr gefragt, ob ein SSL Zertifikat generiert werden soll. Gebt hier „n“ ein, da dies Traefik für uns erledigt.

Nun müsst ihr einen Namen euer Passwortdaten wählen. Ich verwende hier den Namen „vault“, wie er vorgeschlagen wird. Ihr könnt aber auch jeden anderen Namen wählen.

Nun beginnt der Download der Docker Container.

Nach dem Download bekommt ihr folgende Meldung angezeigt:

Geht nun auf https://bitwarden.com/host und gebt dort eure E-Mail-Adresse ein:

Anschließend bekommt ihr eine Installations-ID sowie Key angezeigt.

Gebt die Installations-ID nun ein:

Als nächstes müsst ihr den Installations-Key eingeben.

Nun werden wir nach SSL Zertifikaten gefragt. Hier gebt ihr „n“ ein, da Traefik solche Zertifikate für uns erzeugt.

Nun werdet ihr wieder gefragt, ob ein Zertifikat erzeugt werden soll. Gebt hier wieder „n“ ein.

Nun seid ihr fertig mit der Konfiguration und solltet folgendes sehen:

2. Einstellungen anpassen

Nun werden wir noch einige Einstellungen in der Bitwarden Konfiguration anpassen

2.1 Domain anpassen

Zuerst müssen wir noch die URL anpassen. Dazu öffnet ihr folgende Datei:

nano /opt/containers/bitwarden/bwdata/config.yml 

Ändert dies nun ab:

Vorher:

url: http://bitwarden.testbereich.net 

nachher:

url: https://bitwarden.testbereich.net 

Danach öffnet ihr folgende Datei:

nano /opt/containers/bitwarden/bwdata/env/global.override.env 

Hier ändert ihr folgendes:

globalSettings__baseServiceUri__vault=http://bitwarden.testbereich.net 

nachher:

globalSettings__baseServiceUri__vault=https://bitwarden.testbereich.net 

2.2 E-Mail-Server anpassen

Nun passen wir noch den E-Mail-Server an. Dies ist notwendig, damit ihr später E-Mails über Bitwarden verschicken könnt. Ohne E-Mail kommt ihr beispielsweise nicht in den Admin Bereich. Wenn ihr diese Einstellungen tätigt und einen Fehler in der Konfiguration habt, dann läuft später die Nutzeranmeldung nicht korrekt. Daher ist hier sehr wichtig, dass hier alle Daten stimmen. Wenn ihr einen Fehler habt, so könnt ihr jederzeit später die Konfiguration erneut anpassen.

Zum Ändern der Einstellungen gebt ihr folgendes ein:

nano /opt/containers/bitwarden/bwdata/env/global.override.env 

Nun solltet ihr folgendes sehen:

Folgende Zeilen müsst ihr anpassen:

globalSettings__mail__replyToEmail=no-replay@bitwarden.testbereich.net 

globalSettings__mail__smtp__host=REPLACE 

globalSettings__mail__smtp__port=587 

globalSettings__mail__smtp__ssl=false 

globalSettings__mail__smtp__username=REPLACE 

globalSettings__mail__smtp__password=REPLACE 

Informiert euch hier bei eurem E-Mail Provider (gmail, web.de,…) wie eure Zugangsdaten sind.

Bei mir sieht es dann so aus:

globalSettings__mail__replyToEmail=admin@xxx.de 

globalSettings__mail__smtp__host=smtp.xxx.de 

globalSettings__mail__smtp__port=587 

globalSettings__mail__smtp__ssl=true 

globalSettings__mail__smtp__username=admin@xxx.de 

globalSettings__mail__smtp__password=meinSicheresPasswort 

Wichtig ist, dass in der Regel die Einträge „globalSettings__mail__replyToEmail“ und „globalSettings__mail__smtp__username“ identisch sein müssen.

2.3 Weitere Einstellungen

Hier findet ihr zusätzliche Infos zu den weiteren Einstellungen in dieser Datei.

3. docker-compose.override.yml erstellen

Nun müssen wir noch eine neue Datei erstellen, in der wir alle Einstellungen für Traefik vornehmen. Gebt dazu folgendes ein:

nano /opt/containers/bitwarden/bwdata/docker/docker-compose.override.yml 

Nun kopiert ihr folgenden Code in die Datei.

version: '3' 

services: 

 nginx: 

    labels: 

      - "traefik.enable=true" 

      - "traefik.http.routers.bitwarden.entrypoints=http" 

      - "traefik.http.routers.bitwarden.rule=Host(`bitwarden.euredomain.de`)"   # Hier eure URL eingeben # 

      - "traefik.http.middlewares.bitwarden-https-redirect.redirectscheme.scheme=https" 

      - "traefik.http.routers.bitwarden.middlewares=bitwarden-https-redirect" 

      - "traefik.http.routers.bitwarden-secure.entrypoints=https" 

      - "traefik.http.routers.bitwarden-secure.rule=Host(`bitwarden.euredomain.de`)"    # Hier eure URL eingeben # 

      - "traefik.http.routers.bitwarden-secure.tls=true" 

      - "traefik.http.routers.bitwarden-secure.tls.certresolver=http" 

      - "traefik.http.routers.bitwarden-secure.service=bitwarden" 

      - "traefik.http.services.bitwarden.loadbalancer.server.port=8080" 

      - "traefik.docker.network=proxy" 

      - "traefik.http.routers.bitwarden-secure.middlewares=secHeaders@file" 

 

networks: 

  proxy: 

    external: true 

Hier müsst ihr nun wieder die URL entsprechend anpassen.

Vorher:

- "traefik.http.routers.bitwarden.rule=Host(`bitwarden.euredomain.de`)" 

- "traefik.http.routers.bitwarden-secure.rule=Host(`bitwarden.euredomain.de`)" 

Nachher:

- "traefik.http.routers.bitwarden.rule=Host(`bitwarden.testbereich.net`)" 

- "traefik.http.routers.bitwarden-secure.rule=Host(`bitwarden.testbereich.net`)" 

4. Einstellungen übernehmen

Immer wenn ihr Einstellungen getätigt habt, müssen diese noch „übernommen“ werden. Dazu müsst ihr folgenden Befehl ausführen:

/opt/containers/bitwarden/./bitwarden.sh rebuild 

Nun werden die Konfigurationsdateien und Docker Dateien neu erstellt. Diesen Schritt müsst ihr immer tun, wenn ihr etwas ändert. Ebenfalls müsst ihr danach jedes Mal folgende Befehle ausführen. Diese Befehle benötigt ihr, damit Traefik korrekt funktioniert.

cd /opt/containers/bitwarden/bwdata/docker 

yq e -i 'del(.services.nginx.ports)' docker-compose.yml 

yq e -i 'del(.networks.public)' docker-compose.yml 

sed -i 's/public/proxy/g' docker-compose.yml 

sed -i 's/always/unless-stopped/g' docker-compose.yml 

5. Bitwarden starten

Mittels folgenden Befehls könnt ihr Bitwarden bequem starten:

/opt/containers/bitwarden/./bitwarden.sh start 

6. Bitwarden stoppen

Mittels folgenden Befehls könnt ihr Bitwarden bequem beenden:

/opt/containers/bitwarden/./bitwarden.sh stop 

7. Bitwarden Konto erstellen

Geht nun auf eure Webseite zum Beispiel https://bitwarden.euredomain.de

Nun solltet ihr folgendes sehen.

Klickt dann auf „Konto erstellen“.

Hier gebt ihr nun eine E-Mail-Adresse sowie Passwort ein.

Anschließend könnt ihr euch mit eurem neu erstellten Account anmelden.

Nun solltet ihr die Hauptseite von Bitwarden sehen.

8. Administrator Account hinterlegen

Nun wollen wir unseren Account zum Administrator machen. Dazu öffnet ihr folgende Datei

nano /opt/containers/bitwarden/bwdata/env/global.override.env 

Hier ändert ihr die letzte Zeile ab:

vorher:

adminSettings__admins= 

nachher:

adminSettings__admins=admin@testbereich.net 

Gebt hier den Account an, welchen ihr zuvor erstellt habt. Wichtig ist, dass ihr einen korrekten E-Mail-Server hinterlegt haben müsst, da ihr euch nur per E-Mail-Link als Administrator anmelden könnt.

9. Nutzer Registrierung deaktivieren

Nun zeige ich euch, wie ihr die Nutzer Registrierung auf der Startseite deaktivieren könnt. Solltet ihr dies nicht tun kann jeder sich bei euch einen Account erstellen. Öffnet dazu folgende Datei:

nano /opt/containers/bitwarden/bwdata/env/global.override.env 

Hier passt ihr folgende Zeile an:

vorher:

globalSettings__disableUserRegistration=false 

nachher:

globalSettings__disableUserRegistration=true 

Nach diesen Änderungen müsst ihr nun Schritt 4 erneut ausführen!!

10. Als Administrator einloggen

Wenn ihr euren Account als Administrator hinterlegt habt und einen korrekten E-Mail-Server eingetragen habt, so könnt ihr euch als Admin anmelden. Geht dazu auf folgende Webseite: https://bitwarden.euredomain.de/admin

Nun solltet ihr folgendes sehen. Hier gebt ihr nun die E-Mail-Adresse eures Administrator Benutzers an.

Wenn alles korrekt ist, solltet ihr eine E-Mail erhalten. Diese sieht so aus:

Nun könnt ihr auf den Link klicken und seid im Admin Interface.

Hier könnt ihr euch nun beispielsweise alle Benutzer anschauen und bearbeiten / löschen.

11. Premium Funktionen aktivieren

Wenn ihr noch mehr Funktionen benötigt, so könnt ihr euch eine Premium Mitgliedschaft holen. Diese bietet euch folgende Vorteile:

Die Lizenzdatei könnt ihr unter „Einstellungen à Zu Premium wechseln“ hochladen.

12. Zwei Faktor Authen­ti­fi­zierung aktivieren

Ihr könnt in den Einstellungen euren Account mittels 2 Faktor Authentifizierung absichern. Dazu geht ihr unter „Einstellungen --> Zwei-Faktor-Authentifizierung“.

Nun stehen euch folgende Möglichkeiten zur Verfügung:

Wie ihr seht, sind einige Möglichkeiten nur als Premium Nutzer möglich.

Nächster Artikel
PeerTube auf VPS/vServer installieren
Weitere passende Themen