Desactivar XMLRPC de WordPress

Desactivar XMLRPC de WordPress

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?

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ó,
et proporcionem el teu propi servidor de desenvolupament gratuït.

Aquí pots registrar-te en pocs segons

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ú»:

Després d'instal·lar ioncube, cal reiniciar el servidor

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.

Compara wetopi amb el teu hosting actual

Dóna’t d’alta, demana una migració i compara.

Fem una còpia de la teva web gratis i sense esforç per part teva.

Sense lletra petita.
Sense compromisos.
Sense targeta de crèdit.