Come disabilitare xmlrpc.php in WordPress

Il file xmlrpc.php di WordPress può rappresentare un rischio per la sicurezza se non è necessario, ma è gestibile con il giusto approccio. Questa guida spiega il suo scopo, perché è un problema e come disabilitarlo per proteggere il vostro sito mantenendo le prestazioni. Con esempi pratici e suggerimenti, imparerete a proteggere efficacemente il vostro sito WordPress.

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 la limitazione della velocità.

Ulteriori suggerimenti

  • Eseguire prima il backup: Eseguire sempre il backup del sito prima di modificare file come .htaccess o functions.php

  • Test della funzionalità: Dopo la disattivazione, testare funzionalità come Jetpack o la pubblicazione mobile per evitare interruzioni

  • Monitorare gli attacchi: Utilizzate plugin come Wordfence per monitorare i tentativi di accesso falliti mirati a xmlrpc.php

  • Alternativa API REST: Migrare all’API REST di WordPress per integrazioni moderne, riducendo la dipendenza da xmlrpc.php

Conclusione

Disattivare xmlrpc.php è una mossa intelligente per proteggere il vostro sito WordPress se non avete bisogno delle sue funzioni di accesso remoto. Utilizzando plugin, .htaccess, regole Nginx o functions.php, potete bloccare le vulnerabilità mantenendo il vostro sito veloce e affidabile. Gli esempi e i suggerimenti forniti assicurano che possiate implementare e testare queste modifiche con sicurezza, migliorando la sicurezza senza sacrificare la funzionalità.