Come disabilitare xmlrpc.php in WordPress
Il file
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.xmlrpc.php
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
o.htaccess
f
unctions.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
è una mossa intelligente per proteggere il vostro sito WordPress se non avete bisogno delle sue funzioni di accesso remoto. Utilizzando plugin, xmlrpc.php
, regole Nginx o .htaccess
, 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à.functions.php