VOORDAT we beginnen wil ik eerst duidelijk maken dat je NIET hetzelfde wachtwoord voor elk account moet gebruiken. Als je dat toch van plan bent dan verspil je je tijd door deze guide te lezen. Als je gehacked wordt op een site, of er is een data breach of wat dan ook en je wachtwoord raakt bekend, dan zijn al je andere accounts in theorie OOK gehacked. Gebruik voor elk account een UNIEK wachtwoord
De beveiliging van een account begint altijd bij het wachtwoord. Je hebt vast wel eens een account moeten maken waarbij er bepaalde eisen waren gesteld voor een wachtwoord, bijvoorbeeld minstens 8 tekens, een cijfer, hoofdletter en speciaal karakter. Als je een wachtwoord bedenkt die aan al deze eisen voldoet betekent het echter nog niet dat het een goed wachtwoord is. Voordat ik je uitleg waarom dat zo is moet je eerst een paar dingen snappen.
De sterkte van een wachtwoord wordt vaak beslist met de vraag "hoelang zou het duren om dit wachtwoord te bruteforcen?" (bruteforcing = het gebruiken van een systeem om zo snel mogelijk zo veel wachtwoorden proberen in te vullen totdat het juiste wachtwoord gekraakt is). De uiteindelijke sterkte van een wachtwoord wordt weergegeven in "bits of entropy". Dit is een universeel concept. Je hebt online veel tools om de bits of entropy van je wachtwoord te checken maar ik zal voor nu even gebruik maken van KeePassXC.
Om een paar voorbeelden te geven: "password" = 1 BOE. "pizza" = 10 BOE. "JanWillem2001" = 31 BOE. en "7B8sENA!" = 38 BOE. Nu is het zo dat het laatste wachtwoord aan alle eerdergenoemde eisen voldoet. Het heeft hoofd- en kleine letters, cijfers en een speciaal karakter. Dat levert ons dus 38 bits of entropy op. Klinkt goed op het eerste gezicht, maar laten we eens gaan rekenen.
Als we alle mogelijke tekens (simplified) gaan tellen dan hebben we 26 kleine letters + 26 hoofdletters + 10 cijfers + laten we zeggen 15 speciale karakters (er zijn meer characters maar als we ervan uitgaan dat je de simpele richtlijnen van een website volgt en waarschijnlijk alleen een @, ! of ? gaat gebruiken is 15 wel genoeg) = 77 mogelijke tekens. Om de mogelijke pogingen van het raden van een wachtwoord te berekenen moeten we het aantal mogelijke tekens (in dit geval 77) tot de macht van het aantal tekens dat ons wachtwoord is (8). Als we 77x77x77x77x77x77x77x77 doen krijgen we ONGEVEER 1.235.736.290.000.000 (afgerond 1.2 biljard). Dit betekent dus dat als je een wachtwoord hebt die aan alle eisen van een gemiddelde website voldoet je een kans van 1 op 1.2 biljard hebt om het in een keer goed te raden.
Er gaan geruchten rond dat een 'super computer' 1 miljard wachtwoorden per seconde kan proberen. dat komt dus neer op:
1.200.000 (1.2 miljoen) seconden staat gelijk aan 20.000 minuten, 333,33 uur of 13,8 dagen. Dat betekent dat als iemand het specifiek op jouw gemunt heeft, het in het gunstigste geval 2 weken zal duren om je wachtwoord te kraken. In realiteit is dit eerder slechts een week omdat de kans klein is dat jouw wachtwoord als allerlaatst geraden wordt maar waarschijnlijk eerder ergens in het midden van de lijst met mogelijke combinaties ligt.
Je hebt ook een concept van een "passphrase". Dit houdt in dat je wachtwoord een random combinatie is van woorden of een bepaalde zin is. Dit is over het algemeen vaak een betere optie dan een slecht wachtwoord zoals hierboven. Ik zou dit nogsteeds niet aanraden omdat er zogehete "dictionary attacks" kunnen worden uitgevoert. Een dictionary attack is in principe het zelfde als bruteforcing alleen worden er dan woorden uit een woordenboek gebruikt in plaats van toetsen op een toetsenbord.
Bovengenoemde zaken zijn in het geval als iemand je account gaat proberen te bruteforcen. Een waarschijnlijkere manier om aan iemands wachtwoord te komen is social engineering. Dit is een brede term. Het houdt in om aan iemands gegevens te komen door middel van vragen, beloftes, manipulatie psychologie en weet ik wat allemaal. Het zou bijvoorbeeld kunnen dat iemand die je kent persoonlijke informatie van jou weet die terug te vinden is in je wachtwoord. Denk aan je geboortedatum, geboorteplaats, de naam van je ouders etc. Als iemand genoeg over je weet kan het voor diegene heel makkelijk worden om je wachtwoord te raden, zeker als deze persoon je goed kent en weet wat voor type persoon je bent. Dus vermijd wachtwoorden waar persoonlijke gegevens van jou of andere mensen in voorkomen
Het (veruit) beste wachtwoord om te gebruiken is een lange mix van kleine en grote letters, cijfers en speciale tekens van 20+ karakters. Zo'n wachtwoord heeft vaak tussen de 170 en 225 bits of entropy. Je kunt berekenen hoelang het zou duren om zo'n wachtwoord te kraken als je de formule van eerder gebruikt. Je zult dan zien dat dit wachtwoord vele malen lastiger te kraken valt. Ten eerste is het (vandaag tenminste) simpelweg onmogelijk om zo'n wachtwoord te kraken in de periode van een gemiddeld leven. Ten tweede is dit soort wachtwoord bestendig tegen social engineering en hoef je je daarover geen zorgen te maken. Ten derde zijn dit soort wachtwoorden (hoe langer hoe beter) future proof. Naarmate de tijd verstrijkt hoe makkelijker het wordt om wachtwoorde n te kraken en dus is het fijn om te weten dat je wachtwoord tenminste nog 50 jaar mee zal gaan.
Nu komt het deel waarin je voor de zoveelste keer gaat horen over password managers en waarom ze zo goed zijn. Ik sta hier volledig achter en ik ga je uitleggen waarom. Een goede password manager is veilig en zorgt ervoor dat alleen jij toegang hebt tot je wachtwoorden. Je kunt de wachtwoorden vaak ook indelen in verschillende mappen zoals "school" of "games" of whatever. Je kunt vaak ook direct in de password manager een veilig wachtwoord genereren en soms krijg je er zelfs bits of entropy waarde erbij. Een absoluute must dus.
De enige password manager die ik zou kunnen aanraden is KeePassXC (desktop) en KeePassDX (android, geen idee voor ios lol). KeePassXC voldoet aan alle bovengenoemde eisen voor een goede password manager. Het enige 'nadeel' is dat je zelf verantwoordelijk bent voor je wachtwoorden en dat als je je master password vergeet/kwijtraakt je de lul bent. Als je dit een te grote verantwoordelijkheid vindt dan heb je ook nog online password managers. Deze password managers bewaren je gegevens dan op hun servers zodat jij er altijd bij kunt. Het nadeel hiervan is dat jouw wachtwoorden bij iemand anders liggen. Deze online password managers bewaren wachtwoorden van heel veel mensen, dat maakt ze dan ook een doelwit voor internetcriminelen.
Je moet uitzoeken wat voor jouw het best werkt. Als je een goede cloud based password manager nodig hebt dan kan ik je daarmee helaas niet helpen. Ik had een tijdje BitWarden gebruikt maar dat kan ik niet echt aanraden helaas. Als je van plan bent een KeePass variant te gebruiken raad ik ernstig aan om backups te maken van je database en deze op verschillende harde schijven/flashdrives op te slaan en ze ook te updaten. Mocht een van je drives falen dan heb je altijd een kopie.
De ingebouwde password manager van je browser is kut en hier moet je zo ver mogelijk vandaan blijven. Je browser is een heel gevoelig onderdeel van je online profiel en dus de perfecte doelwit voor criminelen. Er bestaan talloze soorten malware/andere virussen die deze gegevens zouden kunnen stelen. De password managers waarvan je advertenties krijgt of gesponsorde segmenten in videos op YouTube zijn ook kut. Vrijwel altijd zijn deze pm's closed source, hebben ze een kut Terms of Service en Privacy Policy en soms hebben ze zelfs slechte encryption. Bovengenoemde BitWarden is tenminste nog open source.
Wachtwoorden op een fysiek briefje bewaren zou een mogelijkheid kunnen zijn alleen heb ik dit zelf nooit geprobeerd, ben ik het niet van plan en lijkt het me zwaar kut. Bij een digitale password manager kun je altijd bij terwijl je een briefje niet altijd bij je hebt. Ook kan het door andere gelezen worden en/of makkelijk kapot gaan. Ik zou het niet aanraden.
Two-Factor-Authentication A.K.A. 2FA is op password managers na de grootste hype op het internet als het gaat om beveiliging. 2FA houdt in dat je naast email/gebruikersnaam en wachtwoord nog iets anders nodig hebt om te kunnen inloggen. Vaak gaat het dan om een 6 cijferige code die je op een ander apparaat krijgt. Je hebt verschillende soorten 2FA en die ga ik je nu uitleggen.
SMS 2FA houdt in dat nadat je je email en wachtwoord hebt ingevult je een code zal krijgen op je telefoon vis SMS. Dit is vaak een 6 cijferige code. Dit is veruit de populairste 2FA die nu gebruikt wordt. Het is simpel, toegankelijk en snel. Deze soort van 2FA is echter niet het meest veilig. Ik zou zelfs willen zeggen dat dit best onveilig is.
Dit komt doordat SMS uit zichzelf niet echt veilig te noemen is. De berichten worden niet versleuteld en hierdoor kunnen andere mensen toegang krijgen tot jouw innkomende SMS berichten. Iemand hoeft maar naar het bedrijf van je sim kaart te bellen, een paar algemene vragen over jou te beantwoorden en kan daarmee heel gemakkelijk een tweede sim kaart met jouw nummer bestellen. Iets wat ook kan gebeuren maar een kleinere kans heeft om te gebeuren is dat iemand een fysieke kopie van je sim kaart maakt en deze kopie zelf gaat gebruiken.
Een ander nadeel van SMS 2FA is dat je je telefoonnummer moet opgeven. Dat betekent dat je telefoonnummer openbaar wordt zodra het bedrijf een data breach heeft. Ook kan een telefoonnummer gebruikt worden om persoonlijke gegevens te achterhalen. Iets waar een bedrijf niks mee te maken hoeft te hebben. Al met al is SMS 2FA een slechte optie en maakt het de zaken er zelfs erger op.
TOTP of Time-based One Time Passcode is een prima optie om je account te beveiligen. Het houdt in dat je een QR code moet scannen of een bepaalde code moet invullen op een authenticator app die je dan steeds een unieke code laat zien. Denk aan apps zoals Google Authenticator bijvoorbeeld. Je krijgt bij deze soort 2FA elke 30 seconden een unieke 6 cijferige code die je vervolgens op de website of wat dan ook gebruikt om in te loggen.
Er is niet veel mis met deze manier van authenticatie en dit zal voor de meeste van jullie wel prima zijn. Het enige nadeel wat ik zou kunnen bedenken is dat er malware op je telefoon zit die deze codes kan spoofen maar meer ook niet. Al met al is het een stevige keuze voor extra beveiliging
Hardware 2FA houdt in dat je een fysiek apparaat, vaak ten grootte van een grote usb stick gebruikt om in te loggen. Dit apparaat zou dan een unieke code hebben of iets dergelijks. Voorbeelde n hiervan zijn de YubiKey en Token2. Ik ben niet heel bekend met deze manier van 2FA en heb het nooit gebruikt maar heb wel hele positieve dingen gehoort hierover en als je de extra stap wilt nemen zou ik zeker aanraden om hier meer informatie over op te zoeken.
Naast de bovengenoemde manieren zijn er ook nog iets meer 'underground' 2FA manieren. De eerste hiervan zijn prompts. De enige keer dat ik deze voorbij heb zien komen was op mijn oude Google account waarbij ik op mn telefoon het juiste cijfer moest aanklikken ofzo. Je zou het kunnen gebruiken als je wilt, maar TOTP is waarschijnlijk een betere optie.
Je hebt ook zoiets als IP based 2FA. Ik heb hier niet echt veel ervaring mee maar van wat ik begrijp onthoudt de service waarbij je inlogt je IP adres en bepaalt aan de hand daarvan van hoe streng ze moeten zijn als je wilt inloggen. Ik vind het een vaag concept en denk niet dat ik het aanraad.
Dan heb je ook nog beveiligingsvragen zoals "Wat is je favoriete film?" Ik zou dit meer zien als een backup dan als een 2FA. Als je dit gebruikt raadt ik je zeer sterk aan om niet de echte antwoorden hierop te geven omdat deze vaak makkelijk te raden zijn (wederom door social engineering) .
Email 2FA kan ook maar ik snap niet waarom. Naar mijn mening heeft het niet veel toegevoegde waarde en kun je beter TOTP gebruiken lmao.
Als iemand je email adres weet (wat vaak niet echt een geheim is) dan heeft diegene vaak al de helft van de gegevens die nodig zijn om in te loggen. Om dit te voorkomen zou je verschillende email accounts kunnen maken om dit te omzeilen. Echter is dit zwaar kut, onhandig en kost het veel tijd. In plaats hiervan kun je beter een email-aliasing-service gebruiken.
Een email aliasing service genereert random emailadressen die je kunt gebruiken waarbij de mail die je op de random emailadressen krijgt gewoon in 1 inbox terecht komt (namelijk die van je hoofd emailadres). Ik raad hiervoor SimpleLogin of AnonAddy aan. Deze services hebben volgensmij een best oke TOS en PP. Als je Riseup gebruikt dan heb je dit niet nodig want Riseup heeft een eigen alias system wat btw heel chill is en goed werkt!
Hetzelfde geldt voor gebruikersnamen. Deze zijn alleen makkelijker te randomizen dus doe dit vooral!
Een andere manier waarop je je toegang tot je account zou kunnen verliezen is doormiddel van bijvoorbeeld een keylogger. Een keylogger is een soort malware dat zonder dat jij het doorhebt al de toetsen die jij indrukt registreert en ergens opslaat. Dus ook als je je wachtwoorden ergens typt. Ook kun je spyware hebben waar iemand bijvoorbeeld met jouw scherm mee kan kijken en dus op die manier achter je wachtwoorden komt.
Dit kun je op allerlei manieren tegengaan. ALs je software download kijk dan goed of de url klopt en er geen spellings/typfouten inzitten. Let ook goed op de file extensions van je downloads. ALs je bijvoorbeeld een script wilt downloaden en je krijgt een .EXE op Windows dan is er waarschijnlijk iets mis. Ik zou hiervoor over het algemeen geen antivirus software aanraden omdat deze vaak op de kost komen van privacy en deze ook nog eens geld kosten. Dit is een overweging die je voor jezelf moet beslissen. Een goed alternatief voor antivirus software is VirusTotal. Als je iets spannends download dan kun je dat hier laten metascannen door heel veel antivirus software tegelijk. Hetzelfde kan ook met links. Update 19 Dec Virustotal is niet 100% accuraat. Sommige antivirus software scannen niet de file maak kijken alleen naar de naam! om hun conclusie te trekken. Zo heb ik een keer het bestand "keylogger.exe" gescant en werd deze door sommige antivirus' gezien als malware terwijl het bestand helemaal geen keylogger was! Dus proceed with caution.
Het is daarnaast ook van belang om links te controleren voordat je daarheen gaat of er iets download. Een link kan bijvoorbeeld phishing zijn waarbij de mensen achter de link een anderewebsite nadoen in de hoop dat je hun persoonlijke informatie geeft of software downlaod. Om dittegen te gaan moet je dus de links controleren en zeker weten dat je goed zit. DIt kun je doen door de url te controleren, VirusTotal te gebruiken of de sites die je vaak bezoekt te bookmarken. Malicious links kunnen ook naar je toegestuurt worden en dan ben je vaak minder geneigt om die te controleren. Dit kan vooralsnog altijd gevaarlijk zijn dus houd hier rekening mee.
Deze guide is geschreven op 27-11-22.