Xml-rpc uitzetten beveiliging risico wordpress website

Logo cursus traing wordpress

Xml-rpc uitzetten beveiliging risico wordpress website

Xml-rpc.php en gevaren voor WordPress website

WordPress heeft altijd al ingebouwde functies gehad waarmee je op afstand met je site kunt werken. Geef toe, soms moet u toegang krijgen tot uw WordPress website en is uw computer nergens in de buurt. Lange tijd was de oplossing een bestand met de naam xmlrpc.php. Maar de laatste jaren is dat bestand meer een plaag dan een oplossing geworden.

Hieronder laat ik zien wat xmlrpc.php eigenlijk is en waarom het gemaakt is. Ik geef ook een overzicht van de veel voorkomende beveiligingsproblemen die het veroorzaakt en hoe je die op je eigen WordPress website kunt oplossen.

Wat is Xml-rpc.php?

XML-RPC is een functie van WordPress waarmee gegevens kunnen worden verzonden, met HTTP als transportmechanisme en XML als coderingsmechanisme. Omdat WordPress geen op zichzelf staand systeem is en af en toe moet communiceren met andere systemen, werd dit gezocht om die taak op zich te nemen.

Stel bijvoorbeeld dat u vanaf uw mobiele apparaat op uw site wilde posten omdat uw computer nergens in de buurt was. Je zou de remote access functie die xmlrpc.php mogelijk maakt kunnen gebruiken om dat te doen.

De belangrijkste functies die xmlrpc.php mogelijk maakte, waren de mogelijkheid om verbinding te maken met uw site via een smartphone, het implementeren van trackbacks en pingbacks van andere sites, en enkele functies die geassocieerd zijn met de plugin.

Waarom werd Xmlrpc.php gemaakt en hoe werd het gebruikt?

De implementatie van XML-RPC gaat terug tot de begindagen van WordPress, nog voor het WordPress werd.
In het begin van het internet, toen de verbindingen ongelooflijk traag waren, was het proces van schrijven en publiceren naar het web veel moeilijker en tijdrovender. In plaats van in de browser zelf te schrijven, schreven de meeste mensen offline en kopieerden en plakten dan hun inhoud op het web. Toch was dit proces verre van ideaal.

De oplossing (in die tijd) was het maken van een offline blogging client, waar je je inhoud kon samenstellen, en dan verbinding maken met je blog om het te publiceren. Deze verbinding gebeurde via XML-RPC. Met het basisraamwerk van XML-RPC op zijn plaats gebruikten vroege apps deze zelfde verbinding om mensen in staat te stellen in te loggen op hun WordPress sites vanaf andere apparaten.
XML-RPC tegenwoordig

In 2008, met versie 2.6 van WordPress, was er een optie om XML-RPC in of uit te schakelen. Met de release van de WordPress iPhone app werd XML-RPC ondersteuning echter standaard ingeschakeld en was er geen optie om de instelling uit te schakelen. Helaas. Dit is tot op heden zo gebleven.

De functionaliteit van dit bestand is echter in de loop der tijd sterk afgenomen, en de totale grootte van het bestand is afgenomen van 83kb tot 3kb, zodat het niet meer zo'n grote rol speelt als vroeger.

Waarom je Xmlrpc.php moet uitschakelen op je WordPress website

De grootste problemen met XML-RPC zijn de beveiligingsproblemen die zich voordoen. De problemen liggen niet direct bij XML-RPC, maar bij de manier waarop het bestand kan worden gebruikt om een brute force aanval op uw site uit te voeren.

Natuurlijk kunt u zich beschermen met ongelooflijk sterke wachtwoorden en WordPress beveiligingsplugins. Maar de beste bescherming is gewoon uitschakelen.

2 risico's en zwakheden in XML-RPC

Er zijn twee belangrijke zwakheden in XML-RPC die in het verleden zijn benut.

Brute force en XML-RPC

De eerste is het gebruik van brute force aanvallen om toegang tot uw site te krijgen. Een aanvaller probeert via xmlrpc.php toegang te krijgen tot uw site door verschillende combinaties van gebruikersnaam en wachtwoord te gebruiken. Ze kunnen effectief één enkel commando gebruiken om honderden verschillende wachtwoorden te testen. Zo kunnen ze beveiligingsprogramma's omzeilen die brute force-aanvallen meestal detecteren en blokkeren.

DDoS aanval en XML-RPC

De tweede was het offline halen van sites door middel van een DDoS-aanval. Hackers gebruikten de pingbackfunctie in WordPress om onmiddellijk pingbacks te sturen naar duizenden sites. Deze functie in xmlrpc.php geeft hackers een bijna eindeloze voorraad IP-adressen om een DDoS-aanval over te verspreiden.

Om te controleren of XML-RPC op uw site draait, kunt u deze door een tool genaamd XML-RPC Validator halen. Als u een foutmelding krijgt, betekent dit dat XML-RPC niet is ingeschakeld.
Krijg je een succesmelding, dan kun je xmlrpc.php stoppen met een van de twee onderstaande benaderingen.

Je kan ook deze WordPress plugin gebruiken:
wordpress.org/plugins/wpscan

Methode 1: Xmlrpc.php uitzetten met plugins

XML-RPC uitschakelen op je WordPress site kan niet eenvoudiger.

Navigeer gewoon naar de Plugins ‘ Add New sectie van je WordPress dashboard. Zoek naar Disable XML-RPC en installeer de plugin:
uitschakelen xmlrpc plugin

Activeer de plugin en je bent helemaal klaar. Deze plugin zal automatisch de nodige code invoegen om XML-RPC uit te schakelen.

Houd er echter rekening mee dat sommige bestaande plugins delen van XML-RPC kunnen gebruiken, dus het volledig uitschakelen kan een plugin conflict veroorzaken of bepaalde elementen van je site niet meer functioneren.

Je kan ook de betaalde plugin Perfmatters gebruiken:

Methode 2: Xmlrpc.php handmatig uitschakelen met htaccess

Als je geen plugin wilt gebruiken en het liever handmatig doet, volg dan deze aanpak. Het zal alle inkomende xmlrpc.php verzoeken stoppen voordat ze worden doorgegeven aan WordPress.
Open je .htaccess bestand. Misschien moet je de ‘show hidden files' aanzetten in of je FTP client om dit bestand te vinden.

Plak in je .htaccess bestand de volgende code:

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>

Belangrijk! Verander xxx.xxx.xxx.xxx in het IP adres dat u toegang wilt geven tot xmlrpc.php of verwijder deze regel volledig.

Methode 3: Xmlrpc.php handmatig verwijderen met functions.php

Voeg de volgende code toe aan het functions.php bestand van je thema.

add_filter( 'xmlrpc_enabled', '__return_false' );

Zorg er wel voor dat je een child thema gebruikt, anders gaan de aanpassingen verloren na een thema update. Meer handleidingen hierover:

Algemeen over XML-RPC in 2023

XML-RPC was een goede oplossing voor sommige problemen die optraden bij het op afstand publiceren naar je WordPress site. Met deze functie kwamen echter enkele veiligheidslekken die uiteindelijk behoorlijk schadelijk waren voor sommige eigenaren van WordPress sites.

Om ervoor te zorgen dat uw site veilig blijft, is het een goed idee om xmlrpc.php volledig uit te schakelen. Tenzij u enkele van de functies nodig heeft voor publicatie op afstand en de Jetpack plugin. Dan moet je de workaround plugins gebruiken die deze functies mogelijk maken, terwijl je toch de beveiligingsgaten patcht.

Ik verwacht dat de functies van XML-RPC geïntegreerd zullen worden in de nieuwe WordPress API, waardoor toegang op afstand en dergelijke mogelijk blijft, zonder dat dit ten koste gaat van de . Maar in de tussentijd is het een goed idee om jezelf te beschermen tegen de potentiële XML-RPC veiligheidslekken.


Meer weten over Xml-rpc uitzetten beveiliging risico wordpress websiteof info?

Wil je meer informatie? Veel lezers met interesse in Xml-rpc uitzetten beveiliging risico wordpress website bekeken ook de onderstaande artikelen:


WordPress training onderhoud

De meeste problemen met WordPress sites ontstaan door een combinatie van factoren. Van webhosting tot de inrichting van je site. Ik heb de laatste 15 jaar vele websites vast zien lopen, langzaam of gehackt zien worden door de verkeerde aanpak.

Deze problemen, ellende en schade is te vermijden door de juiste aanpak en strategie. Het is even werk en vergt een investering in tijd, geld en energie maar daarna heb je gegarandeerd minder problemen, meer plezier, meer controle en een betere WordPress website of webshop.

WordPress training onderhoud en beheer

Leer hoe je WordPress sites en webshops beter kan beheren en beveiligen in de speciale onderhoudscursus:
WordPress cursus Onderhoud en beheer

WordPress Bootcamp

Leer hoe je je WordPress website sneller en gestroomlijnder kan bouwen in de WordPress Bootcamp:
Web-development in WordPress Bootcamp

Nog vragen over Xml-rpc uitzetten beveiliging risico wordpress website?

Neem eventueel contact op met Arthur als je nog vragen hebt over onderhoud, beveiliging, Xml-rpc uitzetten beveiliging risico wordpress website en WordPress sites.

WordPress expert

Arthur Wentzel, web-developer

06 20 83 05 83

Scroll naar boven