Zoeken op website

Hoe ik een gesynchroniseerde wachtwoordbeheerder zelf host


Als je een wachtwoordbeheerder hebt, is de kans groot dat je vertrouwt op een online account dat al je wachtwoorden bijhoudt en opslaat. Het is handig, maar je kunt eigenlijk je wachtwoorden buiten het internet opslaan terwijl je ze toch synchroniseert tussen apparaten.

De truc hier is dat ik een netwerk gebruik om mijn wachtwoorden te synchroniseren—alleen mijn privénetwerk. Het is niet open voor iemand buiten mijn huis, zelfs niet voor mijzelf wanneer ik weg ben. Dit werkt voor mij omdat ik thuis werk en zelden reis, en daarom heb ik zelden de noodzaak om referenties toe te voegen of te bewerken wanneer ik van mijn thuisnetwerk weg ben.

Maar waarom je wachtwoorden zelf synchroniseren?

Om duidelijk te zijn, de belangrijkste reden waarom ik dit doe is simpelweg dat ik het prettig vind om controle te hebben over mijn digitale leven. Wanneer ik mijn wachtwoorden uit de cloud houd, vertrouw ik niet op een derde partij om mijn wachtwoorden voor mij te beheren. Kijk gewoon naar de nasleep van de LastPass-breach in 2022 om te begrijpen wat voor soort rampen ik probeer te vermijden.

Dat wil niet zeggen dat andere cloud-gebaseerde wachtwoordbeheerders niet jouw tijd waard zijn. Sterker nog, als je niet technisch onderlegd bent, zou ik aanraden om een van die te gebruiken. Ik geniet er echter van om mijn eigen systemen te bouwen. Dus als ik volledige controle over mijn wachtwoorden kan krijgen - een sleutelfactor in cybersecurity - dan zal ik dat doen.

Het heeft ook gewoon zin als je het proces doorloopt van het opzetten van je eigen cloudopslag. Ik zal dat later meer uitleggen, maar als je in staat bent om je eigen private cloudopslag te maken, kun je er net zo goed volop van profiteren.

Ik begin met een offline wachtwoordbeheerder

De wachtwoordbeheerder die ik gebruik is de gratis en open source KeePassXC, en hij onderscheidt zich van concurrenten door volledig offline te werken. Het heeft een relatief minimale set functies, en de meeste daarvan hebben geen internetverbinding nodig om te werken.

In tegenstelling tot dit, zijn de meeste populaire wachtwoordbeheerders die je kent cloud-based. Je opgeslagen wachtwoorden worden bewaard en gesynchroniseerd via een externe server waarmee je verbinding maakt wanneer je inlogt.

KeePassXC slaat alles op in een kluis, een KDBX-bestand, dat je op je lokale apparaat bewaart. Als je toegang wilt tot dezelfde kluis met wachtwoorden op een andere computer, tablet of telefoon, moet je dat bestand handmatig naar dat apparaat verplaatsen.

Er zijn tegenhangers die je in plaats daarvan kunt gebruiken, zoals de originele KeePass, maar ik gebruik specifiek KeePassXC om mijn kluis te openen omdat het platformonafhankelijk is. Ik gebruik zowel Windows als Linux, en KeePass wordt niet ondersteund op Linux. Op Android gebruik ik KeePassDX, en er zijn ook KeePass-compatibele apps voor de iPhone als je er een nodig hebt.

Het probleem is dat er geen ingebouwde synchronisatieservice is, waardoor je gemakkelijk met meerdere kluizen kunt eindigen die verschillende of conflicterende sets wachtwoorden hebben. Als je veranderingen aanbrengt in één versie van de kluis, moet je deze naar de andere kopiëren om ervoor te zorgen dat je daar ook toegang hebt. Daar komt Nextcloud om de hoek kijken.

Ik host mijn eigen cloudopslagservice

Ik heb een Raspberry Pi die ik heb ingesteld om een instantie van Nextcloud "thuis" te hosten. Als je niet bekend bent met Nextcloud, het is een cloudopslagdienst vergelijkbaar met Google Drive die je zelf kunt bedienen en beheren.

Voor uw gemak raad ik aan om een reguliere Raspberry Pi OS of misschien een alternatieve RPi OS zoals DietPi te nemen en Nextcloud via Docker te installeren. Ik heb ervoor gekozen om mijn instantie via NextcloudPi te krijgen, en ik heb er spijt van. In de loop der jaren heb ik meerdere technische problemen gehad met mijn Nextcloud waarvan ik heb geleerd dat het gemakkelijker te verhelpen of helemaal te vermijden was als ik Nextcloud gewoon via Docker had geïnstalleerd. Leer van mijn fouten.

Ik heb er wel voor gekozen om mijn Nextcloud niet openbaar te maken op het bredere internet. Gezien wat ik door de jaren heen heb geleerd over cyberbeveiliging en privacy, voel ik me daar niet veilig bij. Op mijn lokale netwerk blijven past goed bij mijn behoeften, en het gemak van een internetverbonden Nextcloud weegt voor mij gewoon niet op tegen de risico's.

Benodigde hardware

Als je dit gaat doen, heb je wel wat speciale apparatuur nodig. Dit is een project dat ideaal is voor een Raspberry Pi-kit of een vergelijkbare SBC (Single Board Computer). Het is ook een geweldige manier om een oude laptop een nieuw leven te geven of om een mini-pc voor je aan het werk te zetten. Een laptop neemt misschien meer ruimte in dan andere opties, maar het heeft het voordeel van een ingebouwd scherm en toetsenbord.

Wat je ook kiest, ik raad aan om ook via een Ethernet-kabel te verbinden. Vertrouwen op Wi-Fi om je cloud in bedrijf te houden, introduceert veel latentie die alles zal vertragen.

Ik synchroniseer op verschillende apparaten

Op elk apparaat dat ik voor mezelf installeer, is de eerste app die ik installeer de Nextcloud-clientapp. Ik log in op mijn Nextcloud-account, synchroniseer mijn KDBX-bestand, en met KeePassXC of KeePassDX heb ik meteen toegang tot al mijn wachtwoorden. Als ik wijzigingen aanbreng in het KDBX-bestand, wordt het onmiddellijk gesynchroniseerd over alle apparaten die verbonden zijn met mijn Nextcloud-server.

Aangezien Nextcloud een volledige bestandsopslagservice is, kan ik op deze manier een hoop andere belangrijke bestanden synchroniseren. Als ik een bestand heb waarvan ik weet dat ik het veel zal gebruiken, ongeacht welk apparaat ik gebruik, dan plaats ik het in de "Universele" map in Nextcloud, en dan heb ik het waar ik ook mijn wachtwoordkluis nodig heb.

Af en toe heb ik een apparaat waarop ik slechts een paar wachtwoorden nodig heb, maar ik wil mijn hele verzameling daar niet op hebben. Een voorbeeld zou een laptop voor werk zijn. In dat geval kan ik gewoon een kopie van mijn kluis maken, alle accounts behalve de accounts die ik voor dat apparaat nodig heb verwijderen, en alleen die kluis naar het apparaat synchroniseren.

Het is geen perfect systeem

Mijn systeem heeft toegegeven zijn beperkingen. Het feit dat ik mijn Nextcloud niet buiten mijn huis beschikbaar maak, kan me beperken. Als ik wachtwoorden moet toevoegen of bewerken, worden die wijzigingen in mijn KDBX-bestand niet onmiddellijk gesynchroniseerd. Aangezien ik de enige ben die ze nodig heeft, is dat echter zelden een probleem. Het opzetten van een thuis-VPN-server zou dit kunnen oplossen, maar ik ben nog niet zover gekomen in mijn homelab-reis.

Vervelend genoeg duurt het KeePassDX-app op mijn telefoon soms een minuut of langer om de kluis te openen wanneer ik niet op mijn thuisnetwerk ben. Ik weet niet precies waarom dit zo is, maar ik ga proberen aanpassingen te maken aan mijn setup om te zien of ik dat probleem kan oplossen.

Er zijn andere manieren om dit te doen

In dat opzicht is dit niet de enige manier om een gesynchroniseerde wachtwoordmanager zelf te hosten. Bitwarden is open source en heeft een handleiding voor het hosten van je eigen Bitwarden-instantie. Ik heb onlangs DietPi uitgeprobeerd op een van mijn Pi's en ik merkte dat het een vooraf geconfigureerde Vaultwarden-server aanbiedt, dus ik zou kunnen proberen daarmee te experimenteren. Een van die opstellingen zou de noodzaak voor Nextcloud elimineren.

Natuurlijk, je kunt ook een KDBX-kluis gesynchroniseerd houden met Google Drive of OneDrive. Op dat punt vertrouw je echter weer op een derde partij om te voorkomen dat je kluis in verkeerde handen valt.

Een andere optie die ik mensen heb zien gebruiken naast KeePassXC is Syncthing. Het is geen cloudopslag, maar eerder een eenvoudige bestandssynchronisatiedienst die op je apparaten kan draaien. Omdat het eenvoudiger is, kan het een betere optie zijn als je geen behoefte hebt aan volledig zelfgehoste cloudopslag.

Wat je ook doet, zorg ervoor dat je een sterk hoofd wachtwoord kiest. Vergeet niet om goede cyberbeveiligingspraktijken te volgen en bevestig dat je gemakkelijk te kraken wachtwoorden vermijdt.

Gerelateerde artikelen: