ID.nl logo
Zo maak je je eigen Bitwarden-server
© Reshift Digital
Huis

Zo maak je je eigen Bitwarden-server

Wil je accountgegevens, notities en creditcardgegevens opslaan in een digitale kluis, dan is Bitwarden al jaren een van de beste opties. Wel moet je er genoegen mee nemen dat gegevens in de cloud worden bewaard. Vind je dat maar niks, dan kun je Bitwarden ook lokaal op je eigen server hosten. In dit artikel laten we zien hoe je dat veilig en relatief eenvoudig voor elkaar krijgt via Docker, een reverse proxy en de alternatieve Bitwarden-server Vaultwarden.

In dit artikel nemen we je mee in het maken van een server waarop je superveilig je wachtwoorden kunt bewaren.

  • Eerst installeren we Docker
  • Daarna stellen we Vaultwarden in
  • Vervolgens zetten we een reverse proxy op voor toegang op afstand
  • En tot slot stellen we alles in

Te lastig? Gebruik Bitwarden dan gewoon via de cloud: Alles over je wachtwoorden beheren met Bitwarden

Code downloaden In dit artikel worden wat voorbeelden van stukken code gegeven. Omdat overtikken van code erg foutgevoelig is, kun je die code beter downloaden en daarna bekijken of kopiëren. Zie het bestand code-bitwarden.txt.

Een wachtwoordbeheerder is een bijna onmisbare tool. In de digitale kluis kun je veilig al je accounts bewaren, maar ook notities en financiële gegevens van je creditcard. In principe brengt zo’n tool ook veiligheid. Je kunt bijvoorbeeld veel makkelijker heel sterke wachtwoorden gebruiken. Je hoeft maar één hoofdwachtwoord te onthouden en op individuele apparaten volstaat vaak een pincode.

Wachtwoordbeheerders bewaren al je gegevens normaliter in de cloud, met als voordeel dat je er vanaf elk apparaat bij kunt. Ook daar zijn ze natuurlijk versleuteld met het hoofdwachtwoord. Toch is het geen prettig gevoel als je leest over gestolen data, zeker als je financiële gegevens in je digitale kluis bewaart. Zo is LastPass al meerdere keren het slachtoffer van een datalek geweest. Het versleutelingsmechanisme zelf werd niet gekraakt, maar hackers hadden wel alle tijd om te proberen met brute kracht het hoofdwachtwoord te kraken – wat dan eigenlijk de laatste verdedigingslinie is.

We nemen daarom in dit artikel het heft in eigen hand. We gaan Bitwarden, een van de populairste en veiligste wachtwoordbeheerders, installeren op een lokale server achter een reverse proxy.

©Song_about_summer

De digitale kluis van je wachtwoordbeheerder staat meestal in de cloud.

Waarom zelf hosten

Het zelf hosten van Bitwarden brengt veel voordelen met zich mee, maar ook een paar nadelen. Om te beginnen zullen hackers zich eerder op de centrale servers richten van de wachtwoordbeheerders. Ze kennen niet eens de locatie van jouw Bitwarden-server, die ook nog eens verscholen gaat achter een reverse proxy. En je kunt ook nog extra maatregelen treffen om de toegang te beperken.

De alternatieve Bitwarden-server Vaultwarden (zie het gelijknamige kader) die we in dit artikel gebruiken, geeft je ook nog eens mogelijkheden waar je normaal voor moet betalen. Een nadeel is dat je uiteraard een server nodig hebt en ook verantwoordelijk bent voor de beveiliging daarvan. Je zult bijvoorbeeld het besturingssysteem en de software up-to-date moeten houden en ook voor back-ups van je digitale kluis moeten zorgen.

©tutye - stock.adobe.com

Zelfs een Raspberry Pi is voor de meeste toepassingen geschikt als server.

Vaultwarden: lichtgewicht Bitwarden-server Voor onze Bitwarden-server gebruiken we niet de officiële server maar het opensource-alternatief Vaultwarden, eerder bekend als bitwarden_rs. Je kunt het project vinden op GitHub. Het is een lichtgewicht Bitwarden-server die je eenvoudig zelf kunt hosten. De eisen zijn bescheiden in vergelijking met de officiële server. Veel mensen gebruiken zelfs een Raspberry Pi, inclusief de Zero W!

De software ondersteunt vrijwel alle mogelijkheden van Bitwarden. Je kunt uiteraard ook alle standaardtoepassingen van Bitwarden ermee gebruiken, zoals de browserextensies. Ook kun je zonder meerprijs enkele mogelijkheden gebruiken die normaal zijn voorbehouden aan betalende klanten, zoals het maken van een organisatie en bewaren van bijlagen.

Deze alternatieve en opensource Bitwarden-server kun je vinden op GitHub.

Wat heb je nodig?

Vaultwarden is geschreven in Rust, een programmeertaal die snel aan populariteit wint en wordt geroemd om zijn snelheid en veiligheid. We hebben er in dit artikel weinig mee te maken, omdat we alles gaan installeren via Docker. Maar het betekent wel dat een relatief licht systeem volstaat. Je kunt bijvoorbeeld een eenvoudige server met Ubuntu gebruiken, maar ook alle uitvoeringen van de Raspberry Pi zijn geschikt. Verder zou je een NAS van Synology of QNAP kunnen gebruiken die Docker ondersteunt.

We zorgen er ook direct voor dat Bitwarden toegankelijk is van buitenaf via een reverse proxy. We kiezen daarbij voor een installatie van Nginx Proxy Manager via Docker, maar er zijn ook alternatieven mogelijk, zoals Caddy of Traefik. En ook binnen het Toepassingsportaal op een Synology-NAS kun je een reverse proxy instellen.

We installeren alles binnen Docker, wat vaak ook werkt op een Synology-NAS.

Domein en portforwarding

Om onze Bitwarden-server op afstand te kunnen benaderen, gaan we een subdomein gebruiken en enkele regels voor portforwarding instellen in de router. Hiervoor verwijs je het A-record van een subdomein naar het ip-adres van je internetverbinding thuis. Als je geen vast ip-adres hebt, zou je met dynamische DNS kunnen werken, zoals Duck DNS of No-IP.

In je router moet je het verkeer naar de poorten 80 en 443 doorsturen naar de reverse proxy. Aan de kant van de reverse proxy gaan we ook voor veilige https-toegang zorgen met een echt ssl-certificaat van Let’s Encrypt. Hiervoor zijn nauwelijks extra configuratiestappen nodig.

We sturen verkeer voor het subdomein door naar ons thuisnetwerk.

Installatie Docker

In dit artikel gaan we zowel Vaultwarden als de reverse proxy opzetten via Docker. Instructies voor de installatie van Docker voor verschillende besturingssystemen zijn wijd verspreid op internet. Wij hebben Docker onder Ubuntu 22.04 geïnstalleerd aan de hand van deze instructies.

Tegenwoordig wordt ook Docker Compose standaard geïnstalleerd. Dat gaan we in dit artikel gebruiken. Het zorgt ervoor dat je containers via een script kunt configureren. Bij een NAS van Synology of QNAP kun je containers via de webinterface beheren. Een standaard Docker-installatie kun je overigens ook uitbreiden met een webinterface, door bijvoorbeeld Portainer (ook via een Docker-container) te installeren.

Heb je Home Assistant? Dan kun je Vaultwarden eventueel via een community-add-on installeren. De vereiste repository wordt tegenwoordig standaard toegevoegd en geactiveerd.

Binnen Home Assistant kun je de add-on voor Vaultwarden installeren.

Docker-container

Om Vaultwarden te installeren, heb je uiteraard het juiste Docker-image nodig. Wij kiezen het standaardimage (vaultwarden/server). Datzelfde image ondersteunt het gebruik van SQLite, MySQL of PostgreSQL als database. Voorheen waren er verschillende images voor elk type database. Het advies is doorgaans om de standaardoptie SQLite te gebruiken, omdat deze het meest gebruikt en getest is. Verder worden meerdere architecturen ondersteund, waardoor je de container zowel op een x86-systeem als een ARM-systeem (zoals een Raspberry Pi) kunt opzetten.

We gebruiken de officiële container voor Vaultwarden.

Docker Compose-script

Op ons Ubuntu-systeem beginnen we met het maken van een map voor Vaultwarden en de bijbehorende data. We maken deze onder onze thuisfolder met de opdracht:

mkdir -p ~/docker/vaultwarden/data

Ga met de volgende opdracht naar de map voor Vaultwarden:

cd ~/docker/vaultwarden

En maak daarin het onderstaande script aan met:

nano docker-compose.yml

Het script bevat:

De code kun je overnemen vanuit .

Vooral de opties onder environment zijn persoonlijk. Dit zijn de zogenoemde omgevingsvariabelen. Als je een reverse proxy gaat gebruiken, vul dan achter DOMAIN het https-adres in dat je voor Bitwarden gaat gebruiken. Op de host (het systeem waarop we Vaultwarden installeren) gebruiken we poort 8080, die we koppelen aan poort 80 binnen de container.

Voor websockets gebruiken we (aan beide kanten) poort 3012. Met deze opdracht (in dezelfde map als het bestand docker-compose.yml) kun je Vaultwarden starten:

docker compose up -d

Wil je Vaultwarden stoppen, bijvoorbeeld om aanpassingen te maken aan de configuratie, stop dan eerst de container met:

docker compose down

Na het aanpassen van de configuratie start je de toepassing weer.

Met deze configuratie starten we onze container via Docker Compose.

Toegang configureren

Met bovenstaande configuratie kan iedereen via de web vault (de pagina die je ziet als je naar http://ipadres:8080 gaat) inloggen met een account, maar ook gewoon een nieuw account registreren. Wil je niet dat iedereen zomaar een nieuw account kan maken? Verander dan (eventueel op een later moment) de optie SIGNUPS_ALLOWED van true naar false.

Overigens kun je dat ook prima vanaf het begin doen als je nog geen account hebt. Er is namelijk een speciale beheerdersomgeving waar je gebruikers kunt bekijken of verwijderen, maar ook kunt uitnodigen om te registreren, zelfs als je die optie hebt uitgezet.

Je komt in deze omgeving als je /admin achter het adres zet. Om de omgeving te activeren, moet je een tekststring achter ADMIN_TOKEN invullen. Diezelfde tekststring moet je invullen om daadwerkelijk toegang te krijgen. Je kunt zelf een tekststring bedenken of je genereert een willekeurige met de opdracht:

openssl rand -base64 48
Via een speciale admin-omgeving wijzig je de opties.

SMTP-configuratie

Bij sommige acties zal Vaultwarden een e-mail willen versturen. Denk aan bepaalde meldingen, maar ook verzoeken zoals het bevestigen van een e-mailadres. Daarom is het handig om via omgevingsvariabelen de correcte instellingen voor SMTP op te geven. Je kunt bijvoorbeeld die van je internetprovider gebruiken. Voor bijvoorbeeld KPN kun je de omgevingsvariabelen in het bestand docker-compose.yml aanvullen met onderstaande regels. Daarbij kun je bij SMTP_FROM overigens zelf een afzender invullen. Op de admin-pagina vind je op het tabblad Settings een handige optie om je SMTP-instellingen te testen. Het is overigens niet handig om de configuratie daar aan te passen (zie kader ‘Configuratie Vaultwarden’).

De code kun je overnemen vanuit .
Via de beheeromgeving verstuur je een testmail.

Configuratie Vaultwarden In deze masterclass gebruiken we omgevingsvariabelen voor de configuratie van Vaultwarden. Eventueel kun je de configuratie ook veranderen en opslaan via de admin-pagina (/admin) van Vaultwarden. Dat raden we in principe af om praktische redenen: de veranderingen op de admin-pagina worden namelijk in een bestand (config.json) vastgelegd en ze hebben daarna voorrang boven de omgevingsvariabelen. Dat is in sommige situaties verwarrend.

Server te lastig, cloud onveilig?

Schrijf ze dan zelf op!

Verbinden op afstand

Je kunt Bitwarden ook onderweg gebruiken, bijvoorbeeld op een smartphone of tablet. Dit vereist wel dat je het account thuis via je lokale netwerk aanmaakt en ook steeds thuis gegevens synchroniseert. Wil je onderweg ook een nieuw apparaat toegang kunnen geven tot Bitwarden of gegevens synchroniseren, dan zul je voor toegang op afstand moeten zorgen. Daar zijn verschillende mogelijkheden voor.

Een populaire optie is het opzetten van een VPN-verbinding naar je thuisnetwerk met bijvoorbeeld Wireguard of OpenVPN. Maar in dit artikel gaan we een reverse proxy gebruiken. We kiezen daarbij voor Nginx Proxy Manager. Ook dit geeft een goede bescherming en de drempel voor toegang is lager. Je kunt de reverse proxy natuurlijk ook heel handig voor andere toepassingen op je netwerk gebruiken!

Voor toegang op afstand gaan we Nginx Proxy Manager gebruiken.

Installatie reverse proxy

Nginx Proxy Manager installeer je net als Vaultwarden eenvoudig via Docker, eventueel op hetzelfde systeem. Het maakt (uiteraard) op de achtergrond gebruik van de webserver Nginx als reverse proxy en maakt desgevraagd gratis ssl-certificaten van Let’s Encrypt aan, zodat directe toegang via https mogelijk is.

Via een handige webinterface voeg je vervolgens verbindingen voor de proxyserver toe, waaronder die van Vaultwarden. Zorg dat je (zoals eerder aangegeven) in je router de poorten 80 en 443 doorstuurt naar de server waarop je Nginx Proxy Manager hebt geïnstalleerd. We maken op dat systeem een nieuwe map met een eigen bestand docker-compose.yml, met daarin de volgende inhoud:

De code kun je overnemen vanuit .

Ook deze Docker-container start je weer met deze opdracht (in dezelfde map als het bestand docker-compose.yml):

docker compose up -d
Voor de reverse proxy volstaat deze bescheiden configuratie.

Bitwarden toevoegen

Heb je Nginx Proxy Manager gestart, dan zie je op het adres http://ipadres:81 de webinterface. De eerste keer moet je inloggen met admin@example.com en het wachtwoord changeme. Direct wordt gevraagd om je gegevens en het wachtwoord aan te passen. Hierna kun je de Vaultwarden-server toevoegen. Ga daarvoor naar Hosts / Proxy Hosts en kies Add Proxy Host. Vul bij Domain Names de domeinnaam in (bijvoorbeeld bitwarden.domein.nl) en druk op Enter.

Daaronder geef je aan hoe de toepassing op je netwerk wordt benaderd. Bij Scheme kies je http, bij Forward Hostname / IP vul je het ip-adres van de Vaultwarden-server in en bij Forward Port het poortnummer (8080). Zet een vinkje bij Websockets Support, Vaultwarden maakt hier gebruik van. Vink optioneel ook Block Common Exploits aan voor wat extra bescherming.

Op het tabblad Custom locations voeg je twee locaties toe voor websocket-ondersteuning: /notifications/hub met bij Scheme de waarde http, bij Forward Hostname / IP het ip-adres van de Vaultwarden-server en bij Forward Port het poortnummer 3012. Voeg via Add location de tweede locatie /notifications/hub/negotiate toe met dezelfde gegevens, maar nu poortnummer 8080.

Op het tabblad SSL kies je onder SSL Certificate de optie Request a new SSL Certificate. Zet een vinkje bij Force SSL en bij HTTP/2 Support. Vink ook aan dat je akkoord gaat met de gebruiksvoorwaarden van Let’s Encrypt. Klik dan op Save. Hiermee is je reverse proxy actief!

We voegen onze Bitwarden-server toe aan Nginx Proxy Manager.

Werking websockets controleren Vaultwarden gebruikt websockets om gegevens te synchroniseren tussen clients. Het activeren kan soms een uitdaging zijn. Je kunt de werking eenvoudig controleren als je de web vault opent in Chrome en dan de console in de gaten houdt. Dat is een onderdeel van de tools voor ontwikkelaars; je komt daar met de toetscombinatie Ctrl+Shift+I.

Je ziet hier na het inloggen direct een bevestiging dat de websocket is verbonden en als het goed is gegaan zie je geen foutmeldingen. Op mobiele apparaten zijn websockets overigens niet genoeg en zul je gegevens zelf (eventueel handmatig) moeten synchroniseren, omdat Vaultwarden geen pushnotificaties ondersteunt, in tegenstelling tot de officiële Bitwarden.

Digitale kluis maken

Je kunt in het vervolg de web vault via je domein benaderen, zoals https://bitwarden.domein.nl. Maak hier als eerste een nieuw account aan met uiteraard een sterk hoofdwachtwoord. Daarna kun je direct inloggen met deze gegevens. Via een knop stuur je een bericht waarmee je jouw e-mailadres bevestigt.

Gebruik je reeds de officiële Bitwarden en wil je overstappen naar Vaultwarden? Dan exporteer je de gegevens vanuit Bitwarden als JSON-bestand. Binnen Vaultwarden importeer je het bestand daarna op het tabblad Hulpmiddelen. Via het icoontje rechtsboven kun je onder Accountinstellingen de optie voor tweestapsverificatie aanzetten en ook andere beveiligingsopties configureren.

Via de browser hebben we toegang tot de digitale kluis met onze gegevens.

Tweestapsverificatie Zoals veel wachtwoordbeheerders kunnen Bitwarden en Vaultwarden niet alleen inloggegevens bewaren, maar ook inlogcodes genereren voor tweestapsverificatie. Daartoe moet wel de sleutel die wordt gedeeld bij het inschakelen van tweestapsverificatie worden opgeslagen in je digitale kluis. Dat is de kluis waar óók je wachtwoorden in staan. We raden je daarom altijd aan om tweestapsverificatie niet met je wachtwoordbeheerder af te handelen. Beter kun je een andere app gebruiken, zoals Google Authenticator of Aegis Authenticator. Als je digitale kluis wordt gekraakt, zorg je er in ieder geval voor dat hackers alsnog aan de poort worden tegengehouden, omdat ze niet de gegevens hebben om voorbij de tweede verificatiestap te komen.

▼ Volgende artikel
Deze acteur gaat Atreus in de God of War-televisieserie spelen
Huis

Deze acteur gaat Atreus in de God of War-televisieserie spelen

De acteur die de belangrijke rol van Atreus gaat vertolken in de aankomende televisieserie gebaseerd op God of War is bekend. Het gaat om Callum Vinson.

Vinson heeft eerder rollen in The Night Agent en Chucky gehad. Met de bevestiging dat hij de rol van Atreus gaat spelen, zijn de acteurs voor de meeste belangrijke rollen in de aankomende Amazon Prime Video-serie bekend.

Afgelopen januari werd al onthuld wie de rol van hoofdpersonage Kratos gaat spelen. Dat is Ryan Hurst, bekend voor zijn rol in Sons of Anarchy. In de game God of War Ragnarök speelde hij daarnaast de rol van Thor. In de tv-serie zal hij dus van rol wisselen.

God of War volgt vader Kratos en zijn tienjarige zoon Atreus op hun reis om het as van hun vrouw en moeder Faye te verspreiden. Gedurende hun avonturen probeert Kratos zijn zoon te leren om een betere god te zijn, terwijl Atreus probeert van zijn vader een beter mens te maken.

View post on X

Over de God of War-televisieserie

De tv-serie gaat in ieder geval de laatste twee hoofddelen in de God of War-reeks verfilmen, God of War (2018) en God of War Ragnarök. Die games, uitgekomen op PlayStation 4, PlayStation 5 en later ook pc, wisselden de Griekse setting uit de vroegere delen in voor een Noordse mythologische setting, inclusief de aanwezigheid van Noordse goden.

Sony en Amazon kondigden in 2022 aan dat er een tv-serie rondom God of War zou komen. Afgelopen jaar werd ook bekendgemaakt dat er minstens twee seizoenen gemaakt zullen worden. Voordat het zover is, moet natuurlijk het eerste seizoen uitkomen op Amazon Prime Video, maar dat kan nog wel even duren: de opnames gaan als het goed is in de loop van deze maand van start. Frederick E.O. Toye, bekend van onder andere The Boys en Fallout, zal de eerste twee afleveringen regisseren.

Andere acteurs in de serie

Eerder werd al bevestigd dat Max Parker - bekend van Boots en Vampire Academy - de rol van Heimdall gaat spelen en Teresa Palmer (Hacksaw Ridge) in de huid van Sif - Thors vrouw - kruipt. De rol van Odin wordt gespeeld door Mandy Patinkin - onder andere bekend van Homeland en the Princess Bride.

Ólafur Darri Ólafsson - die vooral bekend is voor zijn rol als Mr. Drummond in de Apple TV-serie Severance, gaat de rol van Thor vertolken. Alastair Duncan zal de rol van Mimir spelen. Hij speelde ook al de rol van Mimir in de God of War-games. Danny Woodburn en Jeff Gulka zullen de rollen van de broers Brok en Sindri vertolken.

▼ Volgende artikel
Grote Monster Hunter Wilds-uitbreiding wordt aankomende zomer onthuld
Huis

Grote Monster Hunter Wilds-uitbreiding wordt aankomende zomer onthuld

Capcom gaat in de loop van aankomende zomer een grote nieuwe uitbreiding voor het vorig jaar uitgekomen Monster Hunter Wilds onthullen.

Dat liet Ryozo Tsujimooto, de producent van de Monster Hunter-franchise weten in een video waarin het eenjarige bestaan van de game werd gevierd. De video kan hieronder worden bekeken.

De inhoud van de aankomende uitbreiding werd nog niet bekendgemaakt, maar Tsujimoto liet weten dat de uitbreiding vergelijkbaar wordt met Iceborne, een uitbreiding voor voorganger Monster Hunter Worlds. In die dlc zaten nieuwe gebieden, monsters, spelmechanismen en verhalende content. "We zijn van plan om aankomende zomer meer informatie te delen, dus kijk daar naar uit."

Watch on YouTube

Nog meer Monster Hunter Wilds-content

Voordat het zover is hebben Monster Hunter Wilds-spelers genoeg andere nieuwe content om naar uit te kijken. Zo zal op 18 februari update 1.041 uitkomen, met daarin Arch Tempered-monsters van tien sterren, unieke Event Quests en een samenwerking met Monster Hunter Stories 3: Twisted Reflection, een losstaande Monster Hunter-game die op 13 maart uitkomt.

Monster Hunter Wild verscheen in februari 2025 voor PlayStation 5, Xbox Series-consoles en pc. De game draait net als voorgaande spellen in de reeks op het jagen op grote monsters. Spelers ontvangen na het verslaan van een monster nieuwe materialen, waarmee ze hun uitrusting sterker kunnen maken en vervolgens het kunnen opnemen tegen nog sterkere monsters.

Uniek ten opzichte van eerdere delen is dat de graphics en bijbehorende details die in de spelwereld en monsters zijn te zien flink zijn toegenomen. Daarnaast is het voor spelers nu mogelijk om twee wapens tegelijkertijd met zich te dragen op een mount, waardoor men beter voorbereid is voor gevechten.

Watch on YouTube