Waarom en hoe je inlogpogingen wilt beperken

Waarom en hoe je inlogpogingen wilt beperken

Veel mensen denken bij een hacker aan iemand die woest op twee toetsenborden tegelijk aan het rammen is en binnen een paar minuten “het mainframe overneemt”. Dit is immers wat we zien in series en films. (Er is een aflevering van NCIS waar twee mensen tegelijk op hetzelfde toetsenbord werken… dat is niet hoe het werkt!)

In het echt is hacken veel saaier, en veel minder intelligent. Tegenwoordig is het veel makkelijker om de mensen die met het systeem werken te hacken. Een “auditor” belt op en heeft het wachtwoord nodig om “een serieus beveiligingsprobleem op te lossen”. Of ze schrijven een programma die heel snel alle wachtwoord combinaties probeert. Is het “a”? Nee. Is het dan “aa”? enzovoorts. Dat heet brute-forcen.

Volgens BetterBuys kon een simpele computer in 2016 zo’n 13.144.655 wachtwoorden per seconde raden. Een wachtwoord als “qdisebng” wordt dan in minder dan 4,5 uur geraden. Haal de laatste g weg voor “qdisebn” en het is in iets meer dan 10 minuten gekraakt. Dit lijken redelijk sterke wachtwoorden omdat ze (voor mensen) niet makkelijk te raden zijn. Niets is minder waar.

Bruteforce tegengaan

Er zijn twee manieren om zo’n bruteforce aanval moeilijk te maken. Ten eerste: kies een lang wachtwoord met kleine letters, hoofdletters, cijfers en tekens. Als je alleen kleine letters gebruikt heeft elk karakter in je wachtwoord 26 mogelijkheden (a t/m z). Met hoofdletters erbij verdubbelt dat (dan moet je ook A t/m Z doen). Dat maakt het aantal mogelijke wachtwoorden exponentieel groter. Voor cijfers komen er nog eens 10 mogelijkheden bij. Met tekens komen er nog een 33 mogelijkheden bij.

Een wachtwoord van 5 tekens met alleen cijfers heeft 10^5 = 100.000 mogelijkheden. Gebruik je kleine letters, hoofdletters, cijfers en tekens dan heeft een wachtwoord met 5 tekens 88^5 = 7.737.809.375 mogelijkheden. Dat is wat exponentiele groei is.

Trouwens, het meest gebruikte wachtwoord van 2016 was “123456”. Het lijkt dat we nog niet veel geleerd hebben van alle waarschuwingen over veilige wachtwoorden. BetterBuys geeft aan dat dat wachtwoord in 0,25 milliseconden gekraakt kan worden. Hier is een lijst van de meest voorkomende wachtwoorden van 2016. Staat die van jou er bij?

Inlogpogingen beperken

Dus je hebt nu een sterk wachtwoord. Wat kun je nog meer doen? Als er zoveel wachtwoorden per seconde geraden kunnen worden is het slechts een kwestie van tijd voordat jouw wachtwoord wordt geraden.

Een mens (jijzelf) zal geen miljoenen wachtwoorden proberen. Alleen al de hoeveelheid tijd die een mens nodig heeft om dat te doen. En denk aan de RSI die je daarna hebt.

De oplossing is om te beperken hoe vaak je een wachtwoord mag proberen. Misschien vijf keer. Na die vijf keer word je geblokkeerd. Je mag dan tien minuten niet meer inloggen. Als je 100.000 combinaties hebt, en je mag maar vijf combinaties per tien minuten proberen, heb je flink wat tijd nodig om ze allemaal te proberen (5000 dagen!).

Misschien denk je, als je maar één keer mag proberen, en daarna voor een week wordt buitengesloten, kan een hacker nooit het wachtwoord raden. Dat is waar, maar als jij het zelf een keer fout doet heb je een probleem. Vijf inlogpogingen per tien minuten is prima. Daar zul je zelf niet zo snel last van hebben.

Login lockdown

In WordPress zijn er meerdere plugins die inlogpogingen kunnen beperken. Een van de betere is Login Lockdown.

Als we deze plugin hebben geïnstalleerd kunnen we hem instellen bij Instellingen > Login LockDown. De plugin werkt standaard al prima, maar het is toch handig om even de instellingen door te lopen.

Max login retries

Dit is het aantal keer dat iemand mag proberen in te loggen voor hij geblokkeerd wordt. Dit kun je op 5 zetten.

Retry Time period Restriction (minutes)

Als je dit op één minuut zet, en je voert elke twee minuten een wachtwoord in word je nooit buitengesloten. Deze kunnen we op 10 zetten.

Lockout Length (minutes)

Hoelang je wordt buitengesloten als je binnen 10 minuten 5 keer het verkeerde wachtwoord gebruikt. Deze kun je op 10 zetten. Hoe langer iemand wordt buitengesloten hoe beter, tot jij zelf wordt buitengesloten. Tien minuten is genoeg om elke brute-force aanval praktisch onmogelijk te maken en kort genoeg dat je jezelf niet lastigvalt.

Lockout Invalid Usernames?

Als iemand probeert in te loggen met een gebruikersnaam die niet bestaan (bijvoorbeeld ‘admin’, want die gebruiker bestaat niet op jouw website, toch?) kun je hier aangeven dat hij gelijk wordt buitengesloten. Ik zou dit aanzetten.

Mask Login Errors?

Als je een fout maakt bij het inloggen in WordPress krijg je een melding met “Gebruikersnaam incorrect”, of “Wachtwoord incorrect”. Als een hacker de melding “Wachtwoord incorrect” krijgt, weet hij dat hij in ieder geval een goede gebruikersnaam heeft gevonden. Dat wil je niet dus ik zou dit zeker aanzetten.

Show Credit Link?

Dit maakt voor de beveiliging van je website niets uit. Het geeft aan of je een link naar de makers van de plugin op het inlogformulier wilt hebben. Je kunt hier zelf een beslissing in maken. Als je heel paranoïde bent kun je zeggen, als hackers weten welke plugin ik gebruik, kunnen ze die plugin aanvallen. (Maar uiteindelijk maakt dit waarschijnlijk helemaal niets uit)

Nu weet je hoe je jouw site een heel stuk veiliger maakt. In ieder geval tegen bruteforce aanvallen. Gaat voort en verspreidt de boodschap!

Geef een reactie

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.