Una guida completa su xmlrpc.php in WordPress e come disabilitarlo

Pubblicato: 2024-03-27

Xmlrpc.php è stata una soluzione innovativa. Ha facilitato la comunicazione remota con il tuo sito WordPress. Ciò significa che puoi gestire il tuo sito da lontano, utilizzando varie app o servizi. Immagina di pubblicare un blog da un'app per smartphone o di integrare il tuo sito con altre applicazioni web: questa è la magia di xmlrpc.php.

Come accade con qualsiasi porta aperta nel campo della tecnologia, non ci volle molto prima che i visitatori indesiderati la trovassero. I problemi principali derivano dalle vulnerabilità della sicurezza e dagli attacchi di forza bruta, che sfruttano proprio questa accessibilità per cercare di entrare nel tuo sito. Inoltre, richieste eccessive a xmlrpc.php possono portare all'esaurimento delle risorse, rallentando il tuo sito o addirittura causando tempi di inattività.

Sintomi del problema

I problemi con xmlrpc.php non sono validi per tutti. A seconda dell'ambiente di hosting, della configurazione di WordPress e del modo in cui gli aggressori prendono di mira il tuo sito, potresti riscontrare una serie di sintomi:

  • Maggiore utilizzo delle risorse del server che porta a un rallentamento delle prestazioni del sito web.
  • Vulnerabilità della sicurezza esposte ad attacchi di forza bruta.
  • Attacchi DDoS (Distributed Denial of Service), che sfruttano xmlrpc.php per sopraffare il tuo sito.
  • Richieste POST continue a xmlrpc.php visibili nei log di accesso.
  • Ciascuno di questi sintomi rimanda alla stessa causa principale ma si manifesta in modo diverso a seconda dei metodi dell'aggressore e della configurazione specifica del tuo sito.

Comprendere le vulnerabilità

La presenza di xmlrpc.php in WordPress, nonostante le sue note vulnerabilità e la disponibilità di alternative migliori come l'API REST di WordPress, è un classico esempio dell'impegno della piattaforma verso la compatibilità con le versioni precedenti. Questo impegno garantisce che i siti Web eseguiti su versioni precedenti di WordPress, che si basano su XML-RPC per la comunicazione esterna, continuino a funzionare senza interruzioni. Ora, approfondiamo le vulnerabilità specifiche associate a xmlrpc.php e capiamo perché è considerato un rischio per la sicurezza.

Attacchi di forza bruta

xmlrpc.php può essere sfruttato per attacchi di forza bruta.A differenza dei tradizionali attacchi di forza bruta che tentano di accedere tramite il file wp-login.php e possono essere facilmente rilevati e bloccati, un attacco tramitexmlrpc.php può utilizzare system.multicall per testare centinaia di combinazioni di password con una singola richiesta.Ciò non solo rende gli attacchi più difficili da rilevare, ma anche più efficienti per l’aggressore.

Quandoxmlrpc.php elabora una richiesta, richiede l'autenticazione, che tradizionalmente comporta l'invio di nome utente e password con ogni richiesta.Questo metodo, sebbene semplice, è intrinsecamente insicuro.

Esposizione ad attacchi di forza bruta

Ogni richiesta accompagnata da una combinazione di nome utente e password offre agli hacker l'opportunità di tentare un attacco di forza bruta. Possono automatizzare le richieste a xmlrpc.php, scorrendo innumerevoli combinazioni di nomi utente e password nel tentativo di trovare quella giusta. Se ci riescono, ottengono l'accesso non autorizzato al sito, consentendo loro potenzialmente di inserire contenuti dannosi, eliminare codice cruciale o compromettere in altro modo l'integrità del sito.

Tentativi ripetuti di autenticazione

Poichéxmlrpc.php autentica ogni singola richiesta, fornisce un vettore per attacchi prolungati senza la necessità di tecniche sofisticate.Questa semplicità lo rende un obiettivo attraente per gli aggressori che desiderano accedere ai siti WordPress.

In che modo l'API REST migliora la sicurezza

Le API REST di WordPress rappresentano un notevole passo avanti in termini di sicurezza, soprattutto per quanto riguarda l'autenticazione. Invece di fare affidamento su combinazioni di nome utente e password per ogni richiesta, l'API REST può utilizzare OAuth, uno standard più sicuro per la delega dell'accesso. OAuth funziona emettendo token alle applicazioni dopo che l'utente ha approvato l'accesso. Questi token vengono quindi utilizzati per l'autenticazione, anziché per la trasmissione di credenziali sensibili. Anche se un attaccante dovesse intercettare un token, questi token sono spesso di breve durata e possono essere revocati, riducendo al minimo il danno potenziale.

Attacchi DDoS

Gli attacchi Distributed Denial of Service (DDoS) possono essere facilitati anche tramitexmlrpc.php .Gli aggressori possono utilizzare la funzionalità di pingback (progettata per notificare ad altri siti la presenza di collegamenti) per inviare un'ondata di richieste a un sito Web di destinazione, sovraccaricandolo e causando potenzialmente tempi di inattività.

Come funziona

La funzionalità di pingback e trackback, abilitata da xmlrpc.php, un tempo fungeva da pietra angolare della comunità dei blog. Ha favorito un ecosistema interconnesso in cui blogger e creatori di contenuti potevano riconoscere e collegarsi reciprocamente al lavoro, creando una rete di interazioni. Tuttavia, con la transizione verso un Web più moderno con l’adozione dell’API REST di WordPress, le funzionalità legacy di XML-RPC, inclusi pingback e trackback, sono diventate meno essenziali e, sfortunatamente, un potenziale vettore di attacchi informatici.

Come pingback e trackback diventano una responsabilità

Il meccanismo dell’abuso:

Pingback e trackback, per loro natura, sono stati progettati per avvisarti quando qualcun altro si collega ai tuoi contenuti. Ciò è stato ottenuto tramite un handshake automatizzato facilitato da xmlrpc.php. Sebbene l’intenzione alla base di questa funzionalità fosse quella di migliorare la connettività e il coinvolgimento nell’ecosistema WordPress, ha inavvertitamente aperto una porta da sfruttare per gli hacker.

Un hacker può avviare un attacco Distributed Denial of Service (DDoS) utilizzando proprio questo meccanismo. Sfruttando xmlrpc.php, possono inviare una marea di richieste di pingback al tuo sito da numerose fonti. Non si tratta solo di un rivolo di notifiche ma di un diluvio, capace di travolgere le risorse del tuo server. Il risultato? Il tuo sito rallenta durante la scansione o, nei casi peggiori, diventa completamente inaccessibile, mettendoti di fatto fuori gioco.

L'impatto di tali attacchi

Le conseguenze di un attacco DDoS riuscito al tuo sito sono molteplici:

Tempi di inattività : l'effetto più immediato è il tempo di inattività.Il tuo sito non è più disponibile per i visitatori, il che può danneggiare la tua reputazione, l'esperienza utente e potenzialmente le tue entrate.

Drenaggio di risorse : le risorse di hosting vengono consumate gestendo l'afflusso di pingback falsi, il che potrebbe comportare costi di hosting aggiuntivi.

Classifica nei motori di ricerca : tempi di inattività prolungati o prestazioni lente del sito possono influire negativamente sulla SEO del tuo sito, abbassando potenzialmente il tuo posizionamento nei risultati di ricerca.

Compromissione della sicurezza : anche se l'attacco in sé potrebbe non rubare dati, la pressione che esercita sulle difese del tuo sito potrebbe aprire la porta allo sfruttamento di altre vulnerabilità.

Attacchi di amplificazione

La funzionalità pingback può essere abusata anche negli attacchi di amplificazione, in cui piccole richieste inviate a `xmlrpc.php` vengono utilizzate per generare risposte più ampie dal server. Ciò può aumentare la quantità di traffico diretto a un obiettivo, esacerbando l’impatto degli attacchi DDoS.

Controlla se xmlrpc.php è abilitato sul tuo sito

Identificare se xmlrpc.php è attivo e accettare le richieste sul tuo sito WordPress è un passaggio essenziale per migliorare la sicurezza del tuo sito.Poiché il semplice fatto di avere il file nell'installazione di WordPress non significa necessariamente che sia abilitato o accessibile, l'utilizzo di strumenti come l' app Web XML-RPC Validator può fornire informazioni chiare. Analizziamo i passaggi per identificare lo stato di xmlrpc.php e come disabilitarlo se è ancora attivo.

Come verificare se xmlrpc.php è abilitato

Utilizzare l'app Web di convalida XML-RPC:

App Web di convalida XML-RPC

  1. Passare all'app Web di convalida XML-RPC.
  2. Inserisci l'URL del tuo sito.
  3. Esegui il test.

Il validatore tenterà di effettuare una richiesta a xmlrpc.php sul tuo sito e analizzerà la risposta.

Se il test conclude che xmlrpc.php è stato disabilitato, sei a posto. Tuttavia, se il validatore indica che xmlrpc.php è attivo, ti consigliamo di adottare misure per disabilitarlo.

Questo strumento rappresenta un modo semplice per testare la funzionalità XML-RPC senza dover scavare personalmente nel codice o nelle impostazioni del server.

Il caso della disabilitazione di xmlrpc.php

Mentre xmlrpc.php ha svolto un ruolo fondamentale in passato, da allora l’API REST di WordPress ha preso il testimone, offrendo un modo più sicuro, efficiente e flessibile per le applicazioni esterne di interagire con WordPress. L'API REST è come la versione aggiornata di xmlrpc.php: pensala come se passasse da un telefono cellulare a uno smartphone.

Ecco perché vale la pena considerare la disabilitazione di xmlrpc.php:

Sicurezza : xmlrpc.php è noto per essere un bersaglio di attacchi di forza bruta.Disabilitandolo si chiude un percorso che gli aggressori possono utilizzare per compromettere il tuo sito.

Prestazioni : chiamate xmlrpc.php non necessarie possono mettere a dura prova le risorse del tuo server.Se non lo stai utilizzando, disattivarlo può alleggerire il carico del tuo server.

Soluzioni moderne : con l'API REST di WordPress, hai un'alternativa moderna e robusta che copre tutte le basi di xmlrpc.php ma in modo più sicuro ed efficiente.

Disabilitare xmlrpc.php

Disabilitare il file xmlrpc.php in WordPress è un passaggio di sicurezza cruciale.Qui esploreremo non solo il metodo del plugin ma anche un approccio manuale per gli utenti che preferiscono o necessitano di una soluzione più pratica.

Utilizzo di un plugin per disabilitare xmlrpc.php

L'installazione di un plugin, come il plugin Disable XML-RPC , è il metodo più semplice e diretto per disabilitarexmlrpc.php .I plugin offrono un'interfaccia user-friendly che richiede conoscenze tecniche minime. Possono disabilitare efficacemente la funzionalità XML-RPC senza alterare alcun file principale di WordPress, riducendo così il rischio di danneggiare il tuo sito. Questo metodo è particolarmente vantaggioso per gli utenti che non si sentono a proprio agio nel modificare il file.htaccess del proprio sito Web o per coloro che non hanno accesso ai file del server del proprio sito.

Istruzioni passo passo

Disabilita il plug-in XML-RPC nella pagina dei plug-in della dashboard di WordPress.

  1. Accedi alla dashboard di WordPress.
  2. Nella barra laterale sinistra della dashboard, fai clic su Plugin > Aggiungi nuovo.
  3. Nella barra di ricerca, digitaDisabilita XML-RPC e premi Invio.Questo farà apparire il plugin nei risultati di ricerca.
  4. Fare clic suInstalla ora accanto al plug-in Disabilita XML-RPC.WordPress scaricherà e installerà il plugin.
  5. Dopo l'installazione, fare clic sul pulsanteAttiva .L'attivazione è immediata e non sono necessarie ulteriori configurazioni.

Una volta attivato, il plugin disabilita automaticamentexmlrpc.php , migliorando la sicurezza del tuo sito con il minimo sforzo.

Disabilitare selettivamente la funzionalità pingback in xmlrpc.php

Anche se disabilitare completamente xmlrpc.php migliora la sicurezza di WordPress, potrebbe limitare la funzionalità per alcuni utenti che si affidano alla pubblicazione remota o ad altre funzionalità fornite da xmlrpc.php. Per coloro che necessitano di mantenere determinate funzionalità XML-RPC ma desiderano disabilitare la funzionalità pingback, spesso sfruttata negli attacchi DDoS, il plug-in Disable XML-RPC Pingback è una soluzione ideale. Questo approccio fornisce una soluzione equilibrata che migliora la sicurezza senza sacrificare la funzionalità.

Istruzioni passo passo

  1. Inizia accedendo all'area di amministrazione del tuo sito WordPress.
  2. Nel menu a sinistra della dashboard, fai clic suPlugin > Aggiungi nuovoper accedere al repository dei plugin.
  3. Cerca Disabilita Pingback XML-RPC e premi Invio.
  4. Fai clic suInstalla ora > Attivaper abilitare il plug-in sul tuo sito.

Al momento dell'attivazione, il plugin disabilita immediatamente la funzionalità di pingback dixmlrpc.php .Non è necessaria alcuna ulteriore configurazione. Altre funzionalità XML-RPC rimangono intatte e operative, garantendoti la possibilità di continuare a usufruire dei vantaggi della pubblicazione remota e di altre funzionalità basate su XML-RPC senza esporre il tuo sito ai rischi per la sicurezza associati ai pingback.

Controllo dettagliato con REST XML-RPC Data Checker

Per gli amministratori di siti WordPress che cercano un controllo completo sia sulla funzionalitàxmlrpc.php che sull'API REST, il plug-in REST XML-RPC Data Checker offre una soluzione avanzata.Questo plugin non solo consente la messa a punto delle impostazioni dixmlrpc.php ma fornisce anche un ampio controllo sull'API REST, rendendolo uno strumento indispensabile per migliorare la sicurezza e la funzionalità del sito in base alle esigenze specifiche.

Istruzioni passo passo

  1. Accedi al tuo account amministratore di WordPress.
  2. Fare clic suPlugin > Aggiungi nuovo.
  3. Cercail controllo dati REST XML-RPC .
  4. Fare clic su Installa ora > Attiva.

Configurazione delle impostazioni xmlrpc.php e API REST

Plug-in di controllo dati REST XML-RPC in WordPress.

  1. Dalla dashboard di WordPress, vai suImpostazioni > Controllo dati REST XML-RPC. Questo ti porterà alla pagina di configurazione del plugin.
  2. Fare clic sulla schedaXML-RPC .Qui troverai le opzioni per abilitare o disabilitare funzionalità specifiche dixmlrpc.php .Puoi scegliere di disabilitare l'intero protocollo XML-RPC oppure selezionarne alcuni aspetti per mantenerli attivi in ​​base alle tue esigenze.
  3. Passa alla schedaAPI REST per configurare le impostazioni per l'API REST.Analogamente alle impostazioni XML-RPC, puoi abilitare o disabilitare endpoint o funzionalità specifiche, offrendo un controllo personalizzato su come le applicazioni esterne interagiscono con il tuo sito tramite l'API REST.

Utilizzo del filtro xmlrpc_enabled per disabilitare xmlrpc.php

Si consiglia di implementare il filtroxmlrpc_enabled all'interno di un plug-in personalizzato anziché aggiungere codice personalizzato al file delle funzioni del tema.Questo approccio garantisce che le modifiche rimangano effettive indipendentemente dagli aggiornamenti o dalle modifiche del tema, fornendo un modo più stabile e affidabile per disabilitarexmlrpc.php .I plugin offrono un modo modulare per aggiungere o rimuovere funzionalità senza influire sul sistema principale o sui file del tema, rendendolo una best practice per lo sviluppo WordPress personalizzato.

Istruzioni passo passo

Utilizzando un editor di testo, crea un nuovo file PHP. Puoi nominare qualsiasi file a questo file, ma per chiarezza, qualcosa comedisattiva-xmlrpc.php sarebbe appropriato.

Incolla il seguente codice nel tuo nuovo file. Questo frammento di codice include un'intestazione del plugin standard seguita dal filtro che disabilita XML-RPC:

 <?php

/**

* Nome plug-in: disabilita XML-RPC

* Descrizione: disabilita la funzionalità XML-RPC su WordPress.

* Versione: 1.0

* Autore: il tuo nome

*/

add_filter('xmlrpc_enabled', '__return_false');
  1. Connettiti al tuo sito WordPress tramite FTP o il file manager del tuo host.
  2. Passare alla directory /wp-content/plugins/ e caricare il file Disable-xmlrpc.php.
  3. Accedi alla dashboard di WordPress, vai alla sezionePlugin e vedrai elencato il plugin appena creato.
  4. Fai clic su Attiva accanto al nome del plug-in.

Disabilitare manualmente xmlrpc.php tramite il file .htaccess

Per gli utenti che cercano un maggiore controllo o coloro che desiderano ridurre al minimo il numero di plugin sul proprio sito, disabilitare manualmente xmlrpc.php è un'opzione praticabile.Questo metodo prevede la modifica del file.htaccess , che è un potente file di configurazione utilizzato dai server web Apache.Aggiungendo una regola specifica a questo file, puoi bloccare l'accesso al file xmlrpc.php, impedendo così a potenziali aggressori di sfruttarlo.

Prima di apportare qualsiasi modifica al file .htaccess, è fondamentale creare un backup. Ciò garantisce di poter ripristinare rapidamente lo stato originale se qualcosa va storto.

Istruzioni passo passo

  1. Connettiti al server del tuo sito web tramite un client FTP o il file manager del tuo host web.
  2. Passa alla directory principale della tua installazione WordPress.
  3. All'interno della directory root, trova il file.htaccess .Questo file potrebbe essere nascosto, quindi assicurati che il tuo file manager sia impostato per mostrare i file nascosti.
  4. Fare clic con il tasto destro sul file.htaccess e selezionare l' opzione di modifica. Se utilizzi un client FTP, potrebbe essere necessario scaricare il file per modificarlo localmente e quindi caricarlo nuovamente dopo aver apportato le modifiche.
  5. Alla fine del file, aggiungi le seguenti righe per disabilitarexmlrpc.php :
  6.  <File "xmlrpc.php">
    
    Richiedi tutto negato
    
    </File>
  7. Salva le modifiche e, se modifichi localmente, carica nuovamente il file .htaccess modificato nella directory principale del tuo sito WordPress.

Questo approccio manuale blocca efficacemente l'accesso al file xmlrpc.php , proteggendo così il tuo sito WordPress dalle relative vulnerabilità.

Parla con il tuo fornitore di hosting

Alcuni servizi di hosting, riconoscendo le vulnerabilità di sicurezza associate a xmlrpc.php, potrebbero disabilitare automaticamente l'accesso a questo file in condizioni di minaccia. Questo intervento automatico è progettato per proteggere i siti Web ospitati sui loro server dal diventare vittime di forza bruta o attacchi DDoS facilitati tramite xmlrpc.php.

Quando un provider di hosting disabilita xmlrpc.php, qualsiasi richiesta a questo file risulterà in un errore 403 Forbidden .Questa risposta è il modo in cui il server comunica al client che ha compreso la richiesta ma rifiuta di autorizzarla. Nel contesto della sicurezza, è un metodo efficace per fermare gli attacchi in corso negando l'accesso alla risorsa presa di mira.

Prima di implementare qualsiasi modifica per disabilitarexmlrpc.php , è consigliabile consultare il proprio provider di hosting.Potrebbero già disporre di misure di sicurezza o offrire consigli su misura per il loro ambiente di hosting. Inoltre, comprendere le politiche e le capacità del tuo provider di hosting può guidarti nella scelta del metodo più efficace e compatibile per proteggere il tuo sito.

Quando abilitare xmlrpc.php sul tuo sito WordPress

Sebbene il consiglio generale per i moderni siti WordPress sia quello di disabilitarexmlrpc.php per motivi di sicurezza, ci sono scenari specifici in cui abilitarlo potrebbe essere necessario o essere l'unica opzione disponibile.

Mancanza di utilizzo dell'API REST

Il tuo sito WordPress non utilizza l'API REST, ma è necessario comunicare con altri sistemi o applicazioni. Ciò potrebbe essere dovuto ai requisiti specifici di quei sistemi o applicazioni che sono compatibili solo con XML-RPC.

In questi casi, xmlrpc.php funge da ponte per la comunicazione remota, abilitando funzionalità come la pubblicazione remota o l'integrazione con strumenti esterni di gestione dei contenuti.

Impossibilità di aggiornare WordPress

Stai utilizzando una versione di WordPress precedente alla 4.4, che non include la funzionalità API REST. Ciò potrebbe essere dovuto a restrizioni imposte dal tuo ambiente di hosting o incompatibilità con il tema o i plugin attuali.

Se l'aggiornamento di WordPress non è fattibile a causa di queste limitazioni, xmlrpc.php rimane un componente fondamentale per le interazioni remote. Tuttavia, è consigliabile affrontare la causa principale, che si tratti di cambiare il provider di hosting o aggiornare temi o plugin incompatibili, per proteggere e modernizzare il tuo sito.

Compatibilità con applicazioni esterne

Il tuo sito deve funzionare con un'applicazione esterna priva di supporto per l'API REST WP ma compatibile con XML-RPC. Questa situazione è sempre più rara ma può verificarsi in sistemi legacy o software specializzati.

Sebbene ci si affidi temporaneamente a xmlrpc.php per tali integrazioni, la pianificazione della migrazione a lungo termine verso applicazioni compatibili con l'API REST è fondamentale.Ciò garantisce che il tuo sito sia a prova di futuro e mantenga la compatibilità con gli standard web e le pratiche di sicurezza più recenti.

Suggerimenti

  • La transizione all'API REST per comunicazioni e integrazioni remote offre maggiore flessibilità, sicurezza e compatibilità con gli ecosistemi web contemporanei.
  • Dai la priorità al mantenimento aggiornato di WordPress e di tutti i temi e plugin associati. Ciò non solo garantisce l'accesso alle funzionalità più recenti e ai miglioramenti della sicurezza, ma riduce anche la necessità di soluzioni legacy come XML-RPC.
  • Se ti trovi in ​​una situazione che richiede l'uso di xmlrpc.php , la consulenza con professionisti dello sviluppo web e della sicurezza può fornire alternative o mitigare i potenziali rischi.

Pensieri conclusivi

Nel nostro blog abbiamo esaminato cos'è xmlrpc.php e come viene utilizzato sia dai proprietari di siti Web che dagli hacker. Abbiamo anche trattato l'importanza di disabilitare xmlrpc.php in WordPress per motivi di sicurezza, riconoscendo anche le eccezioni in cui il suo utilizzo potrebbe essere necessario. Abbiamo approfondito le modalità di disattivazione tramite plugin, codice personalizzato e modifiche al .htaccess, sottolineando il ruolo degli hosting provider. Inoltre, abbiamo riconosciuto scenari che richiedono xmlrpc.php a causa di sistemi legacy o dell'assenza di supporto API REST. Il consiglio generale tende a disabilitare xmlrpc.php per rafforzare la sicurezza, sostenendo gli aggiornamenti e l'adozione di metodi di integrazione moderni tramite l'API REST.

Accelera la creazione del tuo sito Web WordPress con l'intelligenza artificiale

Crea un sito Web WordPress personalizzato su misura per le tue esigenze aziendali 10 volte più velocemente con 10Web AI Website Builder.

Genera il tuo sito web
Nessuna carta di credito richiesta