WPLounge
XML-RPC veiligheidsrisico
Home » Tutorials » XML-RPC veiligheidsrisico’s in WordPress

XML-RPC veiligheidsrisico’s in WordPress

WordPress heeft XML-RPC ontwikkeld om communicatie tussen WordPress en verschillende toepassingen mogelijk te maken. Al sinds de eerste ontwikkelingen van WordPress was XML-RPC onderdeel van het CMS. Het script voor XML-RPC, xlmrpc.php, heeft ook een aantal nadelen wat we in dit artikel zullen bespreken.

Affiliate disclaimer:
In onze artikelen en op onze pagina's staan affiliate links. Wanneer je via één van deze links een aankoop doet, ontvangen wij een (meestal kleine) commissie van de verkoper. Wij geven altijd onze eerlijke mening over producten. Klik hier voor meer informatie.

Wat is eigenlijk XML-RPC? XML-RPC is een functie van WordPress waarmee gegevens kunnen worden verzonden, waarbij HTTP als transportmechanisme en XML als coderingsmechanisme fungeert. Echter heeft het script xlmprc.php, die verantwoordelijk is voor de XML-RPC functie, ook nadelen. Het kan kwetsbaarheden veroorzaken en is inmiddels overbodig door het gebruik van de WordPress REST API.

Wat is xmlrpc.php?

Het script xlmrpc.php wordt al heel lang door WordPress gebruikt. Wanneer XML-RPC niet meer actief is, kan je xlmrpc.php nog steeds in de hoofdmap van je WordPress installatie vinden. Vroeger had het als functie om communicatie tussen WordPress en andere blogplatforms mogelijk te maken, maar sinds de REST API werd toegevoegd aan de WordPress Core is de XML-RPC functie overbodig geworden.

TIP VAN WPLOUNGE
Divi theme & Divi Builder
Bij Elegant Themes ontvang je meer dan
85 premium WordPress themes (waaronder Divi!) voor maar 89 dollar!

Bekijk de themes »»
Lees meer over Divi.

Kwetsbaarheden van xmlrpc.php

XML-PRC wordt tegenwoordig veel gebruikt om via pingbacks een DDoS aanval te kunnen uitvoeren. Het script xlmrpc.php wordt dan gebruikt om in korte tijd een enorm aantal pingbacks naar je website te sturen waardoor je website overbelast raakt. Hierdoor kan het zijn dat je website erg traag wordt of helemaal niet meer te bereiken is.
Ook is het mogelijk om ‘brute force‘ aanvallen uit te voeren via XML-RPC. Dit kan doordat xmlrpc.php een gebruikersnaam en wachtwoord stuurt om de aanvraag te controleren. Hackers kunnen hier misbruik van maken om toegang tot je website te krijgen. De aanvaller stuurt net zolang een andere combinatie van een gebruikersnaam en wachtwoord, totdat de goede combinatie gevonden is. Daarom is het verstandig om xmlrpc.php uit te schakelen. Is je website gehackt? Lees dan hoe je een WordPress-hack kunt oplossen.

Is xmplrp.php actief op jouw WordPress website?

De eerste stap is het vaststellen of jouw WordPress website actief het oude script xmlrpc.php nog gebruikt. Dat is eenvoudig te controleren door de WPScan plugin te gebruiken.

WPscan plugin

Na het installeren van de plugin ga je naar WPScan > Report > Security checks Klik hier op ‘run’ en na de controle krijgen we het volgende resultaat

XML-RPC check

Dit wil zeggen dat xmlrpc.php is uitgeschakeld voor WPLounge.nl. Maar wat als de website aangeeft dat het script nog actief is voor jouw website? We laten in de volgende stappen zien hoe je XML-RPC kan uitschakelen.

XML-RPC uitschakelen

Disable XML-RPC API pluginDe eenvoudigste manier om xmlrpc.php uit te schakelen is het gebruik van een plugin. Het enige wat de Disable XML-RPC-API plugin doet is het uitschakelen van de XML-RPC functie. Het installeren en activeren van de plugin heeft direct als effect dat xmlrpc.php niet meer wordt gebruikt.

XML-RPC uitschakelen zonder plugin

Het is ook mogelijk om xmlrpc.php uit te schakelen zonder plugin. Maak daarvoor eerst een verbinding met je server via FTP. Voeg de volgende code snippet toe aan het functions.php bestand van je thema. Zorg er wel voor dat je een child thema gebruikt, anders gaan de aanpassingen verloren na een thema update.

add_filter( 'xmlrpc_enabled', '__return_false' );

Een andere mogelijkheid is het aanpassen van het .htaccess bestand. Deze optie is echter alleen mogelijk bij hostingproviders die als webserver Apache gebruiken. Maak eerst een backup van .htaccess en voeg daarna de volgende code toe:

<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>

Wanneer gebruik je juist wel XML-RPC?

Er zijn omstandigheden wanneer je juist wel XML-RPC wilt gebruiken. Het zijn uitzonderingen maar xmlrpc.php gebruik je in het geval dat:

  • De REST API niet geactiveerd is en je wel communicatie wilt tussen jouw WordPress website en andere systemen.
  • Het niet mogelijk is WordPress te updaten naar 4.4 of hoger. Oude WordPress versies beschikken nog niet over de REST API.
  • Oude externe toepassingen die alleen kunnen werken met XML-RPC.

Meestal is dit niet het geval, dus ons advies is om standaard XML-RPC uit te schakelen waarmee je je website minder kwetsbaar maakt voor brute-force en DDoS aanvallen.

Beoordeel dit artikel

Roger.Overdevest

Roger is een SEO specialist met veel passie voor WordPress

Reageer