Inloggen op een website vraagt twee dingen: een naam en een wachtwoord. Bij de meeste WordPress-sites is die eerste helft gratis op te vragen. Wie een WordPress gebruikersnaam achterhalen wil, hoeft geen hacker te zijn; het kost één regel in de adresbalk van een gewone browser.
Dat is geen ramp, maar het is wel de helft van het werk dat u weggeeft. In dit artikel leest u hoe het lek ontstaat, hoe u het bij uw eigen site test, en welke maatregelen echt helpen tegenover de maatregelen die vooral geruststellen.
Hoe het lek werkt
WordPress heeft voor elke auteur een eigen overzichtspagina, bedoeld voor blogs met meerdere schrijvers. Die pagina is bereikbaar via een adres met een volgnummer erin: /?author=1. Vraagt u dat op, dan stuurt WordPress u door naar de nette versie van die pagina, en in dat nieuwe adres staat de bijnaam van de auteur.
Het probleem zit in wat die bijnaam bij de meeste sites is. WordPress vult standaard de inlognaam in als bijnaam. Wie nooit een aparte weergavenaam heeft ingesteld, publiceert dus letterlijk zijn inlogaccount in het adres. Nummer 1 is bijna altijd het account dat bij de installatie is aangemaakt, en dat is meestal de hoofdbeheerder.
Dezelfde informatie is nog op twee andere manieren te vinden: via de interface onder /wp-json/wp/v2/users, en via de naam die onder een blogartikel of onder een reactie wordt getoond. Alleen dat eerste adres blokkeren is dus niet genoeg; hoe u die interface aanpakt staat in het artikel over het afschermen van de REST API.
Waarom het uitmaakt
Er is een school die zegt: een gebruikersnaam is geen geheim, alleen het wachtwoord telt. Daar zit iets in. Toch maakt het in de praktijk wel degelijk verschil.
- Geautomatiseerde inlogpogingen worden gerichter. Een script dat de juiste naam kent, hoeft alleen nog wachtwoorden te proberen in plaats van combinaties. Dat scheelt een factor duizend.
- Uw naam duikt op in datalekken. Is dezelfde combinatie van naam en wachtwoord ooit ergens anders gelekt, dan is uw site direct kwetsbaar. Dat is precies het mechanisme achter aanvallen met eerder gelekte wachtwoorden.
- Het maakt gerichte oplichting makkelijker. Een mailtje aan de beheerder waarin zijn eigen accountnaam staat, oogt meteen een stuk geloofwaardiger.
- Het verklapt de opbouw van uw team. Nummers 1 tot en met 8 aflopen geeft een aanvaller een ledenlijst.
Het is dus geen open deur, maar wel een naamplaatje naast het slot. En het is een naamplaatje dat u niets kost om weg te halen, wat het verschil maakt met veel andere beveiligingsmaatregelen die tijd of geld vragen.
Test het bij uzelf
Open een incognitovenster en probeer achtereenvolgens:
- uwdomein.nl/?author=1 en kijk of u wordt doorgestuurd naar een adres met een naam erin.
- Herhaal met 2, 3 en 4 om te zien hoeveel accounts er zichtbaar zijn.
- uwdomein.nl/wp-json/wp/v2/users en kijk of daar een lijst met namen verschijnt.
- Bekijk een blogartikel en kijk welke naam er onder staat.
Doe deze test ook op de mobiele weergave en op de zoekpagina van uw site. Sommige thema’s tonen de auteursnaam alleen in het overzicht van blogartikelen en niet op het artikel zelf, waardoor u de naam over het hoofd ziet als u alleen naar één pagina kijkt. Noteer wat u vindt; u heeft die lijst zo nodig bij het aanpassen van de profielen.
Krijgt u bij stap 1 een foutpagina en bij stap 3 een melding dat u geen toegang heeft, dan is het bij u al geregeld. Ziet u wel namen, lees dan door.
Wat er echt helpt
Zet een aparte weergavenaam in. Dit is de eenvoudigste en meest onderschatte maatregel. Ga naar het profiel van elke gebruiker, vul een bijnaam in die niet gelijk is aan de inlognaam, en kies die bijnaam als openbare weergavenaam. Uw naam staat dan nog steeds onder artikelen, maar de inlognaam niet meer.
Blokkeer het opvragen van auteurs op nummer. Vrijwel elke beveiligingsplugin heeft hier een instelling voor. Een verzoek met ?author= erin wordt dan geweigerd in plaats van doorgestuurd.
Sluit de gebruikerslijst in de interface af voor bezoekers die niet zijn ingelogd.
Schakel auteurspagina’s uit als u ze niet gebruikt. Bij een bedrijfssite met één schrijver hebben ze geen functie en leveren ze bovendien dubbele inhoud op in zoekmachines.
Log niet in met het account dat u publiceert. Bij een blog met meerdere auteurs kunt u een apart beheeraccount aanhouden dat nooit iets publiceert. Dan is de naam die lekt niet de naam met de meeste rechten.
Wat er niet mee opgelost is
Het dichtzetten van deze route is een verbetering, geen bescherming. Een aanvaller die uw naam niet kent, probeert gewoon de tien meest gebruikte namen; “admin”, “beheer”, “info” en uw bedrijfsnaam staan bovenaan die lijst. De echte bescherming zit ergens anders: een lang en uniek wachtwoord, een tweede stap bij het inloggen, en een limiet op het aantal inlogpogingen. Zonder die drie is een verborgen gebruikersnaam vooral kosmetisch.
Zie het daarom als opruimwerk dat in een uur klaar is en daarna nooit meer aandacht vraagt. Het hoort bij het basisniveau dat wij bij WebMaintor bij elke nieuwe site nalopen, samen met de rest van het afdichten van kleine lekken in WordPress. Zulk werk levert geen spectaculair verhaal op, maar het haalt uw site wel uit het vizier van de geautomatiseerde scanners die op de makkelijkste doelwitten afgaan.
Concrete volgende stap: open uwdomein.nl/?author=1 in een incognitovenster. Ziet u daar een naam die u ook gebruikt om in te loggen, dan is het aanpassen van uw weergavenaam het eerste wat u vanmiddag doet.


