Wachtwoordbewust: zo houd je de wachtwoorden van je gebruikers veilig

Vergeet je wachtwoorden niet te checken
Vergeet je wachtwoorden niet te checken
Home / Blog & Nieuws / Security / Wachtwoordbewust: zo houd je de wachtwoorden van je gebruikers veilig

Extra wachtwoordbeveiligingen, SSL-certificaten toevoegen aan webomgevingen, wachtwoorden veilig opslaan op servers met hashes, salts en re-hashes en het verplicht stellen van two-factor authentication. Ook als IT-manager, developer of admin kun je het door Tweakers georganiseerde Wachtwoordbewust (24 november) gebruiken voor bewustwording omtrent de veiligheid van de wachtwoorden van je gebruikers. Wij vroegen Arne Coomans, Service Manager bij True, wat de IT-professional in de praktijk kan doen om de wachtwoorden van gebruikers veilig te houden.

Veilig inloggen

Veel veiligheidsproblemen met wachtwoorden bestaan bij het inloggen. Door het inloggen voor je gebruikers goed te beschermen, beperk je de risico’s. Je kunt bijvoorbeeld een minimum aantal karakters, tekens en symbolen bij een wachtwoord vereisen, zorgen voor een beveiligde verbinding (SSL) via het HTTPS-protocol, Two Factor Authentication verplicht stellen en nadenken over een password-recovery protocol.

Verplichte wachtwoordcriteria

Als websitebeheerder ben jij verantwoordelijk om veilig om te gaan met de inloggegevens van je gebruikers. Eén van de eerste dingen die je kunt doen is het stellen van wachtwoordeisen.

Denk hierbij aan minimaal aantal tekens, zoals 8 karakters, hoofdletters, kleine letters, cijfers en leestekens. Biedt je gebruikers ook de kans om spaties te gebruiken zodat ze makkelijker lange wachtwoorden kunnen onthouden. Dit zorgt ervoor dat gebruikers eerder een veilig wachtwoord kiezen, waardoor kwaadwillenden minder snel toegang krijgen.

SSL-certificaten

Websites gebruiken steeds vaker een versleutelde HTTPS-verbinding. Het slotje bovenin de browser vertelt de gebruiker dat zijn gegevens tijdens het transport van zijn computer naar de server niet makkelijk voor anderen is in te zien.[1]

Het versleutelen van deze gegevens wordt steeds goedkoper en makkelijker. Bijvoorbeeld via Let’s Encrypt; een gratis, geautomatiseerd en open-source SSL-certificaat, waarmee je de gegevens van je gebruiker versleutelt.

Wil je extra investeren in betrouwbaarheid, kies je voor extra validatie (Extended Validation). Hierbij wordt jouw identiteit gecontroleerd door de certificaat-leverancier. De bezoeker ziet dan bijvoorbeeld jouw bedrijfsnaam in de adresbalk als deze jouw site bezoekt.

Two-factor authentication

Steeds vaker wordt Two-Factor Authentication (2FA) ingezet om de persoonlijke gegevens extra te beveiligen. Two-Factor Authentication houdt in dat een gebruiker met een extra kort-geldende inlogcode moet inloggen, naast z’n bestaande inloggegevens.

Via e-mail, sms of een speciale app op een smartphone krijgt de gebruiker een kort-geldende inlogcode, die nodig is om voor een ‘tweede’ keer in te loggen. Zo heb je om in te loggen niet alleen gegevens nodig die je moet te onthouden, maar moet je ook een persoonlijk apparaat in de buurt hebben.

Password-recovery met 2FA

Het onthouden van verschillende wachtwoorden kan voor een gebruiker lastig zijn. Het klikken op ‘Password reset’ is zo gedaan. Het is echter niet handig als het herstellen van een wachtwoord té makkelijk is. Bij een password reset wordt er naast een e-mailadres vaak ook persoonlijke informatie gevraagd, zoals de naam van je huisdier.

Dit is een risico, want persoonlijke informatie is meestal te vinden op sociale media. Of zelfs op straat, zoals de interviewer in onderstaande video laat zien.

Dit probleem is echter op te lossen, namelijk door altijd nog een tweede verificatie te vereisen als iemand z’n password reset. Ook hier biedt Two-Factor Authentication een uitkomst.

wachtwoordbewust-video

De antwoorden op geheime vragen zijn meestal niet zo geheim, zoals ook blijkt uit dit Youtube-filmpje.

Opslag van wachtwoorden

Moderne versleutelingsmethodes maken gebruik van meerdere beveiligingslagen om het wachtwoord veilig op te slaan. Het doel hierbij is dat als het versleutelde wachtwoord toch in handen komt van kwaadwillenden, deze de versleutelde waarde niet kunnen herleiden naar het originele wachtwoord.

Zo wordt het aangeraden niet het opgeslagen wachtwoord te ontsleutelen en te vergelijken met het ingevoerde wachtwoord, maar om het ingevoerde wachtwoord te versleutelen en deze sleutel te vergelijken met het opgeslagen versleutelde wachtwoord [2]. Een paar technieken helpen daarbij, zoals bijvoorbeeld het hashen, salten en re-hashen van wachtwoorden.

Hash-encryptie

Een hash is de uitkomst van een berekening van, bijvoorbeeld, een wachtwoord en heeft als resultaat een vast aantal karakters. [3]

Hierdoor verklapt de uitkomst niets over de vorm of lengte van het originele wachtwoord. Nadeel van de hash is dat dezelfde invoer leidt tot dezelfde hash. Zo is het wel erg makkelijk om gebruikers met hetzelfde wachtwoord te herkennen.

Met ‘salting’ voorkom je dat.

Voorbeeld van wachtwoorden en de bijbehorende MD5 hash

Voorbeeld hoe het hashen van een password tot dezelfde voorspelbare
uitkomst leidt, en hoe een salt dit voorkomt. Ter illustratie wordt het verouderde
md5-hashingmechanisme gebruikt.

Salting

Om de tekortkoming van hashes te vermijden wordt een salt toegevoegd aan het gehashte wachtwoord. Een salt is een unieke toevoeging aan het wachtwoord waardoor de hash afwijkt van een andere hash van een ander salt met hetzelfde wachtwoord. Een salt kan worden opgeslagen in de database naast de gebruikersnaam en het gehashte wachtwoord. Wel is het belangrijk om voor elk wachtwoord een unieke salt te genereren. [2]

Re-hashing

Toch is het hashen van een salted wachtwoord nog niet veilig genoeg. Om zeker te zijn dat het wachtwoord niet te achterhalen is wordt de hash van het salt en wachtwoord vaak gebruikt in een nieuwe hash, met dezelfde salt. Dit wordt ook wel re-hashing genoemd.

Moderne encryptietools ondersteunen het re-hashen op basis van salt en wachtwoord, wat het met standaard geïnstalleerde software makkelijk maakt om een wachtwoord te beveiligen volgens huidige standaarden.

Het toevoegen van beveiligingslaag op beveiligingslaag wordt uitgebreid uitgelegd in dit artikel op het Naked Security blog.

Nooit 100% veilig

Als beheerder van een website of webapplicatie heb je de verantwoordelijkheid om de gegevens van je gebruiker veilig te stellen. Nu weten we uit verschillende onderzoeken dat de mens vaak de zwakste schakel is als het om veiligheid gaat. Gelukkig zijn daar stappen voor te ondernemen, zoals het verplicht stellen van wachtwoordcriteria, het toevoegen van SSL-certificaten en het verplichten van two-factor authentication daar waar het nodig is (bij inloggen en wijzigen van wachtwoorden).

Maar ook het opslaan van wachtwoorden moet veilig gebeuren. Met hashing, salting en re-hashing van de wachtwoorden kom je al een heel eind.

Toch is achterover leunen bij het doorvoeren van bovenstaande actiepunten geen goed idee. 100% online veiligheid is nooit te garanderen, zoals we ook omschreven in onze eerdere blog. Maar, de ‘Verander Je Wachtwoorden’-dag is misschien een goed startpunt om de veiligheid van de wachtwoorden van je gebruikers onder de loep te nemen.

Voetnoten
[1] Zie bijvoorbeeld HTTPS kwetsbaarheden http://heartbleed.com/, https://drownattack.com/
[2] Zie: https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet
[3] Zie: http://www.unixwiz.net/techtips/iguide-crypto-hashes.html

 

E-book: Security & compliance voor digitale organisaties

Wereldwijd nemen digitale aanvallen in rap tempo toe en de nieuwe privacywet staat voor de deur. In dit e-book lees en leer je:

  • praktische tips voor betere websecurity;
  • wat de privacywet betekent voor webbouwers;
  • wat je van een hostingprovider mag verwachten.
e-book-security-en-compliance
True Ligan
Managed hosting sinds 2000
Categorie: Security
Tag: