ID.nl logo
Bouw je eigen Raspberry Pi-cluster met deze instructies
© Reshift Digital
Zekerheid & gemak

Bouw je eigen Raspberry Pi-cluster met deze instructies

Het aantal Raspberry Pi’s in mijn huis begon onhandelbaar te worden en het kluwen van kabels en voedingsadapters was me al even een doorn in het oog. Ik besloot een aantal van deze Raspberry Pi’s op elkaar te stapelen in een clusterbehuizing, aangesloten op één voeding en één netwerkswitch. Lijkt dat je ook wat? Lees hier dan hoe je voor jezelf een Raspberry Pi-cluster maakt.

Zoals elke zichzelf respecterende Raspberry Pi-fan heb ik door de jaren heen heel wat modellen van het minicomputertje bij elkaar verzameld. Er staan diverse exemplaren in heel mijn huis en zelfs in mijn kippenhok. De Pi’s hebben uiteenlopende doeleinden zoals een ip-camera, domoticacontroller, om sensorgegevens via bluetooth uit te lezen enzovoort.

Een groot deel van die Raspberry Pi’s staat op mijn bureau. Dat levert een kluwen van netwerk- en voedingskabels op, met allerlei bordjes met en zonder behuizing op mijn bureau, en verspreid in en op mijn boekenkasten. Ik vond het tijd om daar een wat nettere oplossing voor te vinden.

Bovendien zetten al die voedingsadapters elk individueel de netspanning om naar een 5V-gelijkspanning voor het computerbordje. Het zou efficiënter zijn als dat één keer gebeurt en dat ik alle Raspberry Pi’s op die ene voeding kan aansluiten. Het zou me ook weer wat extra vrije stopcontacten opleveren.

Al vrij snel realiseerde ik me dat de oplossing was om een computercluster te bouwen van de Raspberry Pi’s. Er zijn diverse projecten online te vinden die dat doen. Zelfs al gebruik ik de Pi’s voorlopig niet als computercluster (enkele computers die als één computer berekeningen uitvoeren), de hardware die ik nodig heb om de voorgaande problemen op te lossen, is exact hetzelfde.

De oplossing ziet er dan ook als volgt uit: de Raspberry Pi’s stapel je in een clusterbehuizing op elkaar. Daardoor nemen ze samen maar weinig plaats in. Elke Pi voed je via een laadstation met meerdere usb-poorten, en sluit je via een platte ethernetkabel aan op een ethernetswitch. De switch en het laadstation plaats je gewoon naast de stapel Pi’s. Als je de kabels kort genoeg houdt, ziet het geheel er heel netjes uit en blijft het vrij compact.

Raspberry Pi-cluster benodigdheden

Bovenstaande uitleg lijkt eenvoudig, maar bij de keuze van de componenten komt heel wat kijken en de juiste keuze hangt ook af van wat je exact met je Raspberry Pi’s wilt doen. In deze DIY leg ik uit welke keuzes ik gemaakt heb voor mijn situatie. Het is één configuratievoorstel, waarop je kunt variëren als je andere vereisten hebt.

De belangrijkste keuze die je eerst dient te maken, is hoeveel Raspberry Pi’s je in je cluster wilt opnemen en welke modellen. Wil je een krachtige rekencluster maken, dan kies je wellicht voor Raspberry Pi 4B’s met 4 GB ram. In mijn geval ging het vooral om het netjes bij elkaar brengen van enkele Raspberry Pi’s die ik al had: een Raspberry Pi 2B, een Raspberry Pi 3B, een Raspberry Pi 3B+ en drie Raspberry Pi 4B’s (van elk model één: met 1 GB, 2 GB en 4 GB ram). Zo kwam ik dus op een systeem met zes Raspberry Pi’s.

Ik heb in het boodschappenlijstje geen ventilatoren voorzien, maar voor de beste prestaties heb je die wel nodig, zeker bij de Raspberry Pi 4. In plaats van een afzonderlijke HAT met ventilator voor elke Raspberry Pi zou je ook een tafelventilator op je cluster kunnen richten.

Elk van die Raspberry Pi’s heeft een micro-sd-kaart nodig voor het besturingssysteem. Strikt gezien kun je ze ook zonder lokale opslag laten opstarten. Dan downloaden ze via het netwerk hun besturingssysteem. Maar ik raad aan om eerst de hele opstelling toch eens te testen op de normale manier met een micro-sd-kaart in elke Raspberry Pi.

Dat gezegd hebbende, is dit het lijstje dat ik hanteerde:

Clusterbenodigdheden

  • ILS acrylclusterbehuizing met 6 lagen (€ 20,-)
  • TP-Link LS108G 8-poorts gitabit-ethernetswitch (€ 25,-)
  • set van 7 platte Cat7-ethernetkabels 25 cm (€ 3,81)
  • Anker PowerPort 12 A 60 W laadstation met 6 poorten (€ 29,-)
  • 2x set van 4 usb-c-laadkabels 25 cm (2x € 9,-)
  • 6x Open-Smart 10-Segment Mini Battery Display (6x € 1,30)
  • 40x m/f-jumperwires 20 cm (€ 4,95)
  • 830-punts breadboard (€ 6,95) Cluster van 6 Raspberry Pi 4’s
  • 6x Raspberry Pi 4 Model B 1 GB ram (6x € 39,95)
  • 6x 8 GB micro-sd-kaart (6x € 8,99)

Totale kostprijs: ca. € 409,-

Clusterbehuizing in elkaar schroeven

Als je op internet zoekt naar ‘raspberry pi cluster case’ vind je al snel talloze mogelijkheden om meerdere Raspberry Pi’s in één behuizing te steken, voor elk budget. Op Amazon vond ik voor 20 euro een acrylclusterbehuizing voor zes Raspberry Pi’s. Dit soort stapelbare behuizingen is een populaire en niet al te dure oplossing, en nog leuk om te zien ook omdat ze transparant zijn.

De Raspberry Pi’s zijn niet volledig beschermd, want er zit alleen boven en onder elk processorbordje een plaatje. Maar een voordeel van deze opstelling is dat ze gemakkelijk uit te breiden is: als je later nog Raspberry Pi’s aan je cluster wilt toevoegen, hoef je alleen maar enkele plaatjes en bijbehorende afstandshouders bij te kopen (op voorwaarde dat je voeding en netwerk de uitbreiding aankunnen uiteraard).

©PXimport

Als je de foto’s van de behuizing bekijkt, is de verleiding groot om eerst de hele toren op te bouwen en dan de Raspberry Pi’s erin te monteren. Maar het is eenvoudiger om elke Pi laag voor laag direct op zijn bodemplaatje te monteren. Let daarbij op: plaats de micro-sd-kaart boven de uitsparing aan de zijkant en plaats de ELPIDA-chip aan de onderkant van de oudere Pi-modellen (de Pi 4 heeft deze niet) boven de uitsparing net naast het midden van het plaatje.

Gebruik de langere schroefjes om de Raspberry Pi vast te zetten op het plaatje, met de meegeleverde plastic moeren tussen de bodemplaat en de Raspberry Pi, en de kleinere metalen moeren bovenaan de Raspberry Pi. De grotere moeren zijn om de afstandshouders helemaal onderaan vast te zetten aan het onderste bodemplaatje en de grotere schroeven zijn om de afstandshouders helemaal bovenaan vast te zetten aan het afdekplaatje met het logo van de Raspberry Pi erop. Draai alles niet muurvast. Dat is niet nodig voor de stabiliteit en het maakt het alleen maar moeilijker om de behuizing later weer te demonteren.

Op het eerste gezicht lijken alle plaatsen uitwisselbaar en denk je dat het niet uitmaakt waar je elke Pi plaatst. Toch denk je hier maar beter goed over na voordat je de hele stapel monteert. Hangt er aan een van je Pi’s namelijk een extra kabel, bijvoorbeeld voor een externe harde schijf, of heb je er een usb-transceiver voor Z-Wave of iets anders dat uitsteekt aan hangen, plaats die Pi dan bij voorkeur onderaan, zodat je geen kabels of uitsteeksels al te hoog hebt waarachter je per ongeluk kunt blijven hangen.

Heb je een HAT met display op een Pi staan, plaats die dan bovenaan. En steek je een Pi in de clusterbehuizing die je zo nu en dan er uit wilt halen om hem op een andere plaats te gebruiken, plaats die dan onderaan of bovenaan, zodat hij gemakkelijk te demonteren is. De nieuwere modellen, zeker de Raspberry Pi 4, plaats je (in geval van een mix van oude en nieuwe modellen) ook het best bovenaan: deze genereren meer warmte en warmte stijgt, dus bovenaan kan die het snelste weg.

©PXimport

Over de voeding

Al die Raspberry Pi’s met een eigen voeding van stroom voorzien is geen nette oplossing. Gelukkig bestaan er laadstations die meerdere apparaten tegelijk via usb van stroom kunnen voorzien. Populaire laadstations voor Raspberry Pi-clusters zijn die van Anker, vooral de versies met zes poorten en tien poorten.

Uiteraard kies je voor een laadstation met voldoende poorten voor je cluster. In mijn geval kwam de versie met zes poorten goed uit voor mijn cluster met zes Raspberry Pi’s. Wil je de volledige opstelling via het laadstation voeden, dan dien je een extra poort te voorzien en naar een ethernetswitch te zoeken die via usb te voeden is. In mijn geval vond ik de meerkosten van een laadstation met meer poorten en een duurdere switch niet opwegen tegen die ene voeding minder die ik dan nodig zou hebben.

De aansluiting is eenvoudig. Je koopt gewoon een setje usb-laadkabels en sluit elke Pi zo op het laadstation aan. In het boodschappenlijstje heb ik voor de configuratie met zes Raspberry Pi 4’s allemaal usb-c-laadkabels opgenomen, maar in mijn geval gaat het om drie micro-usb-laadkabels en drie usb-c-laadkabels. Het laadstation steek je dan in het stopcontact, waardoor je zes voedingsadapters en bijbehorende stekkers door één stekker hebt vervangen. Laadkabels van 25 cm zijn net lang genoeg om zes Raspberry Pi’s in een verticale opstelling te voeden met de Anker PowerPort. Je plaatst die laatste het best aan de kant van de voedingspoorten van de Pi’s.

©PXimport

Maar het belangrijkste aan je keuze voor een laadstation is dat het voldoende vermogen moet kunnen leveren aan je Raspberry Pi’s. Ga daarbij uit van het meest extreme scenario. Ik ging daarom uit van het vermogensverbruik van zes Raspberry Pi 4’s op volle kracht. Uit een benchmark van MagPi blijkt dat dit model in een stresstest tot 7 W verbruikt. Ik heb dus zes keer 7 W ofwel 42 W nodig om een veiligheidsmarge te hebben.

De Anker PowerPort levert 60 W, dus dat is ruim voldoende. Maar let op: veel laadstations adverteren niet alleen met hun maximaal vermogen, maar ook met maximale stroomsterktes per poort. Zo levert de Anker PowerPort tot 2,4 A stroom per poort, waaruit je kunt afleiden dat die maximaal 12 W (2,4 A maal 5 V) vermogen per poort levert. Maar als je daadwerkelijk 2,4 A op elke poort zou nodig hebben (wat hier niet het geval is), is dat niet mogelijk, want de totale stroom die het laadstation aan de zes poorten kan leveren is 12 A. Je dient dus na te kijken of het laadstation zowel per poort als in totaal voldoende vermogen kan leveren voor je cluster.

Over het netwerk

Alle moderne Raspberry Pi’s zijn voorzien van wifi, dus de verleiding is groot om daar voor je cluster gebruik van te maken om zo extra kabels uit te sparen, maar een ethernetswitch maakt je netwerkverbindingen toch heel wat betrouwbaarder en sneller. Dat hoeft geen duur model te zijn: voor twee tientjes heb je al een degelijke gigabit-ethernetswitch. Overigens haal je alleen op de Raspberry Pi 4 gigabitsnelheden (de oude modellen hebben een langzamere chip).

Let op dat je switch minstens één poort meer heeft dan het aantal Raspberry Pi’s in je cluster. De Pi’s sluit je elk met een kabel op de switch aan en met één extra kabel sluit je de switch op de rest van je netwerk aan.

Voor de netwerkkabels van je Pi’s kies je het best platte kabels; de klassieke netwerkkabels zijn niet gemaakt om sterk te buigen en nemen dan ook meer plaats in.

©PXimport

Daarna is het een kwestie van de switch en het laadstation in het stopcontact te steken en je Raspberry Pi’s op te starten. De eenvoudigste manier om dat te doen, is om elke Raspberry Pi van een micro-sd-kaart te voorzien met een besturingssysteem zoals Raspbian. Dat kan met een programma als balenaEtcher.

Als je niet al je Raspberry Pi’s continu wilt ingeschakeld hebben, zul je de stroom van individuele Pi’s moeten uitschakelen door de usb-laadkabel uit het laadstation of uit de Raspberry Pi te trekken. Heb je dit om een of andere reden vaak nodig, koop dan een of meerdere usb-laadkabels met ingebouwd knopje om de stroomtoevoer eenvoudig in- en uit te schakelen.

Statusleds

Ik heb lang overwogen om op elke Raspberry Pi een rij ledjes of een klein lcd-schermpje aan te sluiten om zo de status van het cluster te tonen, maar dat verhoogt de prijs significant. Voor de LED SHIM van Pimoroni betaal je bijvoorbeeld al bijna een tientje. Doe dat maal zes en je komt aan bijna zestig euro voor gewoon wat statusleds. Voor die prijs kun je een extra Raspberry Pi 4 kopen, het model met het meeste geheugen zelfs.

Ik vond een leuke lowtech-oplossing in het Mini Battery Display van Open-Smart. Voor 1,30 euro per stuk vind je dit kleine printplaatje met leds op AliExpress. Het bevat een ledbalk met tien segmenten, die je kunt aansturen om bijvoorbeeld de processorbelasting of cpu-temperatuur aan te duiden. Er bestaan versies in allerlei kleuren en met allerlei aantallen segmenten. Let op: de tiensegment-versie heeft eigenlijk maar zeven onafhankelijk werkende segmenten: de eerste twee, de zesde en de zevende en de achtste en de negende worden samen aangestuurd.

©PXimport

Het ledbordje bevat een TM1651-chip en heeft vier pinnen: GND, VCC (5 V), DIO en CLK. Die twee laatste zijn de pinnen waarop je data doorstuurt aan de chip om te kiezen welke segmenten je wilt doen oplichten. Bij de aankoop ontving ik een datasheet (in het Chinees) en een spaarzaam (in het Engels) becommentarieerde C++-bibliotheek en Arduino-code.

Sluit eerst het bordje aan op de gpio-pinnen van je Raspberry Pi en wel als volgt: VCC sluit je op 5 V aan (pin 4), GND op GND (pin 6), DIO op BCM23 (pin 16) en CLK op BCM24 (pin 18). Zie https://pinout.xyz voor de pinnummers van de Raspberry Pi.

Ik heb gezocht naar code om het ledbalkje aan te sturen op de Raspberry Pi, maar blijkbaar bestond die niet. Omdat mijn (al dan niet passieve) kennis van programmeertalen iets vlotter is dan van het Chinees, heb ik de code van de C++-bibliotheek gelezen. Die bleek heel verstaanbaar, maar ze werkte niet eens. Door de C++-code van een ander vergelijkbaar ledbalkje te bekijken dat wel werkte en wat concepten uit beide projecten te combineren, slaagde ik er na wat experimenteren in om Python-code te schrijven om het ledbalkje aan te sturen.

Je installeert het Python-programma als volgt op Raspbian:

sudo pip3 install rpi-mini-battery-display

Daarna kun je naar believen het ledbalkje aansturen om de processorbelasting van je Raspberry Pi aan te geven:

rpi-mini-battery-display --processor

Zie de projectpagina op PyPI voor verdere instructies en extra mogelijkheden.

Zes van deze ledbalkjes passen precies op een breadboard, dus dat kun je voor of op de clusterbehuizing van je zes Raspberry Pi’s plaatsen. En zo heb je een goedkoop statusschermpje voor je cluster.

©PXimport

Wat kan beter?

Ik heb heel veel tijd in de voorbereiding en het uitzoeken van de juiste componenten gestoken, waardoor het cluster eigenlijk onmiddellijk bruikbaar was. Maar zoals altijd maak je een eerste keer toch verkeerde keuzes. In mijn drang om mijn Pi-cluster zo compact mogelijk te houden, heb ik de kabellengtes eigenlijk iets te krap genomen, wat mijn opties voor de opstelling beperkt.

Voor een verticale opstelling zijn de netwerkkabels van 25 cm echt te kort, waardoor ik de switch verticaal tegen de clusterbehuizing moet vastsnoeren of ze half zwevend op de ondergrond moet laten rusten. Het eerste is niet optimaal voor de warmteontwikkeling, het tweede niet netjes. Ook had ik redelijk dikke platte kabels gekocht, met een hoge stijfheid; dunnere flexibele kabels waren beter geweest. Hetzelfde probleem had ik met de laadkabels: omdat die zo stijf zijn, moet het laadstation half zwevend op zijn kant liggen.

Als ik de behuizing horizontaal opstel, met alle Pi’s op hun kant met de gpio-header onderaan, zijn de netwerkkabels niet het probleem (ze zijn dan zelfs eigenlijk te lang), maar de voedingskabels zijn dan iets te kort, waardoor het laadstation volledig in de lucht zweeft of op een verhoging gestabiliseerd moet worden. De horizontale opstelling met laadstation op een verhoging is voorlopig mijn voorkeursopstelling van dit cluster.

Conclusie

Op de kabels na ben ik eigenlijk heel tevreden met dit cluster. Maar ik wil nog enkele zaken verder uitwerken. Allereerst wil ik er een écht cluster van maken, met Kubernetes. Vorig jaar heb ik stuk voor stuk allerlei diensten die thuis draaien gemigreerd naar Docker-containers, verspreid over mijn nas en enkele Raspberry Pi’s. Met Kubernetes kan ik die automatisch over mijn Raspberry Pi-cluster verdelen zodat de Pi’s allemaal gelijkmatig belast zijn.

Een systeem als dit schreeuwt ook om een meer netwerkgebaseerde implementatie. Momenteel heeft elke Pi in het cluster zijn eigen micro-sd-kaartje waarvan het zijn besturingssysteem opstart en waarop het zijn gegevens opslaat. Maar als je een nas hebt, is het maar een kleine stap om van gedeelde opslag op je nas gebruik te maken voor je Pi’s.

Als je dan ook nog de images voor de besturingssystemen van de Pi’s op een nfs-server plaatst en de Pi’s via een netboot-server van deze images laat opstarten op het netwerk, heb je zelfs geen micro-sd-kaartjes meer nodig.

Maar hoewel ik nog heel wat aan dit cluster wil uitbreiden, doet hij zijn werk al goed. Ik probeer nu sneller nieuwe zaken op mijn Raspberry Pi’s uit omdat ik er geen werkloze Raspberry Pi’s meer voor uit een doos hoef te halen. En mijn bureau ziet er heel wat netter uit

▼ Volgende artikel
Slimme tweestapsverificatie: zo werk je met fysieke beveiligingssleutels
Zekerheid & gemak

Slimme tweestapsverificatie: zo werk je met fysieke beveiligingssleutels

Inloggen met enkel een wachtwoord blijft riskant. Steeds vaker stappen diensten daarom over op tweestapsverificatie of op volledig wachtwoordloos inloggen. In combinatie met een fysieke beveiligingssleutel leveren beide een nog robuustere bescherming op. Hoe werkt dit precies en wat zijn enkele concrete mogelijkheden?

We hoeven je niet meer uit te leggen dat inloggen met alleen een wachtwoord niet veilig is, zeker niet als je hetzelfde eenvoudige wachtwoord bij meerdere diensten gebruikt. Een wachtwoordbeheerder als Bitwarden helpt je wel complexere en verschillende wachtwoorden te gebruiken, maar de zwakheden blijven: wachtwoorden kunnen via phishing worden onderschept, bij een datalek buitgemaakt of met brute-force achterhaald. Daarom winnen alternatieve loginmethodes aan populariteit. Denk aan tweestapsverificatie, waarbij je naast je wachtwoord nog een extra factor gebruikt, zoals een code of biometrie, en aan wachtwoordloos inloggen, een methode op basis van een cryptografisch sleutelpaar. Beide methoden verhogen de beveiliging, maar met een fysieke beveiligingssleutel kun je het nog veiliger maken.

Fysieke sleutel

Zo’n fysieke sleutel is een stukje hardware van doorgaans zo’n 4 cm lang en 2 cm breed, enkele mm dik en met een gewicht van circa 4 gram. Er bestaan ook wel kleinere sleutels in de vorm van een usb-c-dongel, die nauwelijks uitsteken uit de poort van een computer. Verderop bekijken we enkele concrete, uiteenlopende toepassingen, maar hoe werkt zo’n sleutel eigenlijk?

Wanneer je een sleutel voor het eerst koppelt aan een dienst of account, wordt er een cryptografisch sleutelpaar aangemaakt. De private sleutel blijft altijd veilig in een aparte chip van de beveiligingssleutel, terwijl de publieke sleutel naar de server van de betreffende dienst wordt doorgestuurd. Wanneer je vervolgens inlogt op de site, vraagt de server via je browser de sleutel om een cryptografische handtekening te zetten.

De meeste beveiligingssleutels wegen slechts een paar gram en kun je altijd meenemen.

Veiligheid

De sleutel checkt daarbij welke domeinnaam in de browser actief is, bijvoorbeeld account.google.com, en zet de handtekening alleen als dit overeenkomt met het domein waarvoor je de sleutel eerder hebt geregistreerd. Daardoor is het systeem nagenoeg phishing-bestendig, in tegenstelling tot bijvoorbeeld sms- of OTP-codes. Zo’n code kun je immers ook op een valse site intypen, waarna een aanvaller deze meteen kan doorsturen naar de echte site. Bij wachtwoorden, sms en OTP bestaan bovendien gedeelde geheimen, zoals codes of hashes, die bij een datalek gestolen kunnen worden, terwijl er bij een fysieke sleutel zelfs bij een serverdatalek niets bruikbaars te halen valt. Een smartphone kan bovendien malware bevatten of gestolen worden, waardoor een aanvaller toegang kan forceren; een fysieke sleutel daarentegen bewaart de geheime sleutel veilig in een niet-uitleesbare chip.

Een beveiligingssleutel vormt (vaak samen met een wachtwoord) een solide log-in.

Nadelen

Zo’n fysieke sleutel geldt dus als een van de veiligste methoden, al zijn er ook enkele praktische nadelen. Zo moet je de sleutel bij je hebben tijdens het inloggen en bij verlies of diefstal riskeer je buitengesloten te raken als je geen back-up hebt, bijvoorbeeld in de vorm van back-upcodes of een tweede, veilig bewaarde sleutel. Bovendien ondersteunen nog niet alle sites of diensten zo’n sleutel. Op onder meer www.kwikr.nl/f2sup en www.kwikr.nl/yubisup vind je wel lijsten met diensten die via een of ander protocol inloggen met een fysieke sleutel ondersteunen. Tot slot kost een sleutel ook wel iets: tussen de 30 en 80 euro, afhankelijk van de ondersteunde functies en standaarden.

Yubico laat je kiezen tussen onder meer protocol, apptype en sleuteltype.
Meerdere protocollen

Er zijn verschillende producenten van beveiligingssleutels, zoals Feitian, Nitrokey, SoloKeys en Yubico, elk met een divers aanbod. In dit artikel focussen we op de populaire multi-protocol YubiKey 5-serie, die de protocollen FIDO U2F, FIDO2/WebAuthn, OTP, OpenPGP en PIV smartcard ondersteunt (zie ook www.kwikr.nl/yubi5). Zonder ons in technische details te verliezen, gaan we kort in op deze protocollen.

FIDO U2F (Fast IDentity Online Universal 2nd Factor) gebruikt de sleutel als tweede factor naast je wachtwoord. Bij het inloggen raak je de sleutel aan en die bewijst cryptografisch dat jij aanwezig bent. FIDO2/WebAuthn is de algemeen geaccepteerde opvolger van U2F, waarbij je niet alleen een tweede factor kunt gebruiken, maar ook volledig wachtwoordloos inlogt via een uniek sleutelpaar (passkeys). Met OTP (One-Time Password) kan de sleutel een eenmalige code genereren, zoals bij een authenticator-app. Je tikt de sleutel aan en er verschijnt een unieke code die je als extra log-infactor inzet. Met OpenPGP (Pretty Good Privacy) kan de sleutel je private PGP-sleutels opslaan, zodat je bijvoorbeeld e-mails kunt versleutelen en ondertekenen. Met PIV smartcard (Personal Identity Verification) functioneert de sleutel als slimme chipkaart, zoals een bedrijfsbadge. Je gebruikt dit bijvoorbeeld voor digitale handtekeningen, inloggen op Windows-domeinen of VPN-verbindingen. 

Inloggen via 2FA

We weten nu hoe een sleutel eruitziet, hoe die werkt en waarom die zo veilig is. Dat volstaat om er zelf mee aan de slag te gaan, in verschillende scenario’s en met diverse protocollen. In dit artikel gebruiken we een YubiKey 5(C) NFC die ongeveer 65 euro kost, maar je kunt ook andere sleutels inzetten zolang ze de vereiste protocollen ondersteunen. Sleutels die enkel FIDO U2F en FIDO2 ondersteunen, zijn al verkrijgbaar vanaf 15 euro.

Laten we als voorbeeld starten met de sleutel als tweede factor bij een Facebook-account. Hiervoor volstaat een sleutel met FIDO U2F, al accepteren niet alle diensten U2F. Zo vereisen Apple en Microsoft in dit geval een FIDO2-sleutel.

Meld je aan bij je Facebook-account via https://accountscenter.facebook.com. Ga in Accountinstellingen naar Wachtwoord en beveiliging. Open Tweestapsverificatie en selecteer je Facebook-account. Na het invullen van een verificatiecode via mail kies je de gewenste methode. Klik op Beveiligingssleutels en bevestig met Doorgaan. Na de controle van de beveiligingscode klik je op Beveiligingssleutel registreren. Selecteer Beveiligingssleutel, druk op Volgende en OK. Plaats de sleutel, raak deze even aan en klik opnieuw op OK. Bevestig ten slotte met je wachtwoord zodat de sleutel als tweede factor wordt toegevoegd.

De beveiligingssleutel is zojuist als tweede factor bij Facebook (Meta) toegevoegd.

2FA in Bitwarden

Zolang je nog met wachtwoorden werkt, is een wachtwoordbeheerder sterk aan te raden. Een degelijke en gratis te gebruiken tool is Bitwarden. We gaan ervan uit dat je deze hebt gedownload en geïnstalleerd (via www.kwikr.nl/bwpers; beschikbaar voor Windows, macOS en Linux) en dat je een Bitwarden-account hebt aangemaakt. Handig is ook de Bitwarden-browserextensie, die automatisch invullen en opslaan van wachtwoorden in je browser veel eenvoudiger maakt, maar daar gaan we hier niet verder op in. We bekijken hier namelijk vooral het koppelen van je fysieke sleutel aan je Bitwarden-account.

Meld je aan op https://vault.bitwarden.com. Open Instellingen en kies Beveiliging. Ga naar het tabblad Tweestapsaanmelding en klik op Beheren bij FIDO2 WebAuthn. Vul je Bitwarden-hoofdwachtwoord in en voer bij Naam een korte beschrijving van de sleutel in. Plaats je sleutel (via usb of NFC) en klik op Sleutel lezen. Als de sleutel om een pincode vraagt, vul je die in en raak je de sleutel kort aan. Bevestig met OK en klik op Opslaan zodat de sleutel wordt toegevoegd. Op dezelfde manier kun je ook een andere sleutel als reserve koppelen (zie ook verderop ‘10 Voorzorgsmaatregelen’). Bij het inloggen, ook via de Bitwarden-app, moet je nu naast je wachtwoord ook je sleutel gebruiken.

Bitwarden vraagt naast je wachtwoord ook om je beveiligingssleutel.

Inloggen met passkey

Steeds meer diensten ondersteunen wachtwoordloze aanmeldingen via toegangssleutels, oftewel passkeys. Wil je hiervoor je fysieke sleutel gebruiken, dan moet deze FIDO2/WebAuthn ondersteunen, waarbij de private sleutel van het cryptografische sleutelpaar op de sleutel zelf wordt bewaard. Om in te loggen hoef je de sleutel enkel te plaatsen of via NFC op je smartphone te gebruiken, als dit wordt ondersteund, en daarna te bevestigen met pincode en aanraaksensor. Kortom, je sleutel wordt je loginmiddel. We tonen dit met een Google-account.

Log in via https://myaccount.google.com. Ga naar Beveiliging en klik bij Inloggen bij Google op Tweestapsverificatie. Klik indien nodig op Tweestapsverificatie aanzetten. Voeg desgewenst een telefoonnummer toe en klik bij Toegangssleutels en beveiligingssleutels op Beveiligingssleutel toevoegen. Klik vervolgens op + Toegangssleutel maken en kies Ander apparaat gebruiken. Selecteer in het pop-upvenster Beveiligingssleutel. Druk op Volgende en daarna tweemaal op OK. Plaats nu de sleutel en voer de pincode in, of maak een nieuwe aan als de sleutel nieuw of gereset is. Bevestig met OK en raak de sleutel kort aan. De sleutel staat nu in de lijst met toegangssleutels in je Google-account.

Wanneer je je daarna bij Google afmeldt en opnieuw aanmeldt, zul je merken dat je je wachtwoord – op ondersteunde browsers en platformen – niet meer hoeft in te geven en met de sleutel kunt aanmelden. Google acht deze methode namelijk veilig genoeg. Wil je dit toch niet, open dan opnieuw Beveiliging, klik bij Inloggen bij Google op Wachtwoord overslaan als dat mogelijk is en schakel deze optie uit. Je sleutel fungeert dan enkel nog als tweede factor, waarvoor in principe FIDO U2F volstaat.

De beveiligingssleutel is zojuist aan ons Google-account toegevoegd.

Passkey bij Microsoft

Bij veel diensten werkt het koppelen vergelijkbaar als bij Google. We tonen je wel kort hoe je een beveiligingssleutel inzet in een wachtwoordloze oplossing bij Microsoft, die hiervoor een wat eigenzinnige werkwijze en terminologie hanteert.

Meld je aan via https://account.microsoft.comen open Beveiliging. Klik op Beheren hoe ik me aanmeld en kies Een methode voor aanmelden of verifiëren kiezen. Selecteer Gezicht, vingerafdruk, pincode of beveiligingssleutel en kies Beveiligingssleutel. Druk op Volgende en daarna tweemaal op OK, plaats de sleutel, voer desgevraagd de pincode in en raak de sleutel aan. Klik opnieuw op OK, geef de sleutel een naam en bevestig met Volgende en OK. De sleutel verschijnt nu in de lijst bij Een wachtwoordcode gebruiken (waar je hem ook kunt hernoemen of verwijderen). Je kunt de sleutel vanaf nu als tweede inlogfactor inzetten, ook op andere apparaten.

Wil je de sleutel volledig wachtwoordloos gebruiken, dan verplicht Microsoft je eerst de Microsoft Authenticator-app te installeren en hier via de plusknop je Microsoft-account toe te voegen. Klik daarna op je accountpagina in de rubriek Beveiliging op Inschakelen bij Account zonder wachtwoord en druk op Volgende. In de Authenticator-app verschijnt nu een melding die je bevestigt met Goedkeuren, waarna op de website wordt gemeld dat je wachtwoord is verwijderd. Voortaan kun je ook zonder wachtwoord inloggen, met je beveiligingssleutel.

Het opzetten van een wachtwoordloze login via je beveiligingssleutel bij Microsoft is wat complexer.
Lokaal Windows-account

Het leek veelbelovend: open je in Windows de Instellingen en ga je naar Accounts / Aanmeldingsopties, dan zie je wellicht Beveiligingssleutel staan. Voor lokale of persoonlijke Microsoft-accounts werkt dit helaas niet. Dit blijkt enkel mogelijk bij zakelijke Active Directory- of Entra ID-accounts.

Heb je een compatibele Yubico-sleutel, zoals de YubiKey 5(C) NFC, dan kun je deze wel als tweede inlogfactor gebruiken voor een lokaal Windows-account. Hiervoor heb je de gratis tool Yubico Login for Windows nodig (www.kwikr.nl/yubilogin). Zorg wel dat je de gebruikersnaam en het wachtwoord van het lokale account kent. Installeer de tool en herstart Windows. Meld je daarna aan met je lokale account via de optie Yubico Login en start de app Login Configuration als administrator. Gemakshalve kun je Express configuration kiezen. Plaats de sleutel en volg de instructies (zie ook www.kwikr.nl/yubiwin). Bewaar de herstelcode zorgvuldig. Voor de gekozen gebruiker is voortaan naast gebruikersnaam en wachtwoord ook de beveiligingssleutel vereist.

Je kunt een YubiKey ook als tweede factor inzetten voor je Windows-login.

Inloggen met TOTP

Als je beveiligingssleutel ook OATH-TOTP ondersteunt (Initiative for Open AuTHentication - Time-based One-Time Password), kun je die gebruiken om een eenmalige code te genereren, net als met authenticator-apps van Google, Microsoft, Proton of Authy. Veel apps en diensten ondersteunen deze 2FA-methode.

We nemen Dropbox als voorbeeld. Meld je aan op www.dropbox.com, klik op je profielicoon rechtsboven, kies Instellingen en open het tabblad Beveiliging. Schakel Tweestapsverificatie in, selecteer Authenticatie-app en druk op Verzenden. Je ziet nu een QR-code en de bijbehorende geheime sleutel.

Download en installeer vervolgens de gratis app Yubico Authenticator (www.kwikr.nl/yubiauth). Start de app, plaats je beveiligingssleutel en open Accounts. Klik op Add account en kies Scan QR code als je een camera hebt, of voer de geheime code handmatig in bij Secret Key. Vul bij Issuer bijvoorbeeld Dropbox in en bij Account name het e-mailadres van je Dropbox-account. Bevestig met Save. In de app verschijnt een cijfercode die je op de Dropbox-site invult bij Bevestigingscode. Noteer de herstelcodes, bewaar ze goed en rond af met Voltooien.

Bij het aanmelden op Dropbox tik je eerst je wachtwoord in en daarna de actuele eenmalige code die je in Yubico Authenticator bij je Dropbox-account ziet.

Net als veel andere diensten ondersteunt ook Dropbox TOTP (op een beveiligingssleutel) als 2FA-methode.

Challenge/Response

Tot slot tonen we je nog de challenge-response-methode. Hierbij genereert een dienst of app een willekeurige wiskundige vraag (challenge) in de vorm van een bitreeks. Deze gaat naar je beveiligingssleutel, die de overeenkomstige cryptografische response berekent en terugstuurt. Als de codes overeenkomen, krijg je toegang. We lichten dit kort toe voor de gratis wachtwoordbeheerder KeePassXC (www.keepassxc.org; Windows, macOS, Linux) om een lokaal bewaarde wachtwoordkluis te openen.

Verschillende sleutels ondersteunen deze methode, waaronder de meeste YubiKeys. Download en installeer voor zo’n sleutel eerst de gratis YubiKey Manager (zie kader ‘Sleutelbeheer’). Start de app, ga naar Applications/OTP en klik op Configure bij een vrij slot. Kies Challenge-response, klik op Generate voor de geheime sleutel, zet eventueel een vinkje bij Require touch voor extra veiligheid en sluit af met Finish.

Open vervolgens KeePassXC en laad je database. Ga naar Database / Database beveiliging, kies Aanvullende bescherming toevoegen / Challenge-Response toevoegen, selecteer het juiste slot van je geplaatste sleutel en bevestig met OK. Voortaan is je wachtwoordkluis enkel toegankelijk met je wachtwoord en je beveiligingssleutel.

Je (lokale) wachtwoordkluis is voortaan alleen toegankelijk met je beveiligingssleutel.
Sleutelbeheer

Beschik je over een beveiligingssleutel, dan zul je vroeg of laat de beheertool van de producent nodig hebben. Als voorbeeld nemen we de YubiKey Manager (www.kwikr.nl/yuman), die je het best als administrator opstart. Hiermee kun je functies of interfaces uitschakelen (OTP, FIDO U2F, FIDO2, OpenPGP, PIV en OATH), een pincode instellen of resetten voor FIDO2 of PIV, statische wachtwoorden of OTP-slots programmeren en certificaten beheren in PIV-modus (smartcardfunctie).

In de beheertool kun je ook specifieke protocollen uitschakelen, mocht je dat willen (hier: YubiKey Manager).

Voorzorgsmaatregelen

In het artikel hebben we al, ook tussen de regels door, enkele tips gegeven om (veiligheids)problemen te vermijden. We sommen ze kort nog even op.

Zo registreer je best altijd twee fysieke sleutels bij elke dienst, zodat je bij verlies of diefstal via de back-upsleutel toegang behoudt. Bewaar deze op een veilige plaats en test af en toe of de sleutel nog werkt. Activeer daarnaast bij elke dienst een alternatieve 2FA- of noodmethode, zoals TOTP-toegang via een authenticator-app, en druk back-upcodes af die je veilig bewaart. Zo kun je ook zonder sleutel nog aanmelden, al is dit wat minder robuust. Tot slot, ook al beschermt een beveiligingssleutel je technisch goed tegen phishing, blijf alert. Krijg je bijvoorbeeld een onverwachte vraag om de PIN-code van je sleutel in te voeren, wees dan op je hoede.

Heel wat diensten voorzien in (eenmalige) back-upcodes (hier: Google).
▼ Volgende artikel
Review Tefal Snack Collection - klein formaat, veel mogelijkheden
© Tefal
Huis

Review Tefal Snack Collection - klein formaat, veel mogelijkheden

Tefal lanceert een compact model tosti-ijzer dat met allerlei extra platensets te gebruiken is voor allerlei gerechten: van panini's en wafels in allerlei vormen en maten tot aan donuts en madeleines. Is de Snack Collection echt zo veelzijdig? ID.nl ging ermee aan de slag.

Uitstekend
Conclusie

De Tefal Snack Collection is een compact tosti-apparaat met verwisselbare platen, bedoeld voor wie met één toestel meerdere snacks wil bereiden. In de test leverde het apparaat goede resultaten met tosti’s en panini’s; de platen klikken stevig vast, zijn uitneembaar en vaatwasserbestendig. Met zijn kleine formaat, snoeropbergsysteem, 700 watt vermogen, maximale temperatuur van 230 graden en voorverwarm-indicator is het toestel praktisch, al is het grillvlak aan de krappe kant en is de temperatuur niet instelbaar. Per saldo is dit een ruimtebesparende keuze voor tostiliefhebbers die graag variëren.

Plus- en minpunten
  • Compact formaat en makkelijk opbergen
  • Goede grill-prestaties
  • Veel uitbreidingsmogelijkheden
  • Opwarmen duurt zo'n 4 minuten
  • Temperatuur niet instelbaar

Tafelgrills en tosti-apparaten zijn in bijna elk huishouden te vinden. Vaak gaat het om apparaten met een geribbelde grillplaat boven en onder, waar je je tosti tussen legt om die een paar minuten erna bruin en krokant uit te halen, met een lekker warme vulling. Het zijn eenvoudige apparaten die goed zijn in waarvoor ze ontwikkeld zijn. Meer dan je tosti erin maken kan vaak niet. Tefal komt nu met de compacte Snack Collection, een apparaat dat je koopt met twee bijgeleverde typen grillplaten en nog eens kunt uitbreiden door losse sets erbij te kopen.

©Saskia van Weert

Testexemplaar en meegeleverde platen

Ter review ontving de redactie een blauw testmodel, voorzien van twee grill/panini-platen (één boven, één onder in het apparaat) en twee platen om Brusselse wafels mee te maken. De Snack Collection is met zijn 28,5 centimeter breedte, 20,6 centimeter lengte en 34,5 centimeter hoogte een betrekkelijk klein apparaat dat makkelijk op te bergen is. Het snoer is aan de onderkant op te bergen, er zit een aan-uitknop aan de voorzijde, net als een vergrendeling om het ijzer op slot te zetten. Ook zit er een lampje aan de voorzijde dat groen oplicht als het apparaat is voorverwarmd. Hij heeft een vermogen van 700 watt en een maximale temperatuur van 230 graden. De temperatuur is niet handmatig in te stellen.

©Saskia van Weert

Inhoud van de doos en wisselen van platen

In de machine zit al een set grillplaten. Verder vind je in de doos twee verpakkingen die nog het meest doen denken aan videobandhoezen van vroeger. Ze zijn van harde kunststof en gaan wat lastig open. De ene doos is uiteraard leeg, want daar zaten de panini-platen in, maar we vinden er wel een receptenboekje in. In de andere doos zit de uitbreiding; in ons testexemplaar zijn dat de wafelplaten. De platen zijn los te halen uit de machine via een knopje boven en onder, en de platen kunnen er op maar één manier in vastklikken. Je kunt ze dus niet verkeerd bevestigen. Ze mogen in de vaatwasser; de machine zelf uiteraard niet.

©Saskia van Weert

Gebruik en bediening

Zoals wel vaker bij dit type apparaten is de werking enorm simpel. Je bevestigt de gewenste platen in de machine, doet de stekker in het stopcontact en zet hem aan. Dan wacht je tot het groene lampje aangaat, open je de machine, doe je je gerecht erin, sluit je alles weer netjes en wacht je tot je eten klaar is. Eet smakelijk!

©Saskia van Weert

Test: tosti's

De bijgeleverde grill/panini-plaat is net wat te klein voor een reguliere tosti van boterhammen uit de supermarkt; het korstje steekt net wat boven de plaat uit. Maar dat bleek voor het resultaat niet uit te maken: alle geteste tosti’s kwamen prima uit de Tefal. Opwarmen duurde wel wat lang, ongeveer 4 minuten.

Lees ook: Gezonde tosti’s om de hele middag op door te gaan

Brand je handen niet!

Gebruik een tang om je tosti's te serveren

Test: panini

De test met een panini had wat voeten in de aarde. De supermarkten in onze woonplaats verkochten geen panini-broodjes, maar een XL-shop in een andere plaats wel. Panini-broodjes zijn hoger dan normale afbakbroodjes en standaard voorzien van grillstrepen. Het deksel van de Snack Collection moest wel wat worden aangedrukt om de machine te kunnen sluiten met de vergrendeling, maar ook dat verliep verder prima.

Schoonmaken en opbergen 

De platen komen weer brandschoon uit de vaatwasser en klikken makkelijk vast in het apparaat. Door de betrekkelijk kleine afmetingen van dit keukenapparaat is het makkelijk op te bergen.

©Tefal

Uitbreidingssets (assortiment)

Dan de uitbreidingssets. Deze hebben we niet kunnen testen, maar zijn uiteraard te bekijken via de site van Tefal. Er is een aantal platen voor tosti’s in bijzondere vormen, zoals een schelpvorm of juist meteen als driehoek. Verder zijn er onder meer vormen voor bagels te verkrijgen. Tefal mikt duidelijk op een internationaal publiek, want er is ook een vorm voor madeleines (Franse zoete cakejes) verkrijgbaar.

Conclusie

De Tefal Snack Collection is een compact tosti-apparaat met verwisselbare platen, bedoeld voor wie met één toestel meerdere snacks wil maken. In de test leverde het apparaat nette resultaten op: tosti's kwamen goed uit de grill en panini's lukten eveneens prima na het sluiten met de vergrendeling. De platen klikken stevig vast, zijn uitneembaar en kunnen in de vaatwasser. Dankzij het kleine formaat en het opbergsysteem voor het snoer is het toestel eenvoudig weg te zetten. Het apparaat heeft een vermogen van 700 watt, een maximale temperatuur van 230 graden en een indicatielampje dat aangeeft wanneer voorverwarmen is voltooid.

Aandachtspunten: het grillvlak is aan de krappe kant voor standaardboterhammen, de opwarmtijd ligt rond de 4 minuten en de temperatuur is niet handmatig regelbaar. De uitbreidingsmogelijkheden zijn groot (onder meer wafels, donuts, madeleines en bagels), maar deze extra platen zijn in deze test niet inhoudelijk beoordeeld.

Per saldo is de Snack Collection een praktisch en ruimtebesparend apparaat voor de liefhebbers van tosti's die ook graag eens experimenteren met andere bereidingen.