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
Slimmer overstappen zorgverzekering 2026: pak dubbel voordeel met CashbackXL
© ID.nl
Zekerheid & gemak

Slimmer overstappen zorgverzekering 2026: pak dubbel voordeel met CashbackXL

Naar verwachting stappen dit jaar weer ruim 1,2 miljoen mensen over van zorgverzekering. Verstandig, maar het kan nóg slimmer. Wie overstapt via CashbackXL profiteert namelijk dubbel: je bespaart op de premie én ontvangt cashback-punten die je kunt inwisselen voor keiharde euro's.

We zitten midden in het overstapseizoen. Tot en met 31 december heb je de tijd om je huidige zorgverzekering op te zeggen en een nieuwe te kiezen. De ontevredenheid over de hoge premies is voor velen de belangrijkste reden om te wisselen. Daarnaast kiezen steeds meer mensen voor een minder uitgebreide aanvullende verzekering om de kosten te drukken. Er valt vaak honderden euro's per jaar te besparen door simpelweg te vergelijken. Maar waarom zou je genoegen nemen met alléén een lagere premie?

Punten scoren (en cashen!)

Als je via CashbackXL overstapt, ontvang je voor elke nieuw afgesloten zorgverzekering bij de grote vergelijkers Poliswijzer.nl, Zorgkiezer en Overstappen.nl 2.750 punten. Deze punten zijn geld waard: 1 punt staat gelijk aan € 0,01. Dit betekent dat je per overstap € 27,50 extra voordeel pakt.
Of je nu kiest voor a.s.r., VGZ Bewuzt, OHRA, Zilveren Kruis Ziezo of een van de vele andere verzekeraars uit de lijst: als je via de juiste vergelijker overstapt, pak je die bonus mee. In onderstaand overzicht zie je bij welke vergelijker je moet zijn voor een specifieke verzekeraar.

💡Slimme tip: zo krijg je meerdere cashbacks op één adres

Stappen jij en je partner allebei over? Let dan even goed op. Normaal gesproken geldt de regel: één cashback per vergelijker, per adres/gezin. Maar daar is een slimme oplossing voor. Wil je voor meerdere gezinsleden een cashback ontvangen? Sluit de verzekeringen dan af bij verschillende vergelijkers.

Voorbeeld: Jij sluit je nieuwe verzekering af via Poliswijzer.nl (2.750 punten) en je partner sluit af via Overstappen.nl (ook 2.750 punten). Zo ontvang je op hetzelfde adres twee keer de cashback!

Belangrijk om te weten: geduld wordt beloond

Overstappen doe je vóór 1 januari, maar de controle duurt even. Zorgverzekeraars keuren de aanvragen namelijk pas definitief in april 2026. Het duurt dus even voordat de punten in je account op 'goedgekeurd' staan, maar dat is het wachten waard.

Voorwaarden puntenactie zorgverzekering 2026

Wil je in aanmerking komen voor deze actie, lees dan onderstaande voorwaarden even aandachtig door:

• Je moet 18 jaar of ouder zijn.
• Het moet gaan om een nieuwe verzekering (als je verlengt bij je huidige verzekeraar (ook al sluit je een andersoortige verzekering af) dan geldt dat hier niet als overstappen.
• Alle genoemde cashbacks gelden altijd voor elk eigen risico.

Zo werkt de zorgverzekerings-cashback

Wil jij 2026 financieel goed beginnen? Volg dan deze stappen voor de perfecte tracking:

1. Maak een account aan op CashbackXL.
2. Klik bovenaan in de blauwe balk op Zorgverzekering 2026.
3. Bekijk in het overzicht welke verzekeraar via welke vergelijker (Poliswijzer, Zorgkiezer of Overstappen) beschikbaar is.
4. Klik op de link en start de vergelijking. Let op: accepteer alle cookies op de site van de vergelijker en zet je adblocker uit. Dit is noodzakelijk om de punten te kunnen registreren.
5. Sluit de verzekering af.
6. Je aankoop wordt geregistreerd en na goedkeuring in april 2026 kun je jouw punten verzilveren in euro's.

Waarom je CashbackXL kunt vertrouwen

CashbackXL is de grootste cashback-site van Nederland. De site registreert 97 procent van alle aankopen succesvol en scoort op Kiyoh een klantwaardering van een 9,0. Je ontvangt je uitbetaling maandelijks (of wanneer jij wilt, zonder minimumbedrag), krijgt de hoogste cashback-percentages en kunt terecht bij een toegankelijke klantenservice.

▼ Volgende artikel
Dit wil je weten over tweestapsverificatie, óók zonder je smartphone
© Looker_Studio - stock.adobe.com
Huis

Dit wil je weten over tweestapsverificatie, óók zonder je smartphone

Je inloggegevens alleen met een wachtwoord beveiligen is vragen om problemen. Steeds meer diensten en apps bieden daarom tweefactorauthenticatie (2FA) aan, of ze verplichten dit zelfs. Naast een wachtwoord heb je dan een tweede factor nodig. Vaak gebruik je hiervoor je smartphone, maar wat doe je als je (tijdelijk) geen telefoon hebt?

Dit artikel in het kort

Tweestapsverificatie (2FA) beschermt je accounts beter dan alleen een wachtwoord. Vaak gebruik je hiervoor je smartphone, maar dat hoeft niet. In dit artikel lees je hoe je ook zonder telefoon veilig kunt inloggen. Zo ontdek je hoe desktop-authenticators zoals Proton of KeePassXC werken, hoe je een hardwaresleutel zoals een YubiKey instelt, en hoe je back-upcodes aanmaakt voor noodgevallen. Ook wordt uitgelegd wat een digitale en fysieke token precies doen en hoe toegangssleutels (passkeys) een alternatief vormen voor klassieke wachtwoorden.

Wachtwoorden kun je vergeten, of ze worden gehackt. Daarom is het niet handig om de toegang tot een dienst of app alleen met een wachtwoord te beveiligen. Voor meer veiligheid voeg je daar een tweede authenticatiemethode aan toe. We hebben het over het aanmelden via 2FA (tweefactorauthenticatie oftewel tweestapsverificatie).

Bij 2FA heb je naast iets wat je weet, meestal een wachtwoord, ook iets wat je 'hebt' of 'bent' nodig om in te loggen. Zo'n tweede factor is vaak een unieke, eenmalige code via een authenticator-app op je smartphone. Het kan ook een sms-code, pushmelding, hardwaresleutel of een biometrische beveiliging zijn. Zo kan een aanvaller met je wachtwoord niet binnendringen, want hij heeft ook die tweede factor nodig. Een geraden of gelekt wachtwoord is dus niet meer voldoende, wat de veiligheid verhoogt.

Smartphone

Veel 2FA-oplossingen werken via een smartphone, bijvoorbeeld met de authenticator-app van Authy, Google of Microsoft, of via sms-berichten naar je telefoon. Dit is handig, maar er zijn ook nadelen. Je hebt altijd je telefoon nodig en bij een lege batterij, verlies of diefstal kom je mogelijk niet bij je accounts. Ook al je je in een gebied zonder mobiel bereik bevindt, is het lastig of onmogelijk om een sms te ontvangen.

2FA via sms is bovendien kwetsbaar voor praktijken als sim-swapping. Hierbij zet een aanvaller jouw telefoonnummer om naar een eigen simkaart om zo sms-codes te ontvangen. Je smartphone kan ook besmet raken (via phishing) met malware. Ook daarmee kan een aanvaller andere 2FA-codes onderscheppen.

Het kan ook zijn dat je geen smartphone voor je werk hebt en dat je je privételefoon liever niet gebruikt voor werkgerelateerde 2FA-authenticaties. Je kunt er natuurlijk ook nog bewust voor kiezen om geen eigen smartphone te hebben.

Gelukkig bestaan er veilige alternatieven om je ook zonder smartphone via 2FA aan te kunnen melden, zoals de rest van dit artikel duidelijk maakt.

Lees ook: Waarom je beter geen sms voor tweestapsverificatie kunt gebruiken

Een eenmalige code via een (mobiele) authenticator-app is een van de populairste 2FA-verificatiemethoden.

Desktop-authenticator

Veel mensen gebruiken als tweede factor een eenmalige code via een authenticator-app. Daarvoor bestaan verschillende gratis mobiele apps, maar je kunt ook je desktop of laptop inzetten. Je hoeft geen virtuele Android-omgeving op te zetten met een tool als BlueStacks om zo bijvoorbeeld de mobiele Android-authenticator van Google of Microsoft te kunnen draaien. Installeer gewoon de desktopversies, zoals het Zwitserse Proton of het Zweedse Yubico.

We vertellen je in het kort hoe je hiermee bij Google aanmeldt. De procedure bij andere diensten en apps gaat op een vergelijkbare manier. Surf naar https://myaccount.google.com en open Beveiliging. Kies Tweestapsverificatie en zorg dat deze is ingeschakeld. Klik bij tweede stap op Authenticator en daarna op Authenticator instellen. Er verschijnt een QR-code, maar voor je desktop-app klik je op Kun je de code niet scannen. Je krijgt nu de nodige gegevens om de geheime sleutel (zie kader Werking digitale token) handmatig in te voeren.

Als je dit in je authenticator-app hebt ingesteld (zie de alineaProton Authenticator), klik je op Volgende en voer je de code in die de app genereert. Je kunt nu definitief tweestapsverificatie bij Google aanzetten. Bij de volgende aanmeldingen voer je nu voortaan naast je wachtwoord ook de gevraagde code in.

De tweestapsverificatie bij Google is geactiveerd, met (voorlopig alleen) een authenticatorcode als tweede factor.

Proton Authenticator

We nemen Proton Authenticator voor Windows als voorbeeld (ook beschikbaar voor macOS en Linux). De installatie bedraagt slechts enkele muisklikken. Start daarna de app start op en klik op Create new code. Vul bij Title bijvoorbeeld Google account in en plak de sleutel van 32 tekens in het veld Secret.

Bij Issuer kun je Google opgeven. Via Advanced options pas je eventueel instellingen aan als de dienst specifieke eisen heeft voor het aantal cijfers (standaard 6), tijdsinterval (standaard 30 seconden), algoritme (standaard SHA1) of type (standaard TOTP, maar kies STEAM voor het Steam-gameplatform van Valve). Klik op Save code om de code toe te voegen.

Via het tandwielpictogram kun je onder meer je codes back-uppen, exporteren, importeren en ook synchroniseren tussen apparaten via een gratis Proton-account. Na het aanmaken verschijnt de code in het hoofdvenster, met een geanimeerd pictogram dat de resterende geldigheidsduur toont. Je hoeft deze code nu maar bij de juiste dienst in te vullen als tweede factor, naast je wachtwoord.

Via Proton Authenticator voeg je een TOTP-code toe aan Googles 2FA-verificatieproces.

Werking digitale token

De meeste mensen gebruiken een digitaal token als tweede factor, zoals een pushmelding of een eenmalige cijfercode. Dit laatste wordt ook wel TOTP genoemd (Time-based One-Time Password) en werkt als volgt.

Bij het instellen van 2FA genereert de dienst een unieke geheime sleutel. Deze wordt één keer met je authenticator-app gedeeld via een QR-code of handmatige invoer. Zowel de server van de dienst als je authenticator-app gebruiken deze sleutel samen met het actuele tijdstip om met dezelfde wiskundige formule een code van meestal 6 cijfers te berekenen. Zo'n code blijft standaard dertig seconden geldig. Zodra je deze code invoert, vergelijkt de server deze met zijn eigen berekening. Is er een match, dan weet de server dat jij de juiste geheime sleutel hebt en dat de code actueel is, waarna je kunt inloggen.

©TvD | ID.nl

De achterliggende werking van een TOTP-systeem.

TOTP-wachtwoordmanager

Wachtwoorden zijn vooralsnog niet verdwenen (zie ook kader Zonder wachtwoord) en daarom is een wachtwoordmanager aan te raden. Zo hoef je al je wachtwoorden niet zelf te onthouden, voorkom je dat je ze achteloos noteert en vermijd je te veel dezelfde of simpele varianten.

Enkele wachtwoordmanagers ondersteunen ook TOTP-codes voor 2FA, zodat je geen aparte authenticator-app nodig hebt. Gratis opties voor Windows-desktop zijn onder meer Bitwarden en KeePassXC.

We nemen KeePassXC als voorbeeld, dat ook voor macOS en Linux beschikbaar is. Je installeert de tool met enkele muisklikken. Bij de eerste start klik je op Database aanmaken, voer je een naam en eventueel een omschrijving in. Klik daarna op Doorgaan. Laat de instellingen gerust ongewijzigd en klik op Doorgaan. Geef een sterk hoofdwachtwoord in (twee keer) en bevestig met Gereed. Kies een locatie voor de database en klik op Opslaan.

Voer in het hoofdvenster de accountgegevens in, zoals Titel, Gebruikersnaam, Wachtwoord en URL, en bevestig met OK. Het item wordt toegevoegd. Klik er met de rechtermuisknop op, kies TOTP / TOTP instellen en vul de Geheime sleutel in. Pas via Aangepaste instellingen eventueel de parameters aan en bevestig met OK. Om de TOTP-code te zien, kies je TOTP / TOTP (QR code) weergeven in het contextmenu.

Je kunt ook de KeePassXC-browserextensie downloaden en installeren om je online wachtwoorden en TOTP-codes automatisch in de browser in te vullen.

Ook wachtwoordbeheerder KeePassXC kan TOTP-codes genereren.

Hardwaresleutel

In plaats van een digitale sleutel kun je ook een fysieke hardwaresleutel gebruiken als tweede factor. Zo'n sleutel is extra veilig omdat deze via internet niet kan worden gekopieerd of gestolen. Ook phishers maken nauwelijks kans, want de sleutel is gekoppeld aan de originele website-url van de dienst. Zelfs als iemand je sleutel heeft, blijft je wachtwoord nodig en vaak ook een pincode of biometrie om de sleutel te gebruiken. Bij verlies rest meestal alleen een alternatieve tweede factor, zoals een TOTP-code of back-upcodes (zie hieronder), tenzij je een reservesleutel hebt.

We nemen als voorbeeld een YubiKey 5 NFC USB-A van Yubico (circa 60 euro). Dit kan ook een ander merk of type zijn, zoals Feitian, Nitrokey of SoloKeys. Ga in Windows 11 naar Instellingen, kies Accounts / Aanmeldingsopties en selecteer Beveiligingssleutel / Beheren. Plaats de sleutel in de pc en activeer deze. Klik op Toevoegen bij Pincode voor beveiligingssleutel. Je kunt ook de Yubico Authenticator downloaden die ook beschikbaar is voor macOS en Linux. Ga door met installeren en start als administrator op. Open nu Passkeys, klik op Set PIN, voer tweemaal een pincode in en klik op Save.

We nemen opnieuw Google als voorbeeld, waar je inmiddels tweestapsverificatie hebt ingeschakeld. Op de webpagina van je Google-account open je Beveiliging en klik je op Toegangssleutels en beveiligingssleutels. Kies + Toegangssleutel maken, klik op Ander apparaat gebruiken, selecteer Beveiligingssleutel en klik op Volgende en daarna op OK (twee keer). Voer de pincode van de sleutel in, bevestig met OK en activeer de sleutel. Deze is nu bruikbaar als tweede factor.

Bij Google maak je eenvoudig een toegangssleutel aan.

Werking fysieke token

Je kunt als tweede factor ook een fysieke token gebruiken. Bij banken kan dit een klein kastje zijn dat codes genereert, maar het kan ook een hardwaresleutel zijn zoals een YubiKey. Zo'n sleutel koppel je aan je computer via usb of bij smartphones via bluetooth of NFC. Dit werkt als volgt.


Je koppelt de sleutel één keer aan je account, waarbij een uniek cryptografische sleutelpaar wordt aangemaakt. De publieke sleutel gaat naar de server van de dienst, terwijl de privésleutel veilig in het hardwaretoken blijft en deze nooit verlaat. Na het invoeren van je wachtwoord vraagt de server aan de sleutel om een unieke digitale handtekening te maken voor die specifieke aanmelding.

Jij bevestigt de aanvraag, bijvoorbeeld door het token te activeren. Vervolgens stuurt de sleutel de handtekening naar de server, die controleert of deze overeenkomt met de eerder opgeslagen publieke sleutel. Bij een match weet de server dat jij de echte sleutel bezit en kun je inloggen.

Onder meer Yubico heeft diverse hardwaretokens (YubiKey) in het aanbod.

Back-upcodes

We hebben nu al twee methoden om ons via een desktop-pc of laptop bij 2FA aan te melden: digitale TOTP-codes en een hardwaresleutel. Heb je ook een toegangssleutel, bijvoorbeeld gekoppeld aan je Windows Hello-inlogmethode, dan zijn het er zelfs drie opties. Al is dit eigenlijk geen klassieke 2FA maar een methode zonder wachtwoord (zie kader Zonder wachtwoord).

De meeste diensten die 2FA ondersteunen, bieden ook back-upcodes aan, hoewel deze eigenlijk bedoeld zijn als noodingreep. We raden je in elk geval aan deze te genereren of te downloaden en offline te bewaren, bijvoorbeeld in een kluis of andere water- en brandveilige plek. Laat ze zeker niet rondslingeren en deel ze nooit digitaal.

Voor je Google-account bijvoorbeeld werkt dit als volgt. Meld je opnieuw aan op je accountpagina, open Beveiliging, scrol naar beneden en klik op Back-upcodes en daarna op Back-upcodes genereren. Google maakt direct tien codes aan die je kunt downloaden en/of afdrukken. Dit is meestal voldoende om problematische aanmeldingen op te lossen. Je kunt op elk moment weer tien nieuwe codes aanmaken, waarmee de vorige tien codes automatisch ongeldig worden.

Google genereert tien back-upcodes die je goed dient te bewaren voor het geval er iets misgaat.

Zonder wachtwoord

2FA combineert dus iets dat je 'weet' (wachtwoord) met iets wat je 'hebt' (zoals een code of sleutel) of 'bent' (biometrie). Er komt ook steeds meer concurrentie van een oplossing zonder wachtwoord via zogeheten toegangssleutels (passkeys). Dit systeem is enkel gebaseerd op iets wat je 'hebt' (een hardwarematige of softwarematige sleutel), vaak gecombineerd met een vorm van biometrie.

Je hebt hierbij dus geen wachtwoord meer nodig. Je kunt direct inloggen met zo'n sleutel, meestal na een geslaagde vingerafdruk, gezichtsherkenning of pincode. Onderliggend werkt dit via de FIDO2-standaard met het hardwareprotocol CTAP2 en het webprotocol WebAuthn.

Op www.passkeys.io/ vind je een demonstratie en een lijst van enkele tientallen sites en apps die toegangssleutels als volledig wachtwoordalternatief ondersteunen. Nog meer diensten staan op https://passkeys.directory, een door de community beheerde lijst. De aanduiding MFA (Multi Factor Authenticatie) betekent hier dat toegangssleutels ook inzetbaar zijn als extra beveiligingslaag naast andere inlogmethodes. Zo kun je onder meer bij Google via een toegangssleutel, zoals een pincode, inloggen, zonder zelfs je wachtwoord te hoeven intikken.

Passkeys-directory: ook Google ondersteunt volop toegangssleutels.

Offline dingen veilig bewaren?

Haal een kluis in huis!