Wat je als IT'er kunt doen om het wachtwoord van je gebruiker veilig te houden

Een paar tips die je als techneut toe kunt passen op de 'Nationale Check Je Wachtwoorden'-dag

22 NOVEMBER 2016, AMSTERDAM
Samenvatting
Aanstaande donderdag (24 november) is het 'Nationale Check Je Wachtwoorden'-dag, een dag om Nederlandse internetters bewuster te maken van het gevaar van zwakke wachtwoorden. Maar wat kan je eigenlijk als IT’er doen om de wachtwoorden van je gebruiker veilig te houden? Volgens Arne Coomans, Service Manager bij True, zijn er een hoop dingen die je kunt doen. Zoals: extra wachtwoordbeveiligingen, SSL-certificaten, wachtwoorden veilig opslaan op servers met hashes, salts en re-hashes en het verplicht stellen van Two-Factor Authentication.

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. 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 om 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.

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.

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.

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. Maar, de ‘Check 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://www.owasp.org/index.php/Password_Storage_Cheat_Sheet
[3] Zie: http://www.unixwiz.net/techtips/iguide-crypto-hashes.html

Dit artikel verscheen eerder op het blog van True.nl:

https://www.true.nl/blog/wachtwoordbewust-tips/

Afbeeldingen
Over True

Wat de ambitie van onze klanten ook is, wij hosten ‘m! True is de managed hosting provider voor de snelste, beste en meest veilige digitale oplossingen. Onze purpose is om de ambities van onze Trueligans, klanten en partners maximaal schaal te geven met digitale technologie, zodat ze het beste uit zichzelf en uit de wereld halen. Dit doen we onder meer voor Tweakers, Prijsvrij, Mollie, CCV Shop, Amsterdam Dance Event, Amber Alert en meer.

Met 20+ jaar know-how en ervaring stellen we met onze managed services organisaties in staat om hun webshops, websites en webapplicaties sneller te schalen. Waar wij ons bed voor uitkomen? De beste performance, conversies en continuïteit van digitale dienstverlening. True biedt onder andere managed hosting, managed Azure, managed Kubernetes en DevOps diensten.

berichten