XML-RPC in WordPress: cos’è e come disabilitarlo

Condividi su facebook
Condividi su twitter
Condividi su linkedin
Condividi su email
Retaggio di tempi in cui internet era più lento, XML-RPC è una funzionalità che dovresti disabilitare per motivi di sicurezza. #xmlrpc #sicurezza #wordpress
Ultima modifica il 29 Aprile 2021
Tempo di lettura: 9 min.

Si è fatta molta strada dal lancio di WordPress nel 2003. Ai tempi, la caratteristica chiamata XML-RPC era estremamente utile. In un’epoca in cui la velocità di internet era lenta e i lag costanti, era difficile scrivere contenuti online in tempo reale, come facciamo ora. La funzione permetteva agli utenti di scrivere i loro contenuti offline, ad esempio su Microsoft Word, e poi pubblicarli tutti insieme in un colpo solo. Ma potresti non sapere che dovresti disabilitare XML-RPC nel vostro sito WordPress.

Oggi, con le velocità raggiunta da internet, la funzione XML-RPC è diventata ridondante per la maggior parte degli utenti. Esiste ancora perché l’applicazione WordPress e alcuni plugin come JetPack utilizzano questa funzione.

Se non usi nessuno di questi plugin, app o connessioni remote, è meglio disabilitarla. Perché? Ogni elemento aggiuntivo sul tuo sito dà agli hacker un’opportunità in più per cercare di entrare nel tuo sito. Disabilitare XML-RPC rende il tuo sito più sicuro.

Vuoi sapere cos’altro fare per rendere il tuo sito WordPress più sicuro possibile? Consulta la guida definitiva alla sicurezza WordPress per il 2021.

In questo articolo, ti mostrerò perché e come disabilitare XML-RPC.

XML-RPC Laptop

Cos’è XML-RPC

È una funzionalità di WordPress. Consente a un dispositivo remoto, come l’app WordPress sul tuo smartphone, di inviare dati al tuo sito web. Se vuoi pubblicare un articolo sul tuo sito WordPress tramite l’applicazione WordPress, XML-RPC è ciò che ti permette di farlo.

Se analizziamo il nome XML-RPC, è composta da due parti. RPC è una Remote Procedure Call (chiamata di procedura remota) che significa che potete (ri)chiamare a distanza le azioni da eseguire, poi XML (Extensible Markup Language) viene utilizzato per codificare i dati che devono essere inviati.

Hai bisogno di XML-RPC?

Per capire se hai bisogno di XML-RPC, dovrai prima capire per quali funzioni serve nel tuo sito WordPress. Il file della funzione serve a tre cose principalmente:

  • App WordPress
    Se usi l’app WordPress sul tuo dispositivo mobile per pubblicare sul tuo sito, hai bisogno di questa funzionalità. L’app usa questa funzione per comunicare con il tuo sito WordPress effettuando una connessione remota. Si parla di WordPress.com.
  • Trackbacks e pingbacks
    Quando pubblichi un contenuto, se hai incluso un link ad un altro blog o ad un sito web, questa funzione avviserà l’altro sito web che ti sei collegato a loro. I trackback sono creati manualmente mentre i pingback sono automatizzati. Se usi queste opzioni, hai bisogno che il file XML-RPC.php sia abilitato. Sconsiglio di usare queste due funzionalità che fanno parte di un’era di internet passata.
  • Plugin JetPack
    JetPack è un plugin popolare che viene utilizzato da oltre 5 milioni di siti WordPress. Offre servizi relativi alla sicurezza, alle prestazioni e alla gestione del sito. Utilizza XML-RPC per comunicare con WordPress.com. Se sei un abbonato di JetPack, hai bisogno che sia abilitato.
XML-RPC security

È pericoloso?

La risposta secca è no. Ma non possiamo fermarci qui. Facciamo un passo indietro.

Inizialmente, un’installazione manuale di WordPress aveva questa funzionalità disabilitata di default. Per abilitarla, bisognava andare in Impostazioni > Scrittura > Pubblicazione remota. Tuttavia, dalla versione 3.5 in poi, WordPress lo ha abilitato di default e l’opzione per abilitarlo o disabilitarlo è stata rimossa.

Nel settembre 2015 è apparsa una vulnerabilità nella funzione. WordPress ha rilasciato immediatamente una patch nella versione 4.4.1. Ma milioni di siti web sono ancora in esecuzione su versioni obsolete che li mettono a potenziale rischio di essere violati.

XML-RPC è sicuro, purché tu abbia installato WordPress versione 4.4.1 o superiore.

Quindi, perché disabilitarlo?

Gli hacker cercano di trovare un qualsiasi elemento sul tuo sito web che abbia una debolezza. Potrebbe essere un file, una funzionalità scritta male, il server non protetto, etc. Il malintenzionato sfrutta la vulnerabilità e penetra nel tuo sito. A quel punto i tuoi dati e i dati dei tuoi clienti / utenti sono esposti alla mercé dell’hacker.

Ci sono due punti deboli che potrebbero essere sfruttati dagli hacker:

  • Quando vuoi pubblicare contenuti da un dispositivo remoto, viene creata una richiesta XML-RPC. Queste richieste sono autenticate con un semplice nome utente e una password. Questo è un controllo di sicurezza di base. Se un hacker riesce a mettere le mani su queste credenziali, potrebbe usarle per inviare le proprie richieste. In questo modo, ottengono l’accesso al tuo sito.
    Proteggi ulteriormente il tuo sito aggiungendo una domanda di sicurezza al login.
  • XML-RPC è progettato per gli utenti che pubblicano contenuti in grandi volumi. Questo permette attacchi di forza bruta in cui gli hacker utilizzano bot per cercare di indovinare il vostro nome utente e la password. Attraverso la funzione, possono fare tentativi di login inviando grandi quantità per indovinare le vostre credenziali.

Infine, se un hacker ha già ottenuto l’accesso al sito, può abusare della funzione XML-RPC pingback per effettuare attacchi DDoS. In un attacco di questo tipo, gli hacker fanno crollare i siti web (di solito quelli di grandi marchi o governi) inviando pingback da migliaia di siti. Questa improvvisa ondata di dati ricevuti sovraccarica il server web dell’obiettivo e può eventualmente mandare in crash il sito.

Abbiamo visto perché hai bisogno di questa funzionalità. Ma se non stai usando l’applicazione WordPress o il plugin JetPack e se non trovi utili i trackback e i pingback, allora è meglio disabilitare il file xmlrpc.php.

Disabilitandolo, ti assicurerai che la funzione non possa essere usata per violare il vostro sito WordPress.

Disabilitare XML-RPC

Puoi bloccare la funzione XML-RPC sul un sito WordPress manualmente o usare un plugin. Si consiglia di utilizzare un plugin perché è più veloce, più semplice e non comporta alcun rischio. Il metodo manuale comporta modifiche ai file di WordPress, che è sempre un po’ rischioso se non sai cosa stai facendo di preciso. Detto questo, vi mostrerò entrambi i metodi.

Usare un plugin

Installa il plugin che si chiama “Disable XML-RPC”, lo puoi trovare nei repository di WordPress.

Plugin XML-RPC
La schermata dei plugin da cui puoi vedere quello corretto da installare.

Una volta installato, la funzionalità è automaticamente disabilitata, come testimoniano anche i banner che compaiono una volta svolta l’operazione di attivazione del plugin;

Plugin XML-RPC Banner
I banner che testimoniano l’avvenuta disabilitazione della funzionalità di XML-RPC.

Se mai un giorno avrai nuovamente bisogno di abilitare la funzionalità, basterà disattivare il plugin. Assicurati che il plugin rimanga aggiornato.

Disabilitare XML-RPC manualmente

Come ho accennato prima, il metodo manuale è più rischioso, quindi è necessario prendere alcune precauzioni prima di disabilitare XML-RPC sul tuo sito WordPress.

  • Fai un backup completo del sito. Nel metodo manuale, altereremo i file di WordPress, il che comporta un alto rischio. Piccoli errori possono finire per rompere il tuo sito web. Se le cose vanno male, è sempre possibile ripristinare il backup. Basta un punto e virgola assente o nel posto sbagliato e il sito è in down. Attenzione!
  • Utilizza un sito di staging WordPress per le modifiche manuali. Mi rendo conto che sia forse eccessivo, ma se puoi fare una copia di staging del sito, perché non mettersi del tutto al sicuro? È possibile apportare modifiche al sito di staging senza influenzare il tuo sito in produzione. Una volta che sei sicuro che tutto funziona bene, puoi semplicemente sostituire la versione modificata al tuo sito in produzione.

Con queste precauzioni prese, puoi iniziare con il metodo manuale per disabilitare la funzionalità sul tuo sito WordPress:

  1. Effettua il login sul tuo pannello hosting e raggiungi la sezione di modifica dei file. Potrebbe chiarasi File Manager o Gestione File.
  2. Raggiungi la cartella principale del sito da cui vuoi eliminare la funzionalità XML-RPC.
  3. Cerca un file che si chiama .htaccess (con il punto davanti). Se non lo trovi, è probabilmente perché è nascosto. Cerca la funzionalità per visualizzare i file nascosti.
  4. Apri il file nell’editor del pannello e poi aggiungi le seguenti righe:
# Block WordPress xmlrpc.php
<Files xmlrpc.php>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
</Files>

Nota: Se vuoi che il file sia accessibile da uno specifico IP, puoi aggiungerlo al posto delle “xxx”.

  1. Salva e chiudi il file

Se non hai accesso al pannello di controllo

Se non avessi accesso al pannello di controllo del tuo web hosting, puoi effettuare le stesse operazioni usando un client ftp come Filezilla, e cercando collegandoti al tuo server tramite ftp.

Se hai usato la versione di staging del tuo sito, puoi renderla operativa dopo che avrai controllato che sia tutto ok, oppure replicare le stesse operazioni sul sito in produzione.

Conclusioni

Ricorda, se scegli di usare la funzione XML-RPC, assicurati che la tua installazione di WordPress sia aggiornata. Devi usare la versione 4.4.1 o superiore per assicurarti che il tuo sito non sia a rischio di essere violato.

Se non hai bisogno della funzione XML-RPC, disabilitarla rende il tuo sito più sicuro contro gli hacker. Ma questo non garantisce una protezione completa del tuo sito WordPress. Anche se disabiliti XML-RPC in WordPress, ci sono molti altri modi per violare il tuo sito web.

Per proteggere il tuo sito web da tutti i tipi di attacchi hacker, si consiglia di utilizzare un plugin di sicurezza come MalCare o Sucuri. Monitoreranno il tuo sito web regolarmente e bloccheranno proattivamente l’accesso del traffico dannoso.

Ho parlato di Sucuri in un video che ti lascio qui sotto:

Infine, non scordati di adottare le best practice per la sicurezza del tuo sito! Ne trovi moltissime nella categoria sulla sicurezza qui sul sito.

Se ti è piaciuto l’articolo, non dimenticare di iscriverti alla newsletter per restare aggiornato sui prossimi contenuti!

XML-RPC security
Tabella dei Contenuti

Iscriviti alla newsletter

Staging in Wordpress come fare
Come si usa WordPress
Staging in WordPress facilissimo [guida 2021]

Tempo di lettura: 13 min. Un sito di staging in WordPress è ideale per testare le modifiche prima di renderle operative. Vediamo come creare uno staging con e senza plugin.
#staging #wordpress #test #pluginwordpress

Leggi Tutto »
Tabella dei Contenuti
Giacomo Lanzi

Giacomo Lanzi

Dopo studi in psicologia e letteratura, dal 2010 mi sono dedicato alla grafica web e all'editing per testi universitari. Sono un content creator per il web dal 2012. Dopo un'esperienza di due anni come manager di un team italiano per una compagnia internazionale a Berlino, ho deciso di tornare alla libera professione e di dedicarmi del tutto al web. Oggi offro servizi come autore, content creator, grafico web e SEO expert. Mi caratterizzano un attitudine al pensiero critico, abilità nella guida di un team, la cura dei dettagli e l'impegno che metto in ogni progetto, siano essi personali o professionali.

Iscriviti alla newsletter
ottieni sconti e promozioni