En aquest post analitzem de forma precisa el “quan” i el “perquè” desactivar XMLRPC i com fer-ho de forma eficient.
Durant molts anys, s’ha facilitat l’accés remot a WordPress mitjançant XMLRPC. L’enviament de peticions HTTP a xmlrpc.php
permet enviar ordres a WordPress i gestionar-ne el contingut sense necessitat d’entrar a l’escriptori d’administració.
Table of Contents
- Què és XMLRPC?
- El relleu de XMLRPC de WordPress
- uc desactivar XMLRPC del meu WordPress?
- Per què desactivar xmlrpc.php?
- Desactivar XMLRPC de WordPress
- Conclusió final
Què és XMLRPC?
Al directori arrel de cada lloc WordPress hi trobaràs un fitxer de nom xmlrpc.php
. Es va crear per oferir als llocs web WordPress una manera de comunicar-se entre si, i perquè altres aplicacions es comuniquessin amb WordPress.
XML és el mecanisme de codificació utilitzat per a lintercanvi de dades i RPC el mecanisme de comunicació. RPC són les sigles de Trucada a Procediment Remot ” Remot Procedure Call“.
El relleu de XMLRPC de WordPress
Si bé l’accés remot XMLRPC de WordPress fa molts anys que funciona, des de fa temps l’API de WordPress ha passat a ser una solució més robusta i segura.
Amb la nova API de WordPress, l’ús de XML-RPC ha quedat completament desfasat. Si no necessites XMLRPC per a cap de les funcionalitats que a continuació expliquem, el millor és desactivar XMLRPC del tot. Et podem assegurar que evitaràs els nombrosos problemes de seguretat que comporta l’accés a aquest fitxer.
La nova API no és perfecta, però proporciona una solució més segura i sòlida al problema d’accés al WordPress
Actualment, la comunitat de desenvolupadors està abandonant l’ús de xmlrpc.php
uc desactivar XMLRPC del meu WordPress?
L’accés a XMLRPC s’utilitza encara en la gestió remota des de WordPress.com quan utilitzem el connector Jetpack o serveis com Zapier, IFTTT
Jetpack encara arrossega gestions remotes utilitzant l’accés a
xmlrpc.php
També, la funcionalitat de Pingbacks o algunes de les Apps com l’ aplicació per a mòbils oficial de WordPress utilitzen xmlrpc.php per interactuar amb WordPress.
Però… Qui gestiona els post de WordPress ara per ara des de mòbil? Bé, si ets dels que els encanta el món mobile, és millor que utilitzis el navegador del dispositiu per accedir a l’administrador del teu WordPress. Després de tot, és més segur, i la seva interfície “responsive” funciona perfectament.
Per què desactivar xmlrpc.php?
L’accés a XMLRPC de WordPress, en oferir funcions de gestió avançades, passa a ser atractiu per a un atacant. Per això deshabilitar XMLRPC ens ajudarà de manera important a reduir l’angle de l’anomenat Vector d’Atac.
Els tipus d’atac a què sol estar exposat xmlrpc.php són:
Atac de força bruta contra XMLRPC
En general l’atac de força bruta s’usa per aconseguir la combinació d’usuari i contrasenya mitjançant peticions massives, per això se’n diu “de força bruta”.
Com que XMLRPC està protegit per usuari i contrasenya en les operacions que modifiquen dades, les peticions a xmlrpc.php són una destinació ideal per intentar trobar credencials.
Per realitzar un atac de força bruta només cal fer trucades consecutives xmlrpc.php provant diferents usuaris i contrasenyes com a paràmetres.
Atac amplificat
L’atac amplificat és una variant encara més perillosa de l’atac per força bruta. En un atac de força bruta, cada intent per provar un usuari i contrasenya es tradueix en una petició. En canvi a l’atac amplificat, en una mateixa petició es poden provar desenes de milers de combinacions. No obstant, actualment aquesta vulnerabilitat està solucionada.
Atacs DDoS usant XMLRPC
Els atacs DDoS, “Distributed Denial of Service”, són extremadament difícils d’evitar, ningú no pot dir que aquest lliure d’ells. Però sí que és important no posar les coses fàcils. La base d’un atac DDoS és saturar el vostre servidor fent moltes peticions simultànies.
Si tenim en compte que:
- xmlrpc.php és capaç d’interactuar amb WordPress fent ús intensiu de la base de dades.
- Difícilment es pot escorcollar per evitar que utilitzi tants recursos del servidor.
- Té funcionalitats com els Pingbacks que faciliten distribuir l’enviament de peticions.
La suma d’aquests factors converteix xmlrpc.php en l’eina perfecta per a l’atacant.
Desactivar XMLRPC de WordPress
Per deshabilitar completament XMLRPC, el nostre consell sense cap mena de dubte, és fer-ho a nivell de servidor i evitar l’ús d’extensions.
Bloquejant el seu accés a nivell servidor web és el més eficient, ja que evitem que les peticions arribin a executar-se a WordPress.
Tingueu en compte que qualsevol petició que arribi a WordPress representa execució dinàmica de codi php i consultes a la base de dades.
Deshabilitar xmlrpc.php manualment a Apache
El primer pas consisteix a localitzar el fitxer .htaccess
a l’arrel del vostre lloc WordPress. Aquest és l’únic fitxer que cal editar per desactivar l’accés a XMLRPC.
Una manera d’accedir a editar els fitxers és connectar al servidor de forma segura per sftp.
Un cop hàgiu obert el fitxer .htaccess, afegiu aquestes línies al final i desa els canvis.
<Files xmlrpc.php> order deny,allow deny from all </Files>
Desactivar xmlrpc.php manualment a Nginx
Si utilitzes nginx com a servidor de pàgines, tal com fem a wetopi on ens especialitzem en rendiment i seguretat per a WordPress. Hauràs de localitzar el fitxer de configuració de nginx. El podràs localitzar a /etc/nginx.conf
o com és el cas de wetopi a /var/www/conf/nginx.conf
Perquè puguis provar com bloquejar les peticions XMLRPC de WordPress sense trencar el teu lloc web producció,
Aquí pots registrar-te en pocs segons
et proporcionem el teu propi servidor de desenvolupament gratuït.
Quan hagis obert l’arxiu de configuració que correspongui, afegeix aquestes línies dins de la secció server juntament amb els teus altres “location”:
# denaying access to wordPress xmlrpc: location = /xmlrpc.php { deny all; access_log off; log_not_found off; return 403; }
IMPORTANT: a wetopi no hauràs de desactivar XMLRP, per defecte ja ho està. En arrencar el vostre servidor WordPress deixem el fitxer /var/www/conf/nginx-disable-xmlrpc.conf
amb el codi indicat sobre aquestes línies i així nginx l’inclou en carregar la configuració. Si el que vols és tornar a activar xmlrpc.php, simplement elimina aquest fitxer i recarrega la configuració de nginx.
Carregar la nova configuració de nginx
Si esteu treballant amb un servidor especialitzat en WordPress de wetopi, podeu carregar la nova configuració de nginx amb un simple clic des del vostre panell de wetopi.
Adreceu-vos a la pàgina detall del vostre lloc, i feu clic al botó Recarregar que trobareu dins de «Opcions de menú»:

En una instal·lació on gestions tu el servidor, des de l’ intèrpret d’ordres llança la comanda:
nginx -s reload
Conclusió final
Xmlrpc.php va ser creat per afegir funcionalitats de gestió remota al teu lloc WordPress, però ràpidament es va convertir en una porta del darrere que amenaça la seguretat de la teva web.
Avui dia, la nova API de WordPress proporciona aquestes funcionalitats sense sacrificar la seguretat. La nostra recomanació, si no depens de la gestió remota de Jetpack, és que ho deshabilitis tan aviat com puguis.
Resumidament, som uns techies apassionats per WordPress que hem creat Wetopi, un Allotjament WordPress Gestionat, per minimitzar la fricció a la que tot professional s’enfronta en treballar i allotjar projectes WordPress.
No tens un compte a wetopi?
Inclou servidors de desenvolupament Gratis.
No cal tarjeta de crèdit.