Je winkelwagen is leeg
Producten die je toevoegt, verschijnen hier.
XML-RPC (XML Remote Procedure Call) is een protocol om via HTTP functies op een server aan te roepen, in WordPress via xmlrpc.php.
XML-RPC (XML Remote Procedure Call) is een protocol waarmee een programma via HTTP een functie op een andere server aanroept, met een bericht in XML. WordPress gebruikt het al jaren via het bestand xmlrpc.php in de hoofdmap van je site. Apps en externe diensten kunnen zo berichten plaatsen, reacties beheren en pingbacks versturen zonder het dashboard te openen.
Juist dat bestand is een geliefd doelwit. Op wp-login.php test een aanvaller één wachtwoord per verzoek, maar met de methode system.multicall van XML-RPC probeert hij er honderden in één verzoek. Beveiligingsbedrijf Sucuri zag zulke brute force-aanvallen in 2015 op grote schaal. Ook de pingbackfunctie wordt misbruikt, om een andere site met verzoeken te bestoken: in 2014 zette een aanvaller zo meer dan 162.000 WordPress-sites in bij één DDoS-aanval.
De meeste sites hebben XML-RPC niet meer nodig, omdat apps en koppelingen nu meestal de REST API van WordPress gebruiken. Gebruik je Jetpack, laat het dan aan, want Jetpack is afhankelijk van de XML-RPC-verbinding. Let op met de filter xmlrpc_enabled, die bijvoorbeeld de plugin Disable XML-RPC gebruikt. Die zet alleen de functies uit waarvoor je moet inloggen, terwijl pingbacks gewoon blijven werken.
Op je hosting blokkeer je xmlrpc.php volledig met drie regels bovenaan het bestand .htaccess in public_html: <Files xmlrpc.php>, dan Require all denied en tot slot </Files>. LiteSpeed leest die regels zoals Apache dat doet, en wie het bestand daarna opvraagt, krijgt de melding 403 Forbidden. Controleer na de wijziging of je site en je koppelingen nog werken. Geeft je site een 500-fout, dan zit er een typfout in de regels.
Dave Winer van UserLand Software bedacht XML-RPC in 1998 samen met Microsoft. Het protocol groeide later uit tot SOAP (Wikipedia). De specificatie staat nog altijd op xmlrpc.com.
Belangrijke mijlpalen: