Come faccio un controllo di sicurezza su ciò che espone il mio sito WordPress?
Di Eureka Studio · Aggiornato il
In breve
Metti alla prova il sito dall'esterno con richieste reali, da disconnesso: apri /wp-login.php, /xmlrpc.php, /wp-json/wp/v2/users, /?author=1 e /wp-sitemap-users-1.xml. Ognuna mostra se una porta di login è aperta o se trapela un nome utente. Puoi eseguirle con un browser o con curl, oppure lasciare che un plugin di scansione le esegua e ti dica cosa trova.
Passaggi
1Passaggio 1
Apri una finestra privata o un terminale
Fai il test da estraneo, non da te stesso. Le richieste da utente connesso vedono più di quanto veda il pubblico, quindi controlla sempre da disconnesso.
Cinque richieste che farebbe un bot curl -sI https://yoursite.com/wp-login.phpcurl -s https://yoursite.com/xmlrpc.phpcurl -s https://yoursite.com/wp-json/wp/v2/userscurl -sI https://yoursite.com/?author=1curl -sI https://yoursite.com/wp-sitemap-users-1.xml2Passaggio 2
Controlla le porte di login
Se wp-login.php mostra un modulo di login, il login predefinito è pubblico. Se xmlrpc.php risponde "accepts POST requests only", è aperta anche una seconda porta di login.
3Passaggio 3
Controlla se trapelano nomi utente
Un elenco JSON da /wp/v2/users, un reindirizzamento da ?author=1 a /author/nome/ o una sitemap degli utenti rivelano tutti i nomi di login.
4Passaggio 4
Esegui la Scansione della superficie per il quadro completo
In Hushfort, apri la Panoramica e premi Esegui di nuovo la scansione sotto Scansione della superficie. Invia richieste reali al tuo sito e indica per nome ogni nome utente che trova.

5Passaggio 5
Chiudi ciò che hai trovato, poi esegui di nuovo la scansione
Attiva l'Hardening della superficie e premi Esegui di nuovo la scansione. Le porte che erano rosse ora mostrano una spunta verde; ciò che resta è segnato come Attenzione, con una correzione suggerita.

Perché è importante
Un controllo di sicurezza WordPress utile parte da fuori: cinque richieste reali, da disconnesso, mostrano cosa vede davvero un bot. Quasi tutti i consigli di sicurezza riguardano interruttori: attiva questo, disattiva quello. Ma un interruttore ti dice cosa hai chiesto, non cosa è successo. Un livello di cache potrebbe servire una vecchia risposta. Una regola della CDN potrebbe bloccare un file prima ancora che WordPress veda la richiesta. Un plugin potrebbe riaprire qualcosa che un altro aveva chiuso. L'unica risposta onesta a "cosa espone il mio sito?" è chiederlo come farebbe un estraneo.
La buona notizia: l'elenco delle cose da controllare sul fronte login è breve. I bot cercano la stessa manciata di indirizzi su ogni sito WordPress:
| Indirizzo | Cosa rivela quando è aperto |
|---|---|
/wp-login.php, /wp-admin |
Il modulo di login predefinito |
/xmlrpc.php |
Una seconda porta di login, con tentativi in massa tramite system.multicall |
/wp-json/wp/v2/users |
Un elenco di autori e dei loro slug di login |
/?author=1 |
Un reindirizzamento a /author/nome-di-login/ |
/wp-sitemap-users-1.xml |
Gli URL degli archivi autore, che contengono gli slug di login |
Nessuno di questi è un disastro da solo. Insieme, consegnano a un bot un elenco di nomi e due porte su cui provarli. Sapere quali sono aperti ti permette di chiuderli nell'ordine giusto: prima le porte, poi i nomi.
Errori comuni
- Fare il test da connesso. WordPress mostra di più agli utenti connessi. Usa una finestra privata o
curl. - Testare la pagina in cache. Se hai appena cambiato un'impostazione, svuota prima la cache delle pagine e della CDN, altrimenti vedrai la vecchia risposta.
- Fermarsi alla prima luce verde. Chiudere il modulo di login lasciando aperto XML-RPC è la mezza soluzione più comune che vediamo.
- Aspettarsi un audit di sicurezza completo. Questi controlli riguardano le vie d'accesso. Non dicono nulla su malware, modifiche ai file o plugin non aggiornati.
Senza plugin
I cinque comandi curl del passaggio 1 sono il metodo manuale, e vale la pena conoscerli. Leggi i
risultati così:
HTTP/2 200suwp-login.php: il login predefinito è pubblico.404: è nascosto.XML-RPC server accepts POST requests only.daxmlrpc.php: l'endpoint è attivo. Per sapere se il login viene accettato, dovresti inviare una chiamatawp.getUsersBlogscon un account di prova.- Un array JSON da
/wp/v2/userscon campi"slug": i nomi utente sono pubblici.401o un array vuoto: chiuso. Location: /author/nome/da?author=1: una fuga. Ripeti con 2, 3 e così via per vedere quanti utenti potrebbe raccogliere un bot.200sulla sitemap degli utenti: gli URL degli autori sono elencati.
Lo svantaggio è il tempo e l'interpretazione. Devi ripetere tutto dopo ogni modifica, e testare correttamente il login via XML-RPC significa scrivere XML a mano.
Se qualcosa va storto
- La scansione dice "aperto" ma l'hai disattivato. Svuota la cache delle pagine e della CDN e ripeti la scansione. Se è ancora aperto, un altro plugin o una regola del server potrebbe sovrascrivere l'impostazione.
- La scansione non riesce a raggiungere il sito. Alcuni hosting impediscono a un sito di inviare richieste a se stesso
(loopback). Chiedi al tuo hosting di consentire le richieste di loopback, oppure usa il metodo
curldall'esterno. - Un nome utente trapela ancora dopo l'hardening. Controlla il box autore del tuo tema e la sitemap degli autori di eventuali plugin SEO. Cambia il nome visualizzato dell'autore se il tema lo stampa.
Con Hushfort
La Scansione della superficie è inclusa in Hushfort Security, il plugin di sicurezza gratuito per WordPress.
La Scansione della superficie si trova nel pannello Hardening della superficie di Hushfort. Misura ciò che il tuo sito espone davvero con richieste reali, proprio come il metodo manuale, ed elenca per nome i nomi utente che trova. Ogni risultato corrisponde a un livello di Hushfort che lo chiude:
- Login via XML-RPC → Blocco backdoor (Pro)
- Elenco utenti REST, scansioni autori, sitemap → Scudo nomi utente (Pro)
- Login predefinito → Nascondi login (gratuito)
Abbiamo creato la Scansione della superficie dopo che un negozio continuava a ricevere tentativi di password tramite XML-RPC nonostante la sua pagina di login fosse nascosta. L'impostazione sembrava a posto; solo una richiesta reale ha mostrato la porta aperta.
Domande frequenti
È legale scansionare il proprio sito WordPress?
Perché fare test con richieste reali invece di leggere le impostazioni?
Questo controllo trova malware o plugin vulnerabili?
Ogni quanto dovrei fare il controllo?
Guide correlate
Come blocco l'enumerazione degli utenti e nascondo i nomi utente in WordPress?
WordPress rivela i nomi utente in quattro punti. Blocca l'enumerazione degli utenti: elenco REST, scansioni ?author=N, archivi autore e sitemap utenti.
Leggi i passaggiCos'è xmlrpc.php e come disabilito XML-RPC in WordPress?
xmlrpc.php è una seconda porta di login che nascondere wp-login.php non chiude. Come disabilitare XML-RPC, tenere i pingback e verificare il risultato.
Leggi i passaggiCome cambio l'URL di login (accesso) di WordPress?
Cambia l'URL di login di WordPress e nascondi wp-admin in cinque passaggi sicuri. Prova il nuovo URL prima di uscire e scopri come rientrare se lo scordi.
Leggi i passaggi

