Instalar un plugin de seguridad y dar por hecho que ya estás protegido es el error más repetido en WordPress. Un plugin vigila; una auditoría comprueba. Son cosas distintas, y solo la segunda te dice dónde estás realmente expuesto.
La buena noticia es que una auditoría de seguridad, que hace unos años exigía leer decenas de páginas de documentación, hoy se puede hacer con la inteligencia artificial como copiloto en una tarde. La mala es que hay una parte que la IA no debe decidir por ti, y conviene tenerla clara desde el principio.
Qué aporta la IA en una auditoría de seguridad (y qué no)
Conviene ser honesto antes de empezar, porque hay mucha promesa inflada sobre esto.
La IA es muy buena en:
- Leer un listado largo de plugins con sus versiones y decirte cuáles llevan años sin actualizarse.
- Traducir un aviso técnico de vulnerabilidad a un lenguaje que entiendas.
- Revisar un fichero de configuración y señalar líneas sospechosas.
- Priorizar: ordenar veinte hallazgos por riesgo real en lugar de dejarte una lista plana.
- Redactar el informe final para que puedas pasárselo a un cliente o a tu equipo.
La IA no debe hacer:
- Decidir si una vulnerabilidad te afecta. Eso se comprueba contra la base de datos oficial, no se pregunta.
- Confirmar que una web está limpia. Un modelo puede afirmarlo con toda seguridad y estar equivocado.
- Ejecutar cambios en producción. La IA propone, tú aplicas, y siempre con copia de seguridad delante.
Con esa frontera clara, vamos al procedimiento.
Paso 1: levanta el inventario
No puedes auditar lo que no sabes que tienes. El primer paso es una lista completa de lo que corre en tu WordPress: versión del núcleo, tema activo, tema padre si usas uno hijo, todos los plugins (activos e inactivos) con su número de versión, y la versión de PHP.
El detalle que casi todo el mundo pasa por alto: los plugins desactivados también son código presente en el servidor. Un plugin desactivado con una vulnerabilidad conocida sigue siendo un fichero al que se puede llegar por URL. Si no lo usas, no lo desactives: bórralo.
Para sacar el listado sin instalar nada, ve a Plugins > Plugins instalados, selecciona todo el texto de la tabla y pégalo en un documento. En Strumenti > Salute del sito > Informazioni tienes la versión de PHP, la del servidor y la de la base de datos, todo junto y copiable con un botón.
Si mantienes varias webs, este inventario merece vivir en una hoja de cálculo y actualizarse cada trimestre. Es la base de todo lo demás.
Paso 2: contrasta contra vulnerabilidades conocidas
Aquí está el paso que más gente se salta y el que más problemas evita.
Existen bases de datos públicas que registran las vulnerabilidades publicadas de plugins y temas de WordPress. Las dos de referencia son WPScan y Patchstack. Ambas tienen buscador web gratuito: introduces el nombre del plugin y te dice si hay vulnerabilidades registradas y en qué versiones.
El procedimiento correcto es este:
- Coge tu inventario del paso 1.
- Pide a la IA que te ordene la lista por antigüedad de la última actualización, marcando los que lleven más de un año sin tocarse.
- Busca uno por uno en WPScan o Patchstack los que la IA haya marcado.
- Anota: nombre, versión que tienes, versión corregida, gravedad.
Fíjate en el orden. La IA acota el trabajo —te dice qué mirar primero— pero la comprobación la haces tú contra la fuente oficial. Preguntarle directamente a un modelo «¿tiene vulnerabilidades el plugin X versión 2.1?» es una mala idea: los datos de vulnerabilidades cambian cada semana y el modelo puede responder con confianza sobre algo que no sabe.
Si un plugin tiene una vulnerabilidad sin parche disponible, la decisión no es técnica sino de negocio: buscar alternativa, o asumir el riesgo documentándolo. En nuestra guía sobre cómo actualizar plugins de WordPress de forma segura explicamos cómo aplicar estas actualizaciones sin romper la web por el camino.
Paso 3: revisa usuarios y accesos
La vía de entrada más común no es una vulnerabilidad exótica: es una cuenta que no debería existir o una contraseña débil.
En Usuarios, revisa:
- Cuántos administradores hay. Deberían ser los mínimos imprescindibles. Cada administrador es una llave maestra.
- Cuentas de gente que ya no está: la agencia anterior, el becario del verano pasado, el desarrollador de aquel encargo puntual.
- Cuentas con nombre genérico como «admin», «wordpress» o «test».
- Fecha del último acceso, si tu plugin de seguridad la registra. Una cuenta de administrador que nadie usa desde hace ocho meses es un riesgo sin contrapartida.
Y sobre las contraseñas: no reutilices ninguna, y que sean largas. Puedes crear una en dos segundos con nuestro generador de contraseñas seguras, que funciona en tu propio navegador sin enviar nada a ningún servidor.
Activa además la verificación en dos pasos para todas las cuentas de administrador. Es la medida que mejor relación esfuerzo-protección tiene de toda esta lista.
Paso 4: comprueba la integridad de los ficheros
WordPress publica las sumas de verificación de todos los ficheros de cada versión del núcleo. Eso permite detectar si alguno ha sido modificado.
Los plugins de seguridad serios incluyen esta comprobación. En Wordfence está en Scan, y compara tus ficheros del núcleo, temas y plugins del repositorio oficial contra los originales. Si aparece un fichero modificado que tú no has tocado, ahí tienes algo que investigar.
Dos avisos importantes sobre los resultados:
- Los falsos positivos existen. Un tema hijo, un snippet propio o una personalización legítima aparecerán como «modificado». Eso no es un ataque.
- Que no salga nada no significa que estés limpio. Un fichero malicioso nuevo en una carpeta de subidas no aparece como «modificado» porque no había original con el que compararlo.
Aquí la IA sí ayuda de verdad: pégale el contenido de un fichero sospechoso y pídele que te explique qué hace. Es especialmente buena detectando código ofuscado —esas líneas larguísimas llenas de base64_decode y eval que no tienen ninguna razón legítima para estar en un tema. Si ya tienes indicios de que la web está comprometida, nuestra guía de limpieza de un WordPress bajo ataque cubre el proceso completo de desinfección, que es un trabajo distinto de esta auditoría.
Paso 5: audita la configuración
Esta es la parte donde la IA rinde mejor, porque se trata de leer configuración y detectar desviaciones.
Revisa estos puntos:
- Edición de ficheros desde el escritorio. Si un atacante entra con una cuenta de administrador, el editor de temas le da ejecución de código directa. Se desactiva con
define('DISALLOW_FILE_EDIT', true);enwp-config.php. - Depuración en producción.
WP_DEBUGdeve essere afalsesu un sito web in produzione. Se è attivo, i messaggi di errore possono rivelare percorsi del server. - Permessi dei file. L'abituale è 644 per i file e 755 per le cartelle. Nulla dovrebbe essere a 777.
- XML-RPC. Se non usi l'applicazione mobile di WordPress né Jetpack, probabilmente non ne hai bisogno, ed è un obiettivo abituale di attacchi di forza bruta.
- Elenco di directory. Entra en
tudominio.com/wp-content/uploads/. Se vedi un elenco di cartelle invece di un errore, hai l'elenco di directory attivo ed è opportuno disattivarlo. - Versione di PHP. Una versione senza supporto non riceve patch di sicurezza. Abbiamo una guida su come aggiornare PHP in WordPress senza prendere spaventi.
Un prompt che funziona bene per questa fase, incollando sotto il tuo wp-config.php con le credenziali del database e le chiavi di sicurezza cancellate:
«Sei un auditor di sicurezza di WordPress. Ti passo un wp-config.php con i dati sensibili già eliminati. Rivedi la configurazione e dimmi: quali costanti di sicurezza raccomandate mancano, quali impostazioni sono inadeguate per un ambiente di produzione, e cosa trovi che non sia standard di un'installazione normale. Ordina i risultati per rischio, dal maggiore al minore, e per ognuno spiega la conseguenza concreta se viene sfruttato. Non inventare: se qualcosa non puoi determinarlo con ciò che ti ho dato, dillo.»
Quell'ultima frase è importante. Chiedere esplicitamente che riconosca ciò che non sa riduce molto le risposte inventate.
Passo 6: revisiona le intestazioni di sicurezza
Le intestazioni HTTP sono istruzioni che il tuo server invia al browser del visitatore. Ben impostate, chiudono intere famiglie di attacchi.
Controlla le tue in un analizzatore gratuito come securityheaders.com: inserisci il tuo dominio e ti dà un voto con ciò che manca. Quelle che contano di più sono Strict-Transport-Security, che obbliga a usare HTTPS sempre; X-Content-Type-Options, che impedisce al browser di indovinare i tipi di file; e Content-Security-Policy, la più potente e anche la più facile da configurare male.
Su quest'ultima, un consiglio pratico: una CSP scritta male rompe il sito web, e di solito rompe proprio ciò che genera denaro (il modulo, il gateway di pagamento, la chat). Se la implementi, fallo prima in modalità solo-report per alcuni giorni per vedere cosa bloccherebbe prima di applicarla davvero.
Passo 7: trasforma i risultati in un piano
Un audit che termina con un elenco di venti cose sparse non serve a nulla, perché nessuno sa da dove iniziare. Qui è dove l'IA chiude il cerchio.
Passagli tutti i tuoi risultati e chiedigli di organizzarli così:
«Ti passo i risultati di un audit di sicurezza di WordPress. Organizzali in una tabella con queste colonne: risultato, rischio (alto/medio/basso), sforzo di correzione (minuti/ore/giorni) e ordine di esecuzione raccomandato. Dai priorità in base al rischio diviso per lo sforzo, in modo che la prima cosa sia ciò che protegge di più con meno lavoro. Aggiungi una colonna finale indicando se il cambiamento può rompere il sito web e deve essere fatto in un ambiente di test.»
Quell'ultima colonna è quella che ti risparmia il dispiacere. Ci sono correzioni che applichi a caldo senza paura, e altre —modificare i permessi, cambiare la versione di PHP, inserire una CSP— che vengono testate prima in un ambiente di prova.
I limiti: quando questo non basta
Tutto quanto sopra è un audit di configurazione e superficie di attacco. Copre la stragrande maggioranza dei casi reali, perché la stragrande maggioranza dei WordPress compromessi lo sono a causa di un plugin obsoleto o di una password debole, non per un attacco sofisticato.
Ci sono situazioni in cui questo non è sufficiente ed è opportuno che lo esamini una persona:
- Ci sono già indizi di compromissione: reindirizzamenti strani, spam nei risultati di Google, avvisi del browser. Questo non è più un audit, è una risposta a un incidente, e l'ordine dei compiti è completamente diverso.
- Il sito web gestisce pagamenti o dati personali sensibili. Qui entrano in gioco obblighi legali che nessuno strumento automatico valuterà per te.
- C'è sviluppo su misura. Un plugin proprietario o un tema fatto a mano hanno il proprio codice, e quel codice nessuno lo ha mai revisionato. Un audit di configurazione non lo copre.
- È un sito web critico per il business. Se un giorno di inattività ti costa più di quanto costa una revisione professionale, il conto torna da sé.
Domande frequenti
Ogni quanto dovrei fare l'audit del mio WordPress?
Una revisione completa come quella di questa guida, due volte all'anno. La verifica delle vulnerabilità del passo 2, ogni mese: è quella che scade più rapidamente, perché nuove vulnerabilità vengono pubblicate ogni settimana. E sempre dopo un grande cambiamento, come l'aggiunta di un plugin importante o il cambio di tema.
Posso passare il mio wp-config.php intero a un'IA?
No senza pulirlo prima. Quel file contiene l'utente e la password del tuo database e le chiavi di sicurezza delle sessioni. Cancella quei valori, sostituiscili con testo generico e allora sì che puoi chiedere la revisione. Lo stesso vale per qualsiasi file di log che possa contenere indirizzi IP o dati utente.
Un plugin di sicurezza sostituisce l'audit?
No, fanno cose diverse. Il plugin è una sorveglianza continua: blocca i tentativi di accesso, filtra il traffico e avvisa dei cambiamenti. L'audit è una revisione puntuale per verificare se la tua configurazione è corretta e il tuo software è aggiornato. Un plugin di sicurezza perfettamente configurato non ti protegge da un plugin con una vulnerabilità nota che non aggiorni da due anni. Se vuoi sfruttare al massimo il tuo, abbiamo una guida su impostazioni poco conosciute di Wordfence.
Cosa faccio se trovo qualcosa di grave?
Prima di toccare qualsiasi cosa, backup completo: file e database. Poi applica la correzione in un ambiente di test se il cambiamento è delicato, e in produzione se è banale (aggiornare un plugin, eliminare un account). Se quello che hai trovato è un file malevolo, non limitarti a cancellarlo: quasi mai vengono da soli, e bisogna scoprire da dove è entrato o riapparirà.
Per finire
L'intelligenza artificiale non fa l'audit per te, ma trasforma un compito da specialista in qualcosa che puoi fare tu con metodo. Ti delimita dove guardare, ti traduce il linguaggio tecnico e ti ordina il risultato in un piano eseguibile.
Ciò che non delega è il criterio: quale rischio ti assumi, cosa verifichi rispetto alla fonte ufficiale e quali modifiche provi prima di applicare. Quella parte è ancora tua, ed è proprio quella che fa la differenza tra un audit vero e proprio e un elenco di raccomandazioni generiche.
Se vuoi continuare qui, nella nostra libreria di strumenti gratuiti hai utilità che funzionano interamente nel tuo browser, senza caricare nulla su nessun server.