WordPress XML-RPC aanvallen voorkomen (complete uitleg)

Wat is XML-RPC in WordPress?

XML-RPC is een standaard API binnen WordPress die al sinds WordPress 3.5 (11 december 2012) standaard is ingeschakeld. Deze interface maakt het mogelijk om via XML en HTTP(S) verbinding te maken met een WordPress website en deze op afstand te beheren.

Met XML-RPC kunnen ontwikkelaars en externe applicaties, zoals mobiele apps of externe publicatie-tools, communiceren met je website. Denk bijvoorbeeld aan het aanmaken of bewerken van berichten en pagina’s zonder direct in te loggen op het WordPress-dashboard.

Waarom is XML-RPC een beveiligingsrisico?

Hoewel XML-RPC handige functies biedt, kan het ook misbruikt worden door hackers. Aanvallers gebruiken het bestand xmlrpc.php soms om:

  • DDoS-aanvallen uit te voeren door enorme hoeveelheden verzoeken te versturen
  • Inlogpogingen te automatiseren (brute force attacks)
  • Serverresources te overbelasten waardoor je website traag of onbereikbaar wordt

Dit soort misbruik wordt vaak een XML-RPC aanval genoemd.

XML-RPC aanvallen voorkomen in WordPress

Er zijn verschillende manieren om je WordPress website te beschermen tegen misbruik van XML-RPC.

1. Gebruik een Web Application Firewall (WAF)

Een effectieve manier om XML-RPC aanvallen te beperken is het gebruik van een Web Application Firewall (WAF), zoals ModSecurity Comodo WAF.

Deze firewall kan:

  • Het aantal verzoeken naar xmlrpc.php beperken
  • Verdachte IP-adressen automatisch blokkeren
  • DDoS- en brute force-aanvallen vroegtijdig tegenhouden

Veel hostingproviders hebben deze beveiliging standaard actief op hun servers.

2. XML-RPC volledig uitschakelen

Gebruik je geen externe apps of diensten die XML-RPC nodig hebben? Dan is het verstandig om deze functie volledig uit te schakelen.

Er zijn twee manieren om dit te doen:


Optie 1: XML-RPC blokkeren via .htaccess (Apache servers)

Voeg de volgende regels toe in het .htaccess bestand in de root van je website (bijvoorbeeld in public_html of private_html):

# Block XML-RPC requests
<Files xmlrpc.php>
    Require all denied
</Files>

Plaats deze code boven # BEGIN WordPress of onder # END WordPress.


Optie 2: XML-RPC uitschakelen via functions.php

Je kunt XML-RPC ook uitschakelen via het actieve thema door de volgende code toe te voegen aan functions.php:

/**
 * Disable XML-RPC
 */
add_filter( 'xmlrpc_enabled', '__return_false' );

Controleren of XML-RPC is uitgeschakeld

Na het toepassen van de instellingen kun je testen of XML-RPC is geblokkeerd door deze URL te bezoeken:

http://www.jouwdomein.nl/xmlrpc.php

Als de beveiliging correct werkt, krijg je een foutmelding of een geblokkeerde toegang te zien.

Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is xmlrpc_forbidden_you_dont_have_permissions_to_access_this_resources-1024x503.jpg

Samenvatting

XML-RPC kan handig zijn voor externe koppelingen met WordPress, maar vormt ook een potentieel beveiligingsrisico. Door het gebruik van een firewall of het volledig uitschakelen van XML-RPC kun je jouw website beter beschermen tegen aanvallen.

Add a Comment

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *