Zelfs als ze je wachtwoord weten, komen ze er niet in met WordPress Two Factor Authentication
We willen een veilige website. En bij een veilige website hoort natuurlijk een veilig wachtwoord. Maar met ‘brute kracht’ is zelfs een veilig wachtwoord te kraken. In het verleden heb ik wel eens melding gemaakt van de plugin ‘Limit Login Attempts’, een plugin die na een aantal foute inlogpogingen je site blokkeert voor het IP adres waarvanuit die foute logins zijn geprobeerd. Heel effectief, maar het kan eigenlijk nog veiliger.
Die betere methode is ongeveer zo oud als het Internet zelf. En eigenlijk ken en gebruik je de methode al, wanneer je bankiert met een andere bank dan de ING. Want wanneer je inlog, heb je een ander apparaat nodig, wat een tijdelijk wachtwoord voor je genereerd. Een wachtwoord, wat niemand kan raden, omdat het uniek voor die gelegenheid is.
WordPress dichttimmeren
Steeds meer online diensten voegen een extra beveiligingsniveau toe aan hun inlog. In de meeste gevallen door naast het ‘gewone’ wachtwoord, ook nog eens om een tijdelijk wachtwoord te vragen, wat degene die in wil loggen op een andere manier krijgt: Per email of SMS bijvoorbeeld.
Het nadeel van een wachtwoord per email is echter, dat voor de meesten van ons één email adres gebruiken voor een enorme hoeveelheid acties. Is dat email adres eenmaal gehackt, dan liggen al je sites open voor degene die dat heeft gedaan: Het opsturen van een nieuw wachtwoord naar dat gehackte email adres is voldoende. Een goede manier om je hiertegen te beveiligen is… hoe kan het anders, door middel van een app.
Google Authenticator
Google Authenticator is een app die beschikbaar is voor diverse platforms, waaronder iOS en Android. Het idee achter deze app is dat jij samen met de applicatie waar je in wilt loggen een geheim deelt. Dat geheim zal echter nooit over het Internet verspreid worden tijdens de inlogprocedure. Wat er wel gebeurt, is dat door allerlei ingenieuze berekeningen waarin ook de tijd wordt betrokken, een ‘eenmalig wachtwoord’ wordt gegenereerd. Dat is een paar minuten geldig, dan houdt komt er een nieuw.
Jouw app heeft datzelfde geheim, loopt met de tijd synchroon aan de website en is dus in staat datzelfde wachtwoord te berekenen. Die gegevens staan op jouw telefoon alleen, dus niemand anders kan er bij.
Je hebt dus als het ware een digitale ‘huissleutel’ die je in combinatie met je wachtwoord moet gebruiken om bij je site te kunnen komen.
Het deurslot als plugin…
Naast de app op je telefoon heb je ook een plugin nodig, die voor jou de toegang tot je site bewaakt. Ik heb er een aantal vergeleken en persoonlijk spreekt de plugin ‘Two Factor Authentication‘ mij het meest aan. Hierbij heb ik vooral gekeken naar het gemak van installatie en de mogelijkheden om te controleren of alles wel ‘goed draait’. Maar zelfs met deze plugin moet je zorgvuldig te werk gaan, anders loop je het risico jezelf buiten te sluiten. Het installeren van de plugin is vrij eenvoudig. Na installatie vind je een aantal instelmogelijkheden onder ‘Instellingen->Two Factor Authentication’. Die kan je in principe laten voor wat het is. Waar je wel naar toe moet is naar de optie ‘Two Factor Authentication’ die als hoofd optie in je menu staat. Dit is namelijk de plek, waar je jouw persoonlijke instellingen op kunt halen.
Eerste controle.
Zoals aangegeven, het wachtwoord wordt onder andere met behulp van de huidige tijd gegenereerd. Hierom is het van het grootste belang, dat die tijd ook juist is. Het eerste wat je dus controleert is of de tijd op je telefoon en de tijd op je server ‘gelijk’ zijn. Hier mag best een paar uur tussen zitten, maar niet een paar minuten! Als er een paar uur tussen zit, komt dit waarschijnlijk door een verschil in tijdzones en daar houdt de applicatie rekening mee. Zit er een paar minuten tijdsverschil tussen, dan heb je wel een probleem. Je krijgt dan altijd met een oud wachtwoord te maken.
En de reservesleutel
Als dit allemaal goed is, maak je een nieuwe gebruiker aan. Gewoon voor noodgevallen. Doe je iets fout, dan sluit je jezelf namelijk buiten van je website en kom je er niet meer in, zonder op systeem niveau dingen aan te passen. Die nieuwe gebruiker krijgt een ander email adres van jou en ook beheerdersbevoegdheden. Als je dit eenmaal veilig hebt, kan je toch inloggen, wanneer je een fout hebt gemaakt met je echte account.
En instellen
En nu is het tijd om de app in te stellen. Je opent de app en klikt op de ‘plus’ om aan te geven dat je een nieuw account wilt toevoegen. Je gaat in WordPress naar de optie ‘Two Factor Authentication’ in het hoofdmenu van het dashboard.
Nu wordt een scherm zichtbaar waarin je aan kunt geven dat je de ‘Two Factor Authentication’ wilt gebruiken (enable) en een heleboel meer informatie, die je allemaal mag negeren. Dat is voor de techneuten. Om het jou makkelijk te maken staat er ook een grote ‘QR’ code, zo’n mislukt schaakbord. De app heeft je ondertussen gevraagd of je liever lange codes overtikt of de code wilt scannen, jij kiest natuurlijk voor de code. Scannen, opslaan en klaar!
Nu staat er een nummer van 6 cijfers in je telefoonscherm. En als het goed is, staat hetzelfde nummer op de instellingen pagina van de plugin. Is dat niet hetzelfde, ververs je de pagina. Als het goed is zijn de nummers nu gelijk. Hierdoor weet je dat de goede code is opgeslagen en de tijd op telefoon en server synchroon loopt. Is het nummer niet hetzelfde, is er met één van die twee zaken iets mis.
Nu kan je veilig uitloggen. En als je inlogt wordt er om extra informatie gevraagd. Pak je telefoon, open de app, kies de site en je ziet het getal staan, wat je hier in moet vullen.
Tenslotte
Deze plugin heeft ook een premium versie. Onderdeel hiervan is een ‘nood code’ die je kunt gebruiken als je wordt buitengesloten, bijvoorbeeld omdat de klok van je telefoon of je server ‘fout’ is gaan lopen. Een nog veel belangrijkere extra feature is, dat er ook allerlei shortcodes beschikbaar worden gesteld, die je bijvoorbeeld in een ‘mijn account’ van je WooCommerce webwinkel pagina kunt gebruiken om ook voor een webwinkel of andersoortige site waar ook veel derden op in moeten loggen te beveiligen.