Wat is XML-RPC?
XML-RPC is een core WordPress API wat binnen WordPress standaard aan staat sinds WordPress 3.5 was uitgebracht op 11 december 2012. Met deze API hebben WordPress bouwers (developers) de mogelijkheid om XML en HTTPS protocollen te gebruiken waarmee ze een verbinding kunnen maken en interacties met je WordPress website kunnen uitvoeren.
Met XML-RPC kun je voorbeeld doormiddel van andere software (een Mobile App) communiceren met je WordPress website door bijvoorbeeld pagina’s aan te maken. Maar daarnaast kan het voor hackers ook gebruikt worden om een DDOS aanval op je website uit te voeren door gigantisch veel verzoeken te versturen naar de XML-RPC pagina (xmlrpc.php) van je WordPress website, dit noemen ze ook wel een XML-RPC aanval.
WordPress XML-RPC aanvallen voorkomen
Één van de manieren te voorkomen dat hackers misbruik kunnen maken van de XML-RPC binnen je WordPress website is de aanwezigheid van ModSecurity Comodo WAF (Web Application Firewall) op de server van je hostingprovider. Op al onze servers is ModSecurity Comodo WAF (Web Application Firewall) geïnstalleerd en geconfigureerd. Met ModSecurity Comodo WAF kun je het aantal verzoeken naar de XML-RPC pagina (xmlrpc.php) beperken waardoor een hacker maar een paar verzoeken open kan hebben staan voordat zijn IP adres wordt geblokkeerd. Daarna kan de hacker geen verzoeken meer versturen.
Daarnaast is het ook raadzaam om XML-RPC geheel uit te schakelen indien er geen plugin ingeschakeld is die gebruik maakt van de XML-RPC WordPress API.
Hiervoor kun je door één van de twee onderstaande opties de betreffende XML-RPC uitschakelen
Optie 1: Een aantal regels toevoegen in .htaccess bestand (indien je website onder Apache draait) in de root van public_html of private_html map. Voeg de onderstaande regels boven # BEGIN WordPress of onder # END WordPress toe:
# Block XML-RPC requests
<Files xmlrpc.php>
Require all denied
</Files>
Optie 2: Voeg de onderstaande regels toe in het bestand functions.php van de actieve thema:
/**
* Block XML-RPC requests
*/
add_filter( 'xmlrpc_enabled', '__return_false' );
Controleer of de wijzigingen actief zijn door naar http://www.mijnblog.nl/xmlrpc.php te gaan.
Je zal dan de onderstaande melding te zien krijgen: