Quando si gestisce un sito web WordPress, la sicurezza e le prestazioni sono sempre le priorità principali. Un file che viene spesso citato nelle discussioni su entrambi è xmlrpc.php. In questo articolo spiegheremo cosa fa questo file, perché è considerato un rischio per la sicurezza e come potete disabilitarlo se non è necessario.

Che cos’è xmlrpc.php?

Il file xmlrpc.php è un componente fondamentale di WordPress che consente la comunicazione remota tra il sito WordPress e le applicazioni esterne. Utilizza il protocollo XML-RPC per inviare dati, consentendo funzionalità quali:

  • Pubblicare contenuti in remoto tramite l’app mobile di WordPress o strumenti di blogging esterni

  • Trackback e pingback

  • Jetpack e altre funzionalità dei plugin che si basano sull’accesso remoto

Nelle versioni precedenti di WordPress (prima dell’API REST), xmlrpc.php era essenziale per abilitare le operazioni remote. Tuttavia, l’API REST è diventata l’alternativa moderna e più sicura.

Perché xmlrpc.php è un problema di sicurezza?

Sebbene xmlrpc.php serva a scopi legittimi, è stato spesso sfruttato per attività dannose, soprattutto se non adeguatamente protetto. Le minacce più comuni includono:

  • Attacchi di forza bruta: Gli hacker possono usarlo per provare migliaia di combinazioni nome utente-password in una singola richiesta.

  • Attacchi DDoS: Il file può essere abusato per inviare pingback dal vostro sito ad altri, partecipando ad attacchi distributed denial-of-service.

  • Vulnerabilità nell’esecuzione di codice remoto: Le versioni più vecchie o mal configurate di WordPress potrebbero essere a rischio.

Se non si utilizzano servizi o plugin che si basano su xmlrpc.php, è generalmente una buona idea disabilitarlo.

Come disabilitare xmlrpc.php

1. Utilizzando un plugin

Il modo più semplice per disabilitare xmlrpc.php è con un plugin di sicurezza come:

  • Wordfence Security

  • Disabilitare XML-RPC

  • Sicurezza e firewall WP All In One

Questi plugin consentono di disattivare l’accesso al file con un solo clic.

2. Disabilitazione tramite .htaccess

Se utilizzate un server Apache, potete bloccare l’accesso a xmlrpc.php aggiungendo questa regola al vostro file .htaccess nella directory principale:


Ordine Negare,Consentire
Rifiuta da tutti
 

3. Utilizzo di Nginx

Per i server Nginx, aggiungere quanto segue al file di configurazione:

location = /xmlrpc.php {
negare a tutti;
access_log off;
log_not_found off;
}

4. Disabilitazione tramite functions.php (limitata)

È possibile disabilitare alcuni metodi xmlrpc aggiungendo quanto segue al functions.php del tema:

add_filter('xmlrpc_enabled', '__return_false');

Nota: questo non impedisce l’accesso al file, ma ne disabilita solo la funzionalità.

Quando è necessario tenerlo abilitato?

Potrebbe essere necessario mantenere xmlrpc.php abilitato se:

  • Utilizzate l’applicazione mobile di WordPress per la pubblicazione

  • Vi affidate a Jetpack o ad altri strumenti di pubblicazione remota

  • Il vostro sito web si integra con sistemi o applicazioni legacy che richiedono XML-RPC

In questi casi, assicuratevi di utilizzare misure di sicurezza come l’autenticazione a due fattori, password forti e limitazione della velocità.

Conclusione

Il file xmlrpc.php di WordPress era un tempo un componente critico per abilitare l’accesso remoto, ma oggi è spesso considerato un problema di sicurezza. Se non utilizzate attivamente le funzioni che dipendono da esso, disabilitare xmlrpc.php è un modo semplice ed efficace per rendere più sicuro il vostro sito WordPress. Eseguite sempre un backup del sito prima di apportare qualsiasi modifica e fate dei test dopo la disabilitazione per assicurarvi che nessuna funzionalità venga interrotta.