Zet XML-RPC uit in WordPress voordat je gehackt wordt
XML-RPC was ooit een handige functie in WordPress, maar is nu vooral een ingang voor brute-force aanvallen. Zo schakel je het uit.
Hieronder lees je wat xmlrpc.php eigenlijk is, waarom het ooit is bedacht, welke beveiligingsproblemen het veroorzaakt en hoe je het op je eigen WordPress site uitschakelt.
WordPress heeft altijd ingebouwde functies gehad waarmee je op afstand met je site kunt communiceren. Soms moet je bij je website kunnen, terwijl je computer even niet bij de hand is. Dan is het handig als je met je mobiele telefoon je website toch kunt bijwerken.
Lange tijd was de oplossing hiervoor een bestand met de naam xmlrpc.php. Maar de laatste jaren is dat bestand meer een lastpost geworden dan een oplossing.
Wat is xmlrpc.php?
XML-RPC is een functie van WordPress waarmee gegevens op afstand verzonden kunnen worden. Omdat WordPress geen gesloten systeem is en soms met andere systemen moet communiceren, is deze functie destijds bedacht.
Stel dat je een bericht op je site wilde plaatsen vanaf je mobiele telefoon omdat je computer niet in de buurt was. Dan kon je de functie voor toegang op afstand gebruiken die xmlrpc.php mogelijk maakt. In de begindagen van WordPress was dat behoorlijk handig.
Waarom werd xmlrpc.php gemaakt?
De implementatie van XML-RPC gaat terug tot de begindagen van WordPress. In de tijd van trage inbelverbindingen was schrijven en publiceren rechtstreeks in de browser lastig en tijdrovend. In plaats van in de browser zelf te schrijven, schreven veel mensen offline in een los programma en kopieerden en plakten ze hun inhoud vervolgens naar het web. Niet echt ideaal te noemen.
De oplossing destijds was een offline blog-"app" maken, waarin je je content kon schrijven en vervolgens verbinding kon maken met je blog om die te publiceren. Die verbinding liep via XML-RPC.
Waarom zou je xmlrpc.php uitschakelen?
Het grootste probleem met XML-RPC zit niet in de functie zelf, maar in hoe het bestand misbruikt kan worden. Aanvallers gebruiken xmlrpc.php vaak om in één verzoek honderden inlogpogingen tegelijk te versturen, wat het lastiger maakt om zo'n brute-force aanval tijdig te herkennen en te blokkeren. Sterke wachtwoorden en goede WordPress-beveiliging helpen daartegen, maar de meest effectieve maatregel blijft xmlrpc.php gewoon uitschakelen als je de functie zelf niet gebruikt.
XML-RPC uitschakelen met een plugin
- Ga naar de plugin-sectie in je WordPress dashboard.
- Zoek naar een plugin die XML-RPC uitschakelt.
- Installeer en activeer de plugin.
Activeer de plugin en je bent klaar. Zo'n plugin schakelt XML-RPC automatisch uit, zonder dat je zelf in bestanden hoeft te knoeien.
Houd er rekening mee dat sommige al geïnstalleerde plugins (delen van) XML-RPC gebruiken. Volledig uitschakelen kan dus tot een plugin-conflict leiden of ervoor zorgen dat een onderdeel van je site niet meer werkt zoals verwacht. Test daarom uitvoerig of alles nog goed functioneert nadat je XML-RPC hebt uitgeschakeld. In de meeste gevallen werkt gewoon alles door, maar controleren kan geen kwaad.
Weet je niet hoe je een plugin installeert? Bekijk de uitleg in onderstaande video.
XML-RPC is niet het enige aandachtspunt: lees ook hoe je je site eenvoudig verder beveiligt en hoe je altijd een actuele backup achter de hand houdt voor het geval het toch misgaat.
Wil je liever dat iemand anders je site controleert op dit soort beveiligingspunten? Vraag de gratis SEO-check aan.
Veelgestelde vragen
Wat is xmlrpc.php in WordPress?
Een functie waarmee WordPress op afstand gegevens kan versturen en ontvangen, bijvoorbeeld om vanaf een ander apparaat te publiceren. Tegenwoordig wordt het vooral misbruikt voor brute-force aanvallen.
Is het veilig om XML-RPC uit te schakelen?
Voor de meeste sites wel. Test na het uitschakelen wel je site, want sommige plugins gebruiken (delen van) XML-RPC.