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
Zo vervaag je je huis in Google Maps
© ID.nl
Huis

Zo vervaag je je huis in Google Maps

Wie je adres intikt, kan je huis open en bloot bekijken in Street View van Google Maps. Dat voelt niet bepaald privacyvriendelijk. Vind je het geen prettig idee dat iedereen zomaar een blik op je woning kan werpen? Dan kun je Google vragen om je huis permanent te laten vervagen.

Wat gaan we doen?

We laten zien hoe je je woning in Street View nauwkeurig in beeld brengt, hoe je bij Google meldt dat je die wil laten vervagen en hoe je de aanvraag hiervoor indient.

Lees ook: 5 handige (en misschien onbekende) functies van Google Maps

Sleep het poppetje voor de deur

Google Maps biedt een functie waarmee je specifieke beelden – zoals nummerplaten, objecten of zelfs hele huizen – kunt laten blurren om privacyredenen. Je moet hiervoor een aanvraag indienen en zodra Google die goedkeurt, is de vervaging definitief en zelfs niet meer terug te draaien. Open Google Maps bij voorkeur op je computer, want op mobiele apparaten is deze optie voorlopig nog niet beschikbaar. Zoek vervolgens je adres via de zoekbalk bovenaan en druk op Enter om de woning vanuit de lucht in beeld te brengen. Klik op het Pegman-pictogram, het gele poppetje rechtsonder in het scherm. Sleep het poppetje naar de straat waar je huis staat. De straten die langs deze weg beschikbaar zijn in Street View, lichten blauw op.

Sleep het gele poppetje in de straat zo dicht mogelijk bij je huis.

Probleem melden

Zodra je dit doet, verschijnt het bekende 360°-beeld van jouw straat. Navigeer door de beelden totdat je woning volledig in beeld is. Zet het huis zo centraal mogelijk in het scherm; dat maakt de volgende stap eenvoudiger. Onderaan het beeld zie je in een dunne, donkere strook de opnamedatum, maar ook de knop waar het ons om te doen is: Probleem melden.

In deze weergave vind je de knop Probleem melden in de rechterhoek van de strook onderaan.

Aanvraag

Je komt nu op de Google-pagina Ongepaste Street View melden. Versleep eerst de weergave zodat je woning netjes binnen het rode kader past. Vervolgens geef je aan waarom je de vervaging aanvraagt. Er zijn drie opties: een gezicht, mijn huis of mijn voertuig/een kentekenplaat. Kies uiteraard de tweede mogelijkheid. Het is ook mogelijk om vervaging aan te vragen voor een privéweg of een oprit. Vul zeker je e-mailadres in en klik op Versturen. Na het verzenden ontvang je een e-mail van Google over je aanvraag. Als alles duidelijk is, wordt de vervaging binnen enkele dagen tot weken doorgevoerd. Houd er rekening mee dat je de aanvraag soms meerdere keren moet indienen als je woning vanuit verschillende hoeken zichtbaar is.

Plaats de woning netjes binnen het rode kader.


Ook fijn, qua privacy:

View post on TikTok

Blur, maar dan anders

(en toch ook weer niet)
▼ Volgende artikel
Samsung deelt teaser voor Galaxy S26-onthullingsevent
© Samsung
Huis

Samsung deelt teaser voor Galaxy S26-onthullingsevent

Na diverse geruchten en leaks is eindelijk bekend wanneer de onthulling van de Samsung Galaxy S26-serie plaatsvindt: namelijk op 25 februari.

Vorige maand lekte de datum van het tweejaarlijkse Galaxy Unpacked-evenement al. Het is zo goed als zeker dat daar de nieuwe Samsung Galaxy S26-lijn wordt onthuld, dus fans wachten met smart op het evenement.

Inmiddels heeft Samsung zelf een teaser voor het evenement online geplaatst, waardoor we inmiddels zeker weten dat het op 25 februari plaatsvindt. Om precies te zijn begint het om 19:00 uur Nederlandse tijd - dan zal het evenement, dat in San Francisco wordt gehouden, ook live online te zien zijn. De teaser valt hieronder te bekijken.

Watch on YouTube

Over de Samsung Galaxy S26-toestellen

Samsung brengt dit jaar naar verwachting de Galaxy S26, S26+ en S26 Ultra uit. Eind vorig jaar lekten er al foto's van dummyversies van de smartphones op social media, waaruit blijkt dat deze modellen waarschijnlijk een ovaalvormig camera-eiland krijgen, vergelijkbaar met de Galaxy Z Fold-smartphones.

Qua kleuren zouden de nieuwe Galaxy-modellen in Black Shadow, White Shadow, Galactic Blue en Ultraviolet beschikbaar komen. Een grote focus zou ook liggen op de toevoeging van een privacyscherm - een optie zodat het moeilijker wordt voor omstanders om je het scherm van je smartphone te kijken.

Daarnaast ligt de focus op verbeterde camera's en het gebruik van AI bij het schieten van plaatjes, zo bleek onlangs al uit enkele teaservideo's.

View post on Instagram