WordPress en Brute Force aanvallen

Irritant. Zeer irritant. Je website wordt belaagd door verzoeken om in te loggen. Iemand, een vreemde, probeert toegang te krijgen tot jouw WordPress installatie om er foute dingen mee te doen.

Hoe weet je dat het gebeurt?

Je ontvangt een melding in je mailbox “Je domein X heeft 80% van de toegestane bandbreedte gebruikt”. Dit kan betekenen dat je website ineens heel populair is geworden, het enige wat je dan moet doen is een ruimer hosting pakket aanvragen bij je hosting provider.

Mocht je twijfelen aan de piek in populariteit van je website dan kun je de statistieken van je website bekijken en controleren of er misschien erg vaak één bepaald bestand wordt opgevraagd.

Hoe gaan ze te werk?

Waar eerder vooral werd geprobeerd via de reguliere inlog bestanden toegang te krijgen is de aandacht van hackers nu verschoven naar het bestand xmlrpc.php. Dit bestand wordt gebruikt wanneer je op afstand berichten post op je website, via een app bv.

Door geen gebruik te maken van wp-admin/wp-login bleven de pogingen onopgemerkt voor veel inlogbeveiliging plugins.

Wat kun je doen?

Je kunt een plugin installeren die signaleert wanneer er veelvuldig foutief wordt ingelogd. Bv. Login Security Solution, gratis te downloaden via WordPress.org maar nog makkelijker is om het via WP-admin -> Plugins direct te installeren. (vergeet niet te doneren als het een waardevolle plugin voor je blijkt te zijn)

Deze plugin houdt zowel de reguliere inlogbestanden als xmlrpc.php in de gaten en stuurt een bericht met het ip-adres, de gebruikte gebruikersnaam en het versleutelde wachtwoord. De plugin vertraagt het inlog proces voor vervolgverzoeken van hetzelfde ip-adres en weigert toegang wanneer vanaf het ip-adres toevallig een geldige inlog combinatie wordt gebruikt.

Klinkt goed, toch? Maar dat is niet het hele verhaal. Het is namelijk mogelijk dat wanneer je het bericht van de plugin opent je een hartverzakking nabij bent. Tot je schrik zie je dat de hacker weliswaar een foutief wachtwoord heeft gebruikt, maar wel een geldige gebruikersnaam. Hoe komen ze daaraan, zijn ze dan toch al binnen geweest?

Nee dat zijn ze niet, het is veel simpeler. Tik in de browser maar eens in www.jouwdomeinnaam.nl/?author=1. Je zult zien dat in de url je gebruikersnaam tevoorschijn komt ook als je een andere schermnaam hebt ingesteld.

Voordat er pogingen worden ondernomen je wachtwoord te raden, wordt eerst met bijvoorbeeld de getallen 1 tot en met 10.000 en de bovenstaande link getest welke gebruikersnamen in gebruik zijn. De gevonden namen worden dan gebruikt bij inlogpogingen.

Wat kun je nog meer doen?

Als je geen behoefte hebt aan de mogelijkheid op afstand berichten te posten kun je de toegang tot het xmlrpc.php bestand volledig blokkeren door een commando toe te voegen aan het .htaccess bestand van je domein.

# Blokkeer WordPress xmlrpc.php verzoeken
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

In de database kun je de ‘user_nicename’ wijzigen in iets anders, bv de schermnaam. Deze user_nicename is een ‘slug’-versie van de originele gebruikersnaam. Dit wijzigen van ‘user_nicename’ is om te voorkomen dat de hackers aan geldige inlognamen komen. Je hoeft dit alleen te doen voor gebruikers die meer rechten hebben dan alleen leesrecht.

Er zijn online nog meer manieren te vinden om het verzoek waar /?author=<nummer> wordt gebruikt af te vangen. Afhankelijk van je computerkennis kun je een methode kiezen die het best bij jou past.

Heb je geen ervaring met .htaccess, vraag dan hulp aan iemand die dat wel heeft. Een foutief .htaccess bestand kan je hele website onbruikbaar maken.

Last but not least

Zorg altijd voor een sterk wachtwoord, gebruik letters, getallen, leestekens. Gebruik geen woorden of gedeeltes daarvan die voorkomen in je domeinnaam, het onderwerp van je website, of je schermnaam.