Come disabilitare XML-RPC in WordPress

Ehi, amici di WordPress! Siete mai stati svegliati nel cuore della notte da strane attività sul vostro sito? Magari da un’orda di tentativi di login o da un traffico inusuale verso un file chiamato xmlrpc.php? Non preoccupatevi, non siete soli! Molti di noi hanno vissuto questa esperienza e oggi vi guiderò attraverso il labirinto di XML-RPC per mostrarvi come disabilitarlo, proteggendo il vostro prezioso sito da potenziali attacchi e falle di sicurezza.

Questo articolo è per voi se:

  • Vi siete chiesti cosa sia questo fantomatico xmlrpc.php.
  • Volete proteggere al meglio il vostro sito WordPress.
  • Desiderate capire come bloccare gli attacchi brute-force.
  • Siete stanchi di vedere i log pieni di tentativi di accesso a xmlrpc.

Preparatevi, perché oggi andremo a fondo nella questione, con spiegazioni semplici, esempi pratici e un pizzico di umorismo, perché la sicurezza del nostro sito non deve essere una noia!

Cos’è XML-RPC e perché è una potenziale minaccia

Ok, partiamo dalle basi. XML-RPC è un protocollo che permette a diverse applicazioni di comunicare tra loro attraverso internet. In pratica, è come un interprete che aiuta WordPress a “parlare” con altre piattaforme, come app mobile o servizi esterni. Questo sistema, in passato, era molto utile per pubblicare articoli dal telefono o per gestire il blog da altri software. Ma, come spesso accade, il progresso porta con sé nuove sfide. Oggi, l’API REST ha preso il posto di XML-RPC, offrendo maggiore flessibilità e sicurezza. Tuttavia, il file xmlrpc.php è ancora presente nel core di WordPress, per ragioni di retrocompatibilità, e questo lo rende una porta aperta per i malintenzionati.

La “debolezza” di XML-RPC è data principalmente da due cose:

  • Attacchi Brute Force: Gli hacker possono sfruttare xmlrpc.php per tentare accessi al sito con migliaia di combinazioni di username e password in un colpo solo. Immaginate un ladro che prova tutte le chiavi di un mazzo per aprire la vostra porta, ma in modo automatico e velocissimo!
  • Attacchi DDoS tramite Pingback: Utilizzando il meccanismo dei pingback, gli aggressori possono indirizzare una valanga di richieste verso il vostro server, sovraccaricandolo e mandandolo in tilt. È come se un’orda di persone bussasse alla vostra porta contemporaneamente.

E qui arriva il bello: a meno che non abbiate specifiche ragioni per tenere attivo XML-RPC (come per qualche app o servizio obsoleto), è meglio disabilitarlo e chiudere questa “breccia” nella sicurezza del vostro sito.

Come disabilitare XML-RPC: tre approcci per tutti

Ora che abbiamo capito il problema, vediamo le soluzioni. Ci sono diversi modi per disabilitare XML-RPC, ognuno con i suoi pro e contro. Ecco tre approcci che potete adottare, a seconda delle vostre esigenze e preferenze:

Crea il tuo sito in 9 minuti

La nostra guida completa per creare il tuo sito WordPress dalla A alla Z in 9 minuti senza essere un esperto.

➤ Vai alla guida

1. Disabilitare XML-RPC tramite il file .htaccess (Metodo avanzato)

Questo metodo è il più efficace dal punto di vista delle performance. Agisce a livello del server, bloccando le richieste a xmlrpc.php prima che queste arrivino a WordPress. È un po’ come mettere una guardia all’ingresso del vostro sito. Ecco cosa dovete fare:

  1. Accedete al vostro server tramite cPanel, FTP o il file manager del vostro hosting.
  2. Individuate il file .htaccess nella directory principale del vostro sito. Se non lo vedete, cercate l’opzione per visualizzare i file nascosti.
  3. Aprite il file con un editor di testo e aggiungete questo codice all’inizio:
    
    # Block WordPress xmlrpc.php requests
    
    order deny,allow
    deny from all
    allow from xxx.xxx.xxx.xxx
    
    
    

    Importante: La riga allow from xxx.xxx.xxx.xxx permette l’accesso a specifici IP. Potete rimuoverla se volete bloccare l’accesso a tutti o modificarla con l’indirizzo IP del vostro server, del vostro ufficio, o di chi ha necessità di usare XML-RPC.

    Consiglio da esperto: Fate sempre un backup del file .htaccess prima di modificarlo. Un piccolo errore può causare problemi al vostro sito.

  4. Salvate il file e… voilà! XML-RPC è bloccato.

2. Disabilitare XML-RPC tramite snippet di codice (Metodo consigliato)

Questo metodo è un po’ più “morbido” del precedente e lo consiglio soprattutto a chi non ha molta dimestichezza con i file di configurazione del server. Ecco come fare:

  1. Create un nuovo plugin, oppure usate un plugin di gestione snippet di codice come WPCode (precedentemente noto come Insert Headers and Footers).
  2. Aggiungete questo codice PHP:
    
    add_filter( 'xmlrpc_enabled', '__return_false' );
    
    
  3. Salvate e attivate il plugin o lo snippet.

Aneddoto da esperto: All’inizio anch’io preferivo modificare il file functions.php del tema, ma poi ho imparato che è meglio creare un plugin dedicato o usare uno snippet. In questo modo le modifiche non si perdono con gli aggiornamenti del tema.

3. Disabilitare XML-RPC con un plugin (Metodo facile)

Se i codici non fanno per voi, tranquilli! C’è sempre un plugin che può salvarvi la vita. Il plugin più utilizzato per questo scopo è Disable XML-RPC API, che svolge questo lavoro in modo semplice ed efficace. Ecco i passi:

  1. Andate nella sezione “Plugin” del vostro pannello di controllo WordPress.
  2. Cercate “Disable XML-RPC API” e installatelo.
  3. Attivatelo e… il gioco è fatto! XML-RPC è disattivato in modo automatico.

Attenzione! Se utilizzate altri plugin che dipendono da XML-RPC, disabilitarlo completamente potrebbe causare problemi. In questo caso, vi consiglio di utilizzare il metodo 1 o 2, personalizzando le impostazioni in base alle vostre esigenze o di disattivare solo le funzionalità che causano i problemi.

Verificare che XML-RPC sia disabilitato

Dopo aver disabilitato XML-RPC, è buona norma fare una verifica per assicurarsi che tutto funzioni come dovrebbe. Ci sono diversi modi per farlo:

  • Tramite browser: Provate ad accedere all’indirizzo http://vostrosito.it/xmlrpc.php (sostituendo vostrosito.it con il vostro dominio). Se vedete un messaggio di errore “403 Forbidden” o simile, significa che XML-RPC è bloccato.
  • Utilizzando un validatore online: Esistono strumenti online come XML-RPC Validator (http://xmlrpc.eritreo.it/) che possono verificare lo stato di XML-RPC sul vostro sito. Se il test fallisce, significa che è disabilitato.
  • Provando un’app mobile: Se usate l’app di WordPress, provate a effettuare l’accesso. Se vi dice che XML-RPC non è disponibile, allora avete fatto centro!

Quando (e se) tenere abilitato XML-RPC

In realtà, ci sono pochissimi casi in cui è consigliabile tenere attivo XML-RPC. Questi sono:

  • Avete un sito molto vecchio e non potete aggiornare WordPress, quindi la REST API non è disponibile.
  • Utilizzate un’app o un software che dipende da XML-RPC per comunicare con il vostro sito.
  • Avete delle integrazioni con sistemi esterni che usano XML-RPC.

Anche in questi casi, valutate attentamente se ne vale la pena, considerando i rischi per la sicurezza. Se possibile, cercate alternative che utilizzino la REST API, più moderna e sicura.

Conclusione

Congratulazioni! Siete arrivati alla fine di questo viaggio alla scoperta di XML-RPC. Ora sapete cos’è, perché è un rischio e come disabilitarlo in modo semplice ed efficace.

Riassumendo i punti chiave:

  • XML-RPC è un protocollo obsoleto che può essere sfruttato per attacchi brute-force e DDoS.
  • Disabilitarlo è una buona pratica per aumentare la sicurezza del vostro sito WordPress.
  • Potete disabilitarlo tramite .htaccess, uno snippet di codice o un plugin.
  • Verificate sempre che XML-RPC sia effettivamente bloccato.
  • Abilitatelo solo in casi specifici e se ne avete davvero bisogno.

Spero che questo articolo sia stato utile e divertente! Ricordate, la sicurezza del vostro sito è importante, ma non deve essere un incubo. Con un po’ di conoscenza e i giusti strumenti, potrete proteggere il vostro spazio web senza impazzire. E se avete domande o bisogno di aiuto, non esitate a lasciare un commento. Sarò felice di aiutarvi!

Ora tocca a voi: mettete in pratica questi consigli e tenete il vostro sito WordPress al sicuro!

The following two tabs change content below.
Federico Magni
Ciao, sono Federico Magni e mi occupo di WordPress dal 2007. Vorrei offrirti risorse gratuite e consigli pratici per rendere più efficace il tuo sito e ottenere i risultati che ti meriti in termini di visite, vendite e iscritti.

Perché non condividi questo articolo? Grazie!