Passwortmanager hochverschlüsselt: Vaultwarden im LAN mit Verschlüsselung und SSL

Passwörter sind das Tor zu Ihrem digitalen Leben. Sie schützen E-Mails, Online-Banking, soziale Netzwerke und Unternehmenszugänge. Viele Menschen vertrauen diese sensiblen Daten Cloud-Diensten an, weil es bequem ist. Doch Bequemlichkeit hat ihren Preis: Immer wieder werden große Passwortanbieter gehackt, Kundendaten landen im Netz, und plötzlich steht man mit offenen Türen da.

Dieses Tutorial ist für Menschen und Unternehmen gedacht, die einen Server im LAN betreiben. Vaultwarden benötigt, um richtig zu funktionieren, eine Verbindung zum Server. Es ist als Online-Passwort-Manager konzipiert. Wenn Sie ihre Passwörter ganz one Server verwalten möchten Empfehle ich ihnen dringend KeePass, KeePassDX, KeepassXC – kommt auf ihr Betriebsystem und auf das Handy Betriebssystem an.

Vaultwarden setzt genau hier an. Statt Ihre Zugangsdaten auf fremden Servern zu speichern, holen Sie sich mit Vaultwarden Ihren eigenen Passwortmanager ins Haus. Sie betreiben Ihren eigenen Server – auf Ihrer Hardware, in Ihrem Netzwerk, unter Ihrer Kontrolle. Die Passwörter werden auf Ihrem Gerät verschlüsselt, bevor sie den Server erreichen. Niemand kann sie entschlüsseln, niemand kann sie einsehen – nicht einmal Sie selbst ohne Ihr Masterpasswort.

Das System basiert technisch auf Bitwarden, nutzt aber eine leichtgewichtige, offene Architektur. Es läuft auf so gut wie jeder Plattform: von einem kleinen Mini-PC über einen dedizierten Server bis hin zu einer virtuellen Maschine unter Proxmox. Damit behalten Sie die volle Datenhoheit, ohne auf Komfort verzichten zu müssen.

Vaultwarden ist kein Klick-und-fertig-Tool – es will verstanden, eingerichtet und gepflegt werden. Dafür bekommen Sie am Ende einen Passwortmanager, der stabil, sicher und komplett unabhängig arbeitet. Keine Abo-Kosten, keine Cloud, kein Risiko durch Dritte. Nur Sie, Ihr Server und Ihre Daten.

Wenn Sie Wert auf echte Datensouveränität legen und die Kontrolle über Ihre digitale Sicherheit behalten wollen, ist Vaultwarden die richtige Wahl. Einmal richtig eingerichtet, läuft es zuverlässig wie ein Tresor, den nur Sie öffnen können.

Im Vergleich zu KeePass bietet Vaultwarden einige entscheidende Vorteile, die es besonders für Teams, Familien oder kleine Unternehmen interessant machen. Während KeePass rein lokal arbeitet, bringt Vaultwarden viele Funktionen mit, die über das einfache Speichern von Passwörtern hinausgehen.

  1. Mehrbenutzerfähigkeit: Vaultwarden kann von mehreren Personen gleichzeitig genutzt werden. Sie können Benutzer anlegen, Berechtigungen vergeben und sogar Passwörter innerhalb einer Organisation sicher teilen.
  2. Zentrale Synchronisation: Alle Geräte greifen auf denselben Server zu. Änderungen, neue Einträge oder Aktualisierungen werden automatisch synchronisiert – egal ob vom PC, Smartphone oder Tablet.
  3. Zugriff über Browser und App: Vaultwarden funktioniert mit den offiziellen Bitwarden-Apps und Browser-Erweiterungen. So können Sie Ihre Passwörter direkt im Browser einfügen, egal ob Chrome, Firefox, Brave oder Edge.
  4. Plattformunabhängig: Der Zugriff funktioniert von überall – Windows, macOS, Linux, Android oder iOS. Sie brauchen keine zusätzliche Software wie bei KeePass, sondern nur Ihre Zugangsdaten und den Serverlink.
  5. Sicheres Teilen von Passwörtern: Über Organisationen und Sammlungen können Sie Passwörter gezielt mit anderen Nutzern teilen, ohne dass sie unverschlüsselt sichtbar werden.
  6. Automatische Backups und Updates: Da Vaultwarden zentral auf einem Server läuft, lässt sich das gesamte System einfach sichern. Ein Backup des Servers reicht, um alle Benutzer und Passwörter zu schützen.
  7. Weboberfläche: Vaultwarden bietet eine vollständige Web-GUI, über die sich alle Funktionen bequem bedienen lassen – ganz ohne lokale Programme.

KeePass ist ideal für Einzelanwender, die alles lokal speichern wollen. Vaultwarden hingegen ist die bessere Wahl, wenn mehrere Nutzer gemeinsam sicher auf Passwörter zugreifen sollen, ohne Cloud-Dienste zu nutzen oder Daten aus der Hand zu geben.

Was ist Vaultwarden?

Vaultwarden ist ein Passwort-Manager, der auf dem bekannten System Bitwarden basiert. Der große Unterschied: Vaultwarden ist eine unabhängige, selbst gehostete Version. Sie brauchen also keinen Account bei einem fremden Anbieter, sondern betreiben Ihren eigenen Passwort-Server. Das macht Vaultwarden zu einer datenschutzfreundlichen Lösung für alle, die ihre sensiblen Zugangsdaten nicht in fremde Hände legen wollen. Sie können aber natürlich auch einen Account bei Bitwarden verwednen.

Im Kern arbeitet Vaultwarden genauso wie Bitwarden. Sie speichern Ihre Passwörter, Logins, Kreditkartendaten und Notizen in einem sogenannten Tresor. Dieser Tresor wird mit einem Hauptpasswort verschlüsselt. Ohne dieses Passwort kann niemand auf Ihre Daten zugreifen – nicht einmal der Administrator Ihres Servers. Die Verschlüsselung erfolgt clientseitig, das heißt, sie passiert auf Ihrem Gerät, bevor die Daten an den Server gesendet werden.

Ein weiterer Vorteil ist die Flexibilität. Vaultwarden kann auf einem kleinen Server, einem Raspberry Pi oder auch in einer virtuellen Maschine betrieben werden. Viele Nutzer installieren es über Docker, weil die Einrichtung grundsätzlich machbar ist – bequem ist das aber keineswegs. Vaultwarden ist nämlich ziemlich eigen, wenn es um Sicherheit geht. Ohne SSL läuft hier gar nichts. Und genau da kommen viele Nutzer schnell an ihre Grenzen.

Auf einem normalen Webserver mit öffentlicher Domain ist das kein Problem. Ein Let’s-Encrypt-Zertifikat ist schnell eingerichtet, und schon läuft der Tresor. Wenn man Vaultwarden aber als Unternehmen im lokalen Netzwerk, also im LAN, betreiben möchte, dann ist schon ordentlich Schmackes gefragt. Hier müssen eigene Zertifikate erzeugt, vertrauenswürdig eingebunden und sauber konfiguriert werden. Das ist kein Hexenwerk, aber auch nichts, was man mal eben nebenbei macht.

Dafür wird man am Ende mit einem System belohnt, das komplett unter der eigenen Kontrolle steht. Kein fremder Anbieter, keine Datenspeicherung irgendwo in der Cloud – alles bleibt auf dem eigenen Server. Wer bereit ist, sich mit SSL, Zertifikaten und Netzwerkkonfiguration auseinanderzusetzen, bekommt mit Vaultwarden ein starkes Werkzeug für maximale Datensouveränität.

Vaultwarden ist auf dem Papier ein Traum für alle, die ihre Passwörter selbst verwalten wollen – in der Praxis aber oft ein echter Geduldstest. Ich wollte das System ursprünglich ganz entspannt lokal auf meinem Windows-PC in Docker aufsetzen. Die Idee war simpel: schnell eine Container-Instanz hochziehen, im Browser testen, fertig. Tja, daraus wurden drei Tage Frickelei.

​Der Grund liegt bei Microsoft. Seit einem Update funktionierte der Zugriff auf „localhost“ nicht mehr so, wie man es gewohnt war. Damit hat Microsoft still und heimlich viele lokale Setups zerschossen. Mehr dazu finden Sie hier: https://www.it-administrator.de/Windows-Update-localhost-HTTP-Fehler. Genau das hat mir den Spaß gründlich verdorben. Vaultwarden will nämlich unbedingt SSL – ohne geht gar nichts. Und wenn man dann lokal mit Docker arbeitet, kommt man mit selbstsignierten Zertifikaten, Browserwarnungen und Portkonflikten schnell an seine Grenzen – besonders wenn localhost par tout nicht will!.

​Für normale Nutzer ist das schlicht nicht praktikabel. Selbst wer sich technisch gut auskennt, wird hier ordentlich fluchen. Ich jedenfalls hatte genug. Also habe ich meinen Proxmox-Server angeworfen und Vaultwarden in einer Debian-13-VM installiert. Und siehe da – einwandfrei! Kein Theater mit localhost, keine Zertifikatsprobleme, keine faulen Kompromisse.

​Wer Vaultwarden wirklich stabil und sicher betreiben will, sollte sich von der Idee verabschieden, es mal eben lokal unter Windows laufen zu lassen. Im Proxmox-Cluster, auf einem dedizierten Linux-System oder einem kleinen Server mit richtiger SSL-Konfiguration läuft das Teil dagegen wie ein Uhrwerk.

Vaultwarden auf Debian 13 Trixie VM auf PVE

​Warum also nicht direkt in Proxmox? Mein ganzes Tun und Handeln hängt ohnehin mit PVE zusammen – beruflich wie privat. Die meisten meiner Kunden kommen wegen Proxmox zu mir oder betreiben inzwischen selbst eine eigene Umgebung. Also liegt es doch nahe, Vaultwarden gleich dort zu installieren. Ich nehme dafür eine ganz klassische Debian-VM. Und zwar bewusst eine VM und keinen Container, denn das hat klare Vorteile.

​Eine virtuelle Maschine ist vollständig vom Hostsystem getrennt. Das bedeutet: eigene Kernel, eigene Dienste, eigene Sicherheitsebene. Wenn in der VM etwas schiefläuft oder ein Update schadet, bleibt der Host unangetastet. Backups und Snapshots sind einfacher und vollständiger – Sie sichern das komplette System, nicht nur ein paar Verzeichnisse. Außerdem lässt sich eine VM leichter migrieren, zum Beispiel auf einen anderen Proxmox-Knoten.

​Läuft auf dem Host was schief, dagegen zerledert es nicht gleich den Container – Win-Win. Denn in einer virtuellen Maschine läuft Vaultwarden komplett isoliert vom eigentlichen System. Selbst wenn der Proxmox-Host oder ein anderer Container auf demselben Server Probleme macht, bleibt die VM davon unberührt. Genau das ist der große Vorteil dieser Trennung: Stabilität, Sicherheit und Kontrolle. Während Container direkt vom Host abhängen und dessen Kernel nutzen, bringt eine VM ihr eigenes, sauberes Betriebssystem mit. Das macht sie deutlich robuster und weniger fehleranfällig, gerade wenn mehrere Dienste parallel laufen oder Updates eingespielt werden.

​Vaultwarden profitiert auch davon, dass es sich in einer VM wie auf echtem Blech verhält. SSL, Netzwerkdienste und Zertifikate lassen sich dort ohne die typischen Einschränkungen eines Containers einrichten. Kein Ärger mit AppArmor, Namespace-Isolation oder restriktiven Berechtigungen. Kurz gesagt: Die VM ist robuster, flexibler und unabhängiger.

​Container sind zwar ressourcenschonender, aber gerade bei sicherheitsrelevanten Anwendungen wie einem Passwort-Server ist mir die zusätzliche Isolation einer VM lieber. Wenn Vaultwarden läuft, läuft es – und zwar sauber getrennt vom Rest.

Vaultwarden in Debian installieren

​Meine Schritt-für-Schritt-Anleitung „Vaultwarden mit Caddy in Debian 13 Trixie installieren“ hat einen langen Geburtsprozess hinter sich. Wie oben schon beschrieben, habe ich mir tagelang die Zähne ausgebissen, bis das Setup endlich sinnvoll funktioniert hat. Es war ein harter Weg voller kleiner Stolperfallen, kaputter Zertifikate und kryptischer Fehlermeldungen. Aber am Ende steht ein sauber laufendes System, das sich sehen lassen kann.

​Also fangen wir an. In dieser Anleitung zeige ich genau, wie Sie Vaultwarden zusammen mit dem Caddy-Webserver unter Debian 13 installieren, SSL korrekt einrichten und das Ganze so konfigurieren, dass es stabil und sicher im LAN läuft. Ohne Cloud, ohne Gefrickel – und vor allem ohne die typischen Windows-Fallen, die mich anfangs fast in den Wahnsinn getrieben hätten.

​Achtung. Diese Anleitung geht davon aus, dass Sie einen Proxmox-Server im LAN, also in Ihrem lokalen Netzwerk, betreiben. Ein solches Setup haben viele, vor allem technisch versierte Anwender oder kleine Firmen, die ihre IT selbst in der Hand behalten wollen. Falls Sie keinen Proxmox-Server haben, ist das aber kein Hindernis. Ein kleiner Mini-PC reicht völlig aus – oder einer der unzähligen ausrangierten Windows-10-Rechner, die noch top funktionieren.

​Diese Geräte sind ideal, um sie als PVE-Host wiederzubeleben. Ein bisschen RAM, eine SSD und ein stabiles Netzwerk – mehr braucht es gar nicht. So wird aus alter Hardware im Handumdrehen ein leistungsfähiger Server, auf dem sich Vaultwarden mit Caddy sicher und zuverlässig betreiben lässt. Und mal ehrlich: besser so, als wenn der alte Rechner weiter Staub fängt oder auf dem Elektroschrott landet.

​Tipp: Ich zeige in einem Video ganz genau, wie die ganze Sache abläuft – von der ISO bis zum laufenden Vaultwarden-Server. Gehen Sie dazu auf meinen YouTube-Kanal und schauen Sie sich die Anleitung dort in Ruhe an. Schritt für Schritt, ohne Gehetze, genau so, wie ich es selbst eingerichtet habe. So können Sie den kompletten Ablauf nachvollziehen und sehen direkt, wie alles zusammenpasst.

Debian VM auf Proxmox installieren

​Laden Sie sich die Debian-Minimal-ISO (Netinstall-ISO) direkt von der offiziellen Debian-Webseite herunter und speichern Sie sie anschließend im lokalen ISO-Speicher Ihres Proxmox-Servers. Öffnen Sie dazu in der Proxmox-Oberfläche den Speicherbereich, wählen Sie den Reiter ISO-Images und laden Sie die Datei hoch. Diese kleine Installations-ISO ist ideal, weil sie nur das Nötigste enthält und während der Installation alle weiteren Pakete frisch aus dem Netz lädt. So stellen Sie sicher, dass Ihr Debian-System aktuell, schlank und perfekt für den Vaultwarden-Server vorbereitet ist.

Schritt 1

​Wenn Sie die ISO hochgeladen haben, erstellen Sie im Anschluss eine neue virtuelle Maschine in Proxmox. In der Einrichtungs-GUI wählen Sie bei der Erstellung am besten folgende Einstellungen, die sich in der Praxis bewährt haben:

  • ​Als Name geben Sie zum Beispiel „vw-debian-13-001“ ein. Unter OS wählen Sie „Linux“ und Version „6.x – 2.6 Kernel“. Bei der ISO-Datei wählen Sie die zuvor hochgeladene Datei „debian-13.1.0-amd64-netinst.iso“.
  • ​Unter System aktivieren Sie den QEMU Agent (Haken bei „QEMU Guest Agent“). Stellen Sie das BIOS auf „OVMF (UEFI)“ um und aktivieren Sie „Pre-Enrolled Keys“, damit Secure Boot problemlos funktioniert. Wählen Sie als Maschinentyp „q35“.
  • ​Im Reiter Festplatte wählen Sie „SCSI“ als Bus/Device-Typ, aktivieren „Discard“ und „IO-Thread“ und geben der VM eine Größe von etwa 60 GB. Als Controller wählen Sie „VirtIO SCSI single“. 
  • ​Bei CPU wählen Sie 2 Kerne mit dem Typ „x86-64-v2-AES“, damit AES-Befehle für Verschlüsselung unterstützt werden. Speicher: 2048 MB RAM reichen völlig. NUMA bleibt deaktiviert.
  • ​Im Netzwerk wählen Sie „VirtIO (paravirtualized)“ und als Bridge „vmbr0“. Damit hängt die VM sauber im LAN. Aktivieren Sie außerdem „Start at boot“, damit Vaultwarden später automatisch mit hochfährt.

​Wenn alles eingerichtet ist, starten Sie die VM und beginnen Sie mit der Debian-Installation. Wählen Sie dabei keine Desktopumgebung und kein GNOME aus. Installieren Sie nur die Standard-Systemwerkzeuge und den SSH-Server. Mehr brauchen wir nicht, um Vaultwarden und Caddy zu betreiben. So bleibt die VM extrem schlank und ressourcenschonend. Im Notfall können Sie später jederzeit eine grafische Oberfläche nachrüsten, falls Sie das möchten.

​Vergeben Sie während der Installation ein Root-Passwort, legen Sie einen Benutzernamen und ein Benutzerpasswort fest und wählen Sie bei der Partitionierung die gesamte Festplatte aus. Sobald die Installation abgeschlossen ist, starten Sie die VM neu.

​Nach dem Neustart melden Sie sich an der Konsole oder über SSH mit Ihrem Benutzer an – ab hier geht es dann richtig los mit der Einrichtung von Caddy und Vaultwarden.

​Schritt für Schritt Anleitung: Vaultwarden in Debian installieren

Schritt 2

Als Erstes öffnen wir den SSH-Zugang, damit Sie sich bequem über einen SSH-Client wie KiTTY oder PuTTY mit der VM verbinden können. Das hat einen großen Vorteil: Sie müssen nicht alles mühsam in der Proxmox-Konsole tippen, sondern können die Befehle direkt von hier kopieren und in Ihr Terminal einfügen.

​Melden Sie sich also zunächst in der >_Console auf PVE in Ihrer Debian-VM. Bei der Installation haben wir SSH Server angehakelt und dieser sollte installiert sein.

​Öffnen Sie die SSH-Konfigurationsdatei, um den Zugriff auf Ihre Debian-VM anzupassen. Geben Sie dazu folgenden Befehl ein:

​nano /etc/ssh/sshd_config

​Scrollen Sie in der Datei bis zur Zeile mit dem Port-Eintrag: #22. Ändern Sie diesen wie folgt:

​Port 2255

​Suchen Sie anschließend nach der Zeile PermitRootLogin und stellen Sie sicher, dass dort steht:

​PermitRootLogin Yes

​Damit erlauben Sie sich die direkte Anmeldung als root-Benutzer. Das ist für die Einrichtung praktisch, kann später aber wieder auf „No“ oder „prohibit-password“ gestellt werden, wenn alles fertig ist.

​Speichern Sie die Änderungen mit Strg+o, bestätigen Sie mit Enter und schließen Sie den Editor mit Strg+x. Starten Sie anschließend den SSH-Dienst neu:

​systemctl restart ssh

Schritt 3

​Dann die Interfaces anpassen (natürlich auf den eigenen IP Bereich):

​nano /etc/network/interfaces
​auto lo

iface lo inet loopback

auto ens18
iface ens18 inet static
  address 192.168.2.130/24
  gateway 192.168.2.1
  dns-nameservers 1.1.1.1.1 8.8.8.8 192.168.2.1

Speichern mit Strg+o und verlassen mit Strg+x. Danach:

​systemctl restart networking

​​Ab jetzt können Sie sich über Ihren SSH-Client, zum Beispiel KiTTY oder PuTTY, mit der IP 192.168.2.130 auf Port 2255 verbinden.

Schritt 4

​Wenn Sie diese Einstellungen vorgenommen haben und sich erfolgreich über KiTTY auf Ihre Debian-VM verbinden konnten, ist alles richtig konfiguriert. Der SSH-Zugang funktioniert, und die Verbindung über Port 2255 steht. Öffnen Sie die Hosts Datei mit:

​nano /etc/hosts

​Geben sie den Namen: „vw-debian-13-001“ ein. Sie können später die Domain immer noch ändern. ​Tun Sie das auch in der:

​nano /etc/hostname

​Jetzt fahren Sie die VM sauber herunter, damit Sie anschließend die restliche Konfiguration direkt in Proxmox oder an der VM vornehmen können. Geben Sie dazu einfach folgenden Befehl ein:

​shutdown -h now

​Nach wenigen Sekunden schaltet sich die VM aus. Sobald der Status in Proxmox auf „stopped“ steht, geht es mit der nächsten Phase weiter.

Installation Docker und Caddy in Debian

​Fahren Sie die VM nach dem Backup wieder hoch, melden Sie sich an – per SSH über Port 2255 – und dann geht’s weiter mit der Einrichtung. Ab hier kümmern wir uns um die Vorbereitung für Caddy und Vaultwarden, damit Ihr Passwortserver bald stabil und sicher im LAN läuft.

Schritt 5

​Aktualisieren Sie den Debian-Server zunächst vollständig, damit alle Pakete auf dem neuesten Stand sind. Geben Sie dazu folgende Befehle ein:

​apt update
apt upgrade -y

​Damit werden die Paketlisten aktualisiert und alle verfügbaren Updates installiert. Wenn alles durchgelaufen ist, empfiehlt es sich, einmal neu zu starten:

​reboot

​Nach dem Neustart melden Sie sich wieder an – dann ist Ihr System auf aktuellem Stand und bereit für die Installation von Caddy und Vaultwarden.

Schritt 6

​Die Debian-VM ist also neu gestartet und einsatzbereit. Jetzt kümmern wir uns um die Installation von Docker und Docker Compose, damit wir Vaultwarden später in sauberen Containern betreiben können. Docker sorgt dafür, dass alle Komponenten voneinander getrennt laufen, und mit Compose lässt sich das gesamte Setup bequem mit einer einzigen Datei steuern. Sobald Docker läuft, legen wir das Arbeitsverzeichnis an und bereiten die Umgebung für Vaultwarden und Caddy vor.

​apt install -y docker.io docker-compose curl

Nach der Installation Docker aktivieren:

​systemctl enable --now docker

​Vaultwarden und Caddy benötigen eigene Arbeitsverzeichnisse, in denen sie ihre Konfigurationen, Zertifikate und Daten speichern können. Diese Verzeichnisse legen wir nun im Ordner /opt an. Damit bleiben alle relevanten Dateien sauber getrennt vom restlichen System und sind bei einem Backup oder einer Migration leicht zu sichern. Sobald die Ordner angelegt sind, werden dort später die Docker-Container ihre Daten persistieren – also dauerhaft ablegen, auch wenn die Container selbst einmal neu gestartet oder aktualisiert werden.

​mkdir -p /opt/vaultwarden

Betreten Sie das neue Verzeichnis:

​cd /opt/vaultwarden

Docker Compose Datei

Schritt 7

​Vaultwarden und Caddy werden gemeinsam über eine docker-compose.yml-Datei eingerichtet. Diese Datei sorgt dafür, dass beide Systeme automatisch miteinander kommunizieren und korrekt gestartet werden. Caddy übernimmt dabei die SSL-Verschlüsselung und den Webzugriff, während Vaultwarden im Hintergrund als Passwortserver läuft.

​Die folgende Compose-Datei ist getestet und funktioniert einwandfrei. Achten Sie aber unbedingt darauf, alle IP-Adressen, Ports und Domainnamen an Ihre eigene Umgebung anzupassen. Gerade beim Betrieb im LAN ist es wichtig, dass die internen Adressen korrekt gesetzt sind – sonst finden sich die Dienste später nicht oder SSL schlägt fehl.

​Kurz gesagt: Auch wenn ich mich im Video bei diesem Detail vertan habe – Ihre Daten sind bei dieser Kombination genauso gut aufgehoben. Und darum geht es ja: maximale Sicherheit, maximale Kontrolle, minimale Angriffsfläche.

​​In meinem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie KeePassXC mit Proton-Drive kombinieren und Ihre Passwort-Datenbank sicher und hoch verschlüsselt in der Cloud speichern – ohne einem Cloudpasswortmanager Ihre sensibelsten Daten anzuvertrauen – völlig ohne Zusatzkosten.

Erstellen Sie mit dem folgenden Befehl die docker-compose.yml Datei:

​nano /opt/vaultwarden/docker-compose.yml

Fügen Sie folgenden Inhalt ein:

#docker-compse Datei von Ralf-Peter Kleinert
#ComputerRalle / DIGITAL-easy 
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: unless-stopped
    environment:
      WEBSOCKET_ENABLED: "true"
      SIGNUPS_ALLOWED: "true"
      # Diese Domaine wird in die Windows hosts Datei eingetragen
      DOMAIN: "https://vw-debian-13-001:8443"
      # Dieser Token muss geändert werden
      ADMIN_TOKEN: "DeinSuperSicheresToken123!"
    volumes:
      - ./vw-data:/data
    ports:
      # Vaultwarden intern erreichbar
      - "8081:80"
  caddy:
    image: caddy:latest
    container_name: caddy
    restart: unless-stopped
    # vermeidet NAT/Proxy-Probleme
    network_mode: host
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy-data:/data
      - ./caddy-config:/config
      - ./certs:/etc/caddy/certs

Caddyfile

​Um Vaultwarden und Caddy miteinander zu verbinden, benötigen Sie eine Caddy-Konfigurationsdatei – das sogenannte Caddyfile. Diese Datei legt fest, unter welcher Domain oder IP-Adresse Ihr Vaultwarden-Server erreichbar ist, welches Zertifikat verwendet wird und wie der Datenverkehr weitergeleitet wird.

​Legen Sie die Datei jetzt an und fügen Sie den folgenden Inhalt ein. Achten Sie dabei darauf, die Domain und IP-Adresse an Ihre eigene Umgebung anzupassen, damit Caddy korrekt mit Vaultwarden kommunizieren kann. Sobald das Caddyfile gespeichert ist, startet Caddy automatisch mit den richtigen SSL-Einstellungen und leitet alle Anfragen sicher an Vaultwarden weiter.

​​nano /opt/vaultwarden/Caddyfile

Angepasste Caddyfile (anders als im aktuelle Video) dieses bindet selbst erzeugte Zertifikate ein.

https://vw-debian-13-001:8443, https://192.168.2.130:8443 {
    tls /etc/caddy/certs/vw.crt /etc/caddy/certs/vw.key
    reverse_proxy 127.0.0.1:8081
}

10 Jahre SSL Zertifikat erstellen

Wir betreten wieder den Ordner vaultwarden:

cd /opt/vaultwarden

Mit dem folgenden Befehl wird ein 10 Jahre gültiges Zertifikat erstellt „-days 3650“ – das kann natürlich an die eigenen Bedürfnisse angepasst wedren. Dieses Zertifikat und der dazugehörige Schlüssel werden im /opt/vaultwarden/cert das Zertifikat als „vw.crt“ und der Key als „vw.key“ erzeugt:

mkdir -p ./certs && \
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
  -keyout ./certs/vw.key -out ./certs/vw.crt \
  -subj "/CN=vw-debian-13-001" \
  -addext "subjectAltName=DNS:vw-debian-13-001,IP:192.168.2.130"

Nach dem Erzeugen kann das „vw.crt“ mit dem cat Befehl angezeigt, kopiert und auf den Windows-Computer kopiert, gespeichert und installiert werden. Sie brauchen das in Schritt 10 an der Stelle dann nicht nochmal machen.

cat /opt/vaultwarden/certs/vw.crt

Welche Vorteile habe ich bei einem selbst erzeugten Zertifikat?

Erstens: Keine zusätzliche Konfiguration oder externe Abhängigkeiten.
Sie müssen keine komplizierte Einrichtung über Cloudflare, DNS-Anbieter oder spezielle Webservermodule durchführen. Besonders als Privatperson oder wenn Sie keine eigene Domain besitzen, ist das ein enormer Vorteil. Auch dann, wenn Ihr Domainanbieter in den Automatisierungsfunktionen von Caddy oder Nginx gar nicht aufgeführt ist, ersparen Sie sich mit einem eigenen Zertifikat jede externe Einrichtung und bleiben vollständig autark.

Zweitens: Unabhängigkeit vom Internet.
Ein selbst erzeugtes Zertifikat funktioniert komplett offline. Let’s Encrypt hingegen benötigt immer eine Internetverbindung, um die Domain- oder DNS-Validierung durchzuführen. Bei einem rein internen Server ist das oft gar nicht möglich.

Drittens: Volle Kontrolle über Laufzeit und Gültigkeit.
Let’s-Encrypt-Zertifikate laufen alle 90 Tage ab und müssen automatisch verlängert werden. Wenn diese Erneuerung fehlschlägt, zeigt der Browser sofort eine Sicherheitswarnung. Mit einem eigenen Zertifikat bestimmen Sie selbst die Laufzeit – etwa 10 Jahre – und haben keine Abhängigkeiten von externen Diensten.

Viertens: Datenschutz und Diskretion.
Bei Let’s Encrypt werden alle ausgestellten Zertifikate in öffentlichen Transparenz-Logs (CT-Logs) gespeichert. Das ist für öffentliche Websites sinnvoll, aber für interne Systeme unerwünscht. Ihr selbst erzeugtes Zertifikat bleibt vollständig privat und erscheint in keiner öffentlichen Datenbank.

Fünftens: Optimale Kompatibilität im LAN.
Let’s Encrypt akzeptiert nur Domains, die öffentlich auflösbar sind. Interne Hostnamen oder IP-Adressen können nicht direkt verwendet werden. Ein eigenes Zertifikat dagegen kann beliebige SAN-Einträge (Subject Alternative Names) enthalten – also sowohl Hostnamen als auch IP-Adressen aus Ihrem lokalen Netzwerk.

Sechstens: Einmalige Einrichtung.
Wenn Sie das Root-Zertifikat einmal auf Ihren Geräten (z. B. unter Windows, Android oder iOS) importieren, wird es dauerhaft als vertrauenswürdig anerkannt. Danach zeigt der Browser beim Aufruf Ihres Servers dasselbe grüne Schloss an wie bei Let’s Encrypt.

Vaultwarden Compose starten

Schritt 8

​Sie bleiben im Ordner /opt/vaultwarden, denn hier liegt Ihre docker-compose.yml-Datei. Von hier aus starten wir gleich das komplette Setup. Falls Sie sich gerade in einem anderen Verzeichnis befinden, wechseln Sie zuerst mit dem folgenden Befehl dorthin:

​cd /opt/vaultwarden

​Sobald Sie sich im richtigen Ordner befinden, starten Sie Docker Compose. Damit werden die Container für Vaultwarden und Caddy automatisch heruntergeladen, erstellt und gestartet. Nach wenigen Minuten laufen beide Systeme und arbeiten Hand in Hand – Caddy kümmert sich um SSL und den Webzugriff, Vaultwarden um die sichere Passwortverwaltung. Starten Sie also den Befehl:

​docker-compose up -d

​Jetzt werden die Container heruntergeladen und gestartet. Warten Sie, bis beide Container  im Docker-Status als „grün“ beziehungsweise „running“ angezeigt werden. Erst wenn beide Systeme vollständig laufen, fahren Sie mit dem nächsten Schritt fort. Dann kümmern wir uns um die Feineinstellungen von Caddy und die abschließende Konfiguration von Vaultwarden, damit Ihr Passwortserver über SSL erreichbar ist und im LAN stabil läuft.

Prüfen Sie, in der Debian VM:

Das sollte HTML von Vaultwarden liefern:

​curl -v http://127.0.0.1:8081

​Caddy muss auf 0.0.0.0:8443 lauschen:

​ss -tulpen | grep 8443

​HTTPS durch Caddy testen:

​curl -vk https://vw-debian-13-001:8443
​curl -vk https://192.168.2.130:8443

​Check ob beide Zertifikate, für Domain und IP angelegt wurden:

ls /opt/vaultwarden/certs/

Windows Host Datei bearbeiten

Schritt 9

Öffnen Sie die Windows Hosts Datei, indem Sie das in einem Ordner in die Adresszeile eigeben:

​C:\Windows\System32\drivers\etc\hosts

​Ganz unten tragen Sie die IP der VM und die Domain die im Caddyfile steht ein:

​192.168.2.130 vw-debian-13-001

​Zertifikat für Windows und Handy holen

Schritt 10

​Root-CA von Caddy aus dem Container holen.

​Das Zertifikat ist der entscheidende Baustein für die sichere Verbindung zwischen Ihren Geräten und dem Vaultwarden-Server. Es sorgt dafür, dass der Datenverkehr verschlüsselt und Ihre interne Domain als vertrauenswürdig eingestuft wird.

Zertifikat anzeigen:

​ ​cat /opt/vaultwarden/certs/vw.crt

Dann mit der Maus markieren, mit Strg + Shift + C kopieren und auf einem Windows Computer in eine TXT Datei kopieren. Diese TXT als vw.crt speichern.

​Windows:
vw.crt per Doppelklick installieren → Lokaler Computer → Vertrauenswürdige Stammzertifizierungsstellen.

Zertifikat Dauer in Windows

​Android:
Einstellungen → Sicherheit → Anmeldedaten/Zertifikate → CA-Zertifikat installieren → vaultwarden.crt wählen. Bei Android in den Einstellungen nach CA suchen, wenn Sie es unter dem oben stehenden Pfad nicht finden.

Damit sollten sie jetzt eine Verbindung zum Vaultwarden aufbauen können. Auf Windows über die Domain und die IP und auf Android auf die IP. Android muss im selben LAN sein.

https://vw-debian-13-001:8443

Jetzt können Sie noch die Bitwarden App – diese wird für Vaultwarden benötigt – herunterladen, und mit der IP oder Ihrer gewählten Domain verbinden:

https://bitwarden.com/de-de/download/#downloads-desktop

Die Android- oder iOS-Bitwarden-App finden Sie im jeweiligen App Store. Bedenken Sie, dass Sie das Zertifikat „vw.crt“ auf den Mobilgeräten installieren müssen, um eine Verbindung herstellen zu können. Wenn Sie Vaultwarden nur im LAN ohne Internetverbindung für Ihre Firma verwenden möchten, beachten Sie bitte, dass die Mobilgeräte eine direkte Verbindung zum Server benötigen. Der positive Aspekt: Die Passwörter verlassen die Firma nicht.

YouTube-Video Vaultwarden im LAN

Related Post