Cos’è il file xmlrpc.php su WordPress e cosa devi sapere per la sicurezza del sito web?

Postato in data 27 Dicembre 2021 da Riccardo Esposito - Aggiornato il 2 Gennaio 2023

Avrai sentito parlare del file XMLRPC e di possibili problemi di sicurezza di WordPress. In realtà questo è un argomento abbastanza noto ai webmaster, meno a chi muove i primi passi nel mondo del blogging.

Ma è utile affrontare temi come quello del xmlrpc.php WordPress. Perché in questo modo puoi scoprire come lavora questo content management system anche quando lo istalli con procedure semplificate.

XMLRPC WordPress

Anche se hai un sito web di piccole dimensioni devi migliorare la sicurezza di questo CMS. Cosa sapere su questo aspetto tecnico? Ecco qualche dettaglio per approfondire il tema XMLRPC su WordPress.

Cos’è XMLRPC: definizione semplice

XMLRPC è uno standard usato per realizzare un file che consente a un sito WordPress di dialogare con altri portali. Prima che nascesse questo content management system già esisteva XMLRPC per consentire la comunicazione tra due sistemi. Si trovava nella piattaforma di blogging b2 che è un ramo (o meglio, una fork) da cui è nato WordPress che ha ereditato questo sistema basato su Remote Procedure Call in uso prima ancora che si diffondessero le API.

A cosa serveXMLRPC su WordPress

XMLRPC sulla piattaforma WordPress viene ereditato da b2 e si trova nella cartella principale. Fino alla versione 3.5 è disabilitato. All’inizio serviva a mettere in comunicazione l’app mobile con quella standard.

In questo modo potevi attivare il filexmlrpc.php WordPress e avere una versione mobile aggiornata con quella desktop. In realtà questa funzione serve anche a far comunicare più piattaforme di blogging con i pingback.

Ovvero dei sistemi di notifica per citazioni. Oggi è una funzione obsoleta che non ha motivo di esistere anche se alcuni aspetti potrebbero mettere in allarme i webmaster esperti di sicurezza del sito web WordPress.

Da leggere: come disabilitare pingback e trackback

Quali sono le potenziali minacce?

Mantenere attivo il xmlrpc.php WordPress esponi il portale a una serie di rischi. Ad esempio il sito web potrebbe essere interessato da un attacco brute force per accedere provando combinazioni di user e password.

Il punto debole è proprio il loginXML-RPC. Le richieste che avvengono tramite XMLRPC si muovono con username e password, quindi gli attacchi brute force possono bypassare il login del pannello di controllo, sul quale possono trovare dei limiti di tentativi, e accedere indisturbati attraverso questo sistema.

Altro attacco tipico: i pingback. Ogni elemento viene registrato nel database come record ed è chiaro che una normale attività non danneggia minimamente le performance del sito web. Se però vieni interessato da un attacco DDos – Distributed Denial of Service – viaXMLRPC su WordPress ricevi una quantità infinita di richieste.

Hosting gestito: veloce, affidabile, performante

  • Installazione Cms 1 click
  • Backup giornaliero
  • Migrazione gratuita
  • Assistenza H24/365

Sia nel caso dell’attacco brute force, sia per quello del DDos, l’obiettivo può essere differente. In alcuni casi i malintenzionati si limitano a dare fastidio o a pubblicare commenti spam che puoi combattere con Akismet. In altri, invece, mirano a devastare la tua presenza online e a fare danni reali che preferiresti evitare.

Se hai un hosting di qualità alle spalle puoi arginare questo problema, lo stesso vale se hai montato un buon plugin con firewall e altri parametri per tutelare la sicurezza di WordPress. Ma spesso non basta.

Come disabilitare xmlrpc.php

Per risolvere il problema XMLRPC devi capire se sul tuo sito web è ancora attiva questa funzione. Puoi farlo con questo tool webdogs.com/xml-rpc-validator. Poi procedi con una possibile soluzione del problema.

Come disabilitare xmlrpc.php
Risultato negativo della verificaper disabilitare xmlrpc.php.

Ok, questa funzione è attiva. Come disabilitare XMLRPC su WordPress? La soluzione tecnica è quella che prevede di aggiungere un comando via FTP sul file .htaccess. Di cosa stiamo parlando esattamente?

<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

Questa è una possibile combinazione da aggiungere all’htaccess per risolvere tutti i problemi senza utilizzare plugin o estensioni superflue. Oppure puoi aggiungere a functions.php questa stringa di codice.

add_filter( 'xmlrpc_enabled', '__return_false' );

In questo modo puoi disabilitare il file xmlrpc ed evitare che diventi fonte di problemi per il tuo blog o sito web su WordPress. Non sei a tuo agio con questi passaggi tecnici? Continua a leggere l’articolo per approfondire.

Plugin per disabilitare XMLRPC su WordPress

C’è l’alternativa alle modifiche tecniche: puoi usare un plugin che consente di disabilitare la funzione in questione. Ti lascio due soluzioni: un’estensione dedicata alla singola attività e una suite di sicurezza completa.

Nel primo caso puoi solo disattivare XMLRPC su WordPress. Nel secondo hai diversi strumenti per aumentare al sicurezza del blog o del sito web. Tra questi anche l’opzione per eliminare ogni traccia di XML-RPC.

Per approfondire: come inserire i meta tag in un sito WordPress

Perché questa funzione rimane?

Può essere pericoloso mantenere attiva questa finzione del CMS. Ma perché è stata mantenuta? Se il lavoro di comunicazione tra due sistemi oggi viene svolto da meccanismi più sicuri e sofisticati, perché mantenere questo sistema? Potrebbe sempre essere utile dato che è una tecnologia vecchia ma affidabile. È ancora utile?

In alcuni casi si può pensare di abilitare e utilizzare xmlrpc.php, ad esempio quando non è possibile utilizzare la REST API di WordPress che consente di comunicare con le applicazioni esterne con maggior sicurezza.

Oppure se non puoi aggiornare a WordPress 4.4 a utilizzare questo nuovo sistema di interazione. In tutti gli altri casi puoi tranquillamente eliminare il file xmlrpc.php. E avere un sito web WordPress più sicuro per tutti.

Clicca per votare questo articolo!
[Voti totali: 1 Media: 5]

Discussione

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *