XML-RPC è una specifica che consente la comunicazione tra WordPress e altri sistemi. È stato possibile farlo standardizzando tali comunicazioni, utilizzando HTTP come meccanismo di trasporto e XML come meccanismo di codifica.
Nelle prime versioni di WordPress, di default XML-RPC era disattivato. Ma dalla versione 3.5, è stato abilitato di default. Il motivo principale era quello di permettere all’applicazione mobile di WordPress di dialogare con l’installazione di WordPress.
Da quando l’API REST è stata integrata nel core di WordPress, il file xmlrpc.php non viene più utilizzato per questa comunicazione. Al suo posto viene invece utilizzata l’API REST per comunicare con l’applicazione mobile di WordPress, con i client desktop, con altre piattaforme di blogging, con WordPress.com (per il plugin Jetpack) e con altri sistemi e servizi. La gamma di sistemi con cui le REST API possono interagire è molto più ampia di quella consentita da xmlrpc.php. Inoltre, c’è molta più flessibilità.
Dato che l’API REST ha sostituito XML-RPC, sarebbe il caso di disabilitare xmlrpc.php sul proprio sito.
Vediamone i motivi :
- Il motivo principale per cui si dovrebbe disabilitare xmlrpc.php sul proprio sito WordPress è perché questo introduce vulnerabilità nella sicurezza e può essere bersaglio di attacchi.
- Ora che XML-RPC non è più necessario per comunicare al di fuori di WordPress, non c’è più motivo di tenerlo attivo.
- Attacchi DDoS tramite Pingback XML-RPC – Una delle funzioni abilitate da xmlrpc.php erano il pingback e il trackback. Queste sono le notifiche che appaiono nei commenti del vostro sito quando un altro blog o un altro sito si collega ai vostri contenuti. Se XML-RPC è abilitato sul vostro sito, un hacker potrebbe potenzialmente montare un attacco DDoS sul vostro sito sfruttando lo script xmlrpc.php per inviare un gran numero di pingback al vostro sito in breve tempo. Questo potrebbe sovraccaricare il vostro server e mettere il sito fuori uso.
- Attacchi Brute Force via XML-RPC – Ogni volta che xmlrpc.php fa una richiesta, invia il nome utente e la password per l’autenticazione. Questo presenta una significativa vulnerabilità nella sicurezza ed è qualcosa che l’API REST non fa. Infatti, la REST API utilizza OAuth, che invia token per l’autenticazione al posto di nome utente o password. Dato che xmlrpc.php invia informazioni di autenticazione ad ogni richiesta, gli hacker potrebbero utilizzarle per provare ad accedere al vostro sito. Un attacco di forza bruta come questo potrebbe permettere loro di inserire contenuti, cancellare codice o danneggiare il vostro database. Se un aggressore invia un numero sufficiente di richieste al vostro sito, ognuna con una diversa coppia di username e password, c’è la possibilità che alla fine possa indovinare quella giusta, ottenendo l’accesso al sito.
Come Disabilitare xmlrpc.php
Ci sono molti modi per poterlo fare, il Plug-in “Disable XML-RPC” è uno di questi.
