Hoewel softwarematige kwetsbaarheden zoals SQL-injectie veel aandacht krijgen, blijft de meest basale aanvalsmethode een van de meest succesvolle: de brute-force aanval. Hierbij proberen geautomatiseerde scripts duizenden combinaties van gebruikersnamen en wachtwoorden uit op de inlogpagina van WordPress (wp-login.php). Aangezien WooCommerce-shops accounts aanmaken voor zowel beheerders als duizenden klanten, is een slecht beveiligde inlogomgeving een open uitnodiging voor aanvallers om accounts te kapen.
Hoe moderne brute-force aanvallen werken
Tegenwoordig maken aanvallers gebruik van Distributed Brute Force aanvallen via grote botnets (netwerken van duizenden besmette apparaten). Elk individueel IP-adres uit het botnet probeert slechts één of twee wachtwoorden per uur bij uw webshop. Hierdoor vallen ze buiten de microscoop van standaardsystemen voor snelheidsbeperking. Ze maken hierbij vaak gebruik van lijsten met gelekte wachtwoorden van andere websites (Credential Stuffing).
Het specifieke WooCommerce-inlogprobleem
WooCommerce introduceert een eigen inlog- en registratiepagina, meestal te vinden op de /mijn-account/ pagina. Klanten loggen hier in om hun bestellingen te beheren.
Als een beheerder echter ook via deze pagina kan inloggen, kan een brute-force aanval op de WooCommerce-klanteninlog per ongeluk toegang geven tot administratieve functies. Bovendien kunnen grootschalige brute-force aanvallen de serverbronnen (CPU en geheugen) volledig uitputten, waardoor de webshop traag wordt of crasht.
Strategieën voor effectieve beveiliging
Om de inlogomgeving van uw WooCommerce-winkel te beschermen, is een gelaagde aanpak vereist.
1. Dwing sterke wachtwoorden af
WooCommerce heeft een ingebouwde wachtwoordsterktemeter. Schakel deze nooit uit. Voor administrators en shopmanagers moet de lat nog hoger liggen: zij moeten verplicht gebruikmaken van een uniek, willekeurig gegenereerd wachtwoord dat is opgeslagen in een wachtwoordmanager.
2. Implementeer Multi-Factor Authenticatie (2FA)
Twee-factor-authenticatie is de meest effectieve maatregel tegen brute-force aanvallen. Zelfs als een hacker uw administratorwachtwoord raadt, kan hij niet inloggen zonder de tijdelijke code op uw smartphone. Er zijn diverse plug-ins (zoals Wordfence of WP 2FA) die dit naadloos integreren.
3. Wijzig of verberg de inlog-URL
Standaard probeert elke bot in te loggen op /wp-login.php. Door gebruik te maken van een plug-in (zoals WPS Hide Login) kunt u de administratieve inlogpagina verplaatsen naar een unieke URL, bijvoorbeeld /geheim-beheer/. Bots krijgen dan een 404-foutmelding, wat veel serverbelasting scheelt.
4. Snelheidsbeperking en XML-RPC uitschakelen
-
Limit Login Attempts: Installeer een mechanisme dat een IP-adres tijdelijk blokkeert na bijvoorbeeld 5 mislukte inlogpogingen.
-
XML-RPC uitschakelen: Het
xmlrpc.phpbestand van WordPress staat erom bekend dat het misbruikt kan worden voor brute-force aanvallen, omdat aanvallers honderden wachtwoorden in één enkel HTTP-verzoek kunnen testen. Schakel XML-RPC uit via uw.htaccessbestand of een beveiligingsplug-in.
