Perché i plugin obsoleti sono la causa numero uno degli attacchi a WordPress

La maggior parte dei siti WordPress non viene violata con exploit ingegnosi. Viene violata tramite plugin non aggiornati da mesi. Ecco cosa fare al riguardo.

Padlock over code symbolising WordPress plugin security risk

Se chiedi a una qualsiasi agenzia o a un ricercatore di sicurezza cosa causa la maggior parte delle violazioni di WordPress, otterrai sempre la stessa risposta. I plugin. Non il core di WordPress, non il server, non le password rubate. I plugin. Il motivo è semplice. Solo nel repository ufficiale ci sono quasi 60.000 plugin, con migliaia di altri venduti privatamente, e tutti vengono eseguiti con pieno accesso PHP al tuo sito. Quando uno di essi ha una falla di sicurezza e non lo aggiorni, hai una porta nota spalancata sul tuo server.

Questo articolo esamina perché i plugin obsoleti siano un problema così costante, come le vulnerabilità vengano sfruttate nella pratica e cosa puoi fare affinché il tuo sito non finisca tra le statistiche del mese prossimo.

La struttura di una vulnerabilità di un plugin

Ogni plugin che installi aggiunge codice che viene eseguito come parte del tuo sito WordPress. Quel codice può leggere il tuo database, scrivere file sul tuo server, inviare e-mail, chiamare API esterne ed eseguire comandi. Quando il codice è ben scritto, fa tutto questo in modo sicuro. Quando non lo è, fornisce agli aggressori strumenti di cui possono abusare.

Tra le falle comuni dei plugin ci sono il caricamento di file senza autenticazione, dove una funzione pensata per amministratori autenticati è raggiungibile da chiunque su internet. La SQL injection, dove l’input dell’utente viene concatenato in una query al database senza un corretto escaping. Il cross site scripting, dove contenuti controllati dall’aggressore vengono renderizzati come HTML attivo nel browser di un amministratore. L’escalation di privilegi, dove un account di livello iscritto può diventare amministratore. La deserializzazione non sicura, dove strutture dati complesse inviate dall’esterno innescano l’esecuzione di codice.

Ciascuna di queste falle può dare a un aggressore la capacità di installare backdoor, depositare file dannosi, creare account amministratore fraudolenti o spostarsi verso altri siti sullo stesso host. Il plugin non deve essere oscuro. Alcuni dei plugin più sfruttati nella storia di WordPress hanno avuto decine di milioni di installazioni.

Perché la divulgazione è un’arma a doppio taglio

La comunità della sicurezza si regge sulla divulgazione responsabile. Un ricercatore trova una falla, la segnala privatamente all’autore del plugin, l’autore rilascia una versione corretta, e qualche giorno o settimana dopo i dettagli vengono pubblicati in avvisi CVE e bollettini di sicurezza. Questo è sano. È così che l’ecosistema migliora.

La parte malsana è ciò che accade dopo. Gli scanner automatizzati osservano da vicino quegli avvisi. Entro poche ore da una divulgazione pubblica, i bot setacciano il web pubblico identificando i siti WordPress e confrontandoli con l’elenco delle versioni vulnerabili. Se il tuo sito esegue ancora la versione non corretta, verrai trovato, spesso entro il primo giorno.

Ecco perché la finestra tra la divulgazione e l’aggiornamento sul tuo sito conta così tanto. Una routine di aggiornamento settimanale di solito intercetta le cose in tempo. Una trimestrale quasi mai.

Il plugin che nessuno mantiene più

Ancora peggio di un plugin obsoleto è uno abbandonato. Gli autori dei plugin vanno e vengono, e non tutti annunciano quando hanno smesso di mantenere il loro codice. Un plugin che non riceve aggiornamenti da due anni non è più sicuro perché nulla è cambiato. È più pericoloso, perché qualsiasi vulnerabilità trovata da allora non verrà mai corretta.

Il repository di WordPress ora segnala i plugin non aggiornati da molto tempo, ma è prudente nel rimuoverli del tutto. La responsabilità di accorgersene e migrare ricade su di te. Una routine di assistenza mensile dovrebbe includere il controllo della data dell’ultimo aggiornamento di ogni plugin che usi.

Un caso di studio: come un plugin file manager ha messo ko un sito di Sydney

Un recente audit di un cliente raccontava una storia chiara. Il sito, gestito da una piccola agenzia di Sydney, aveva installato un plugin file manager che dava agli amministratori un’interfaccia web per sfogliare e modificare i file del server. Comodo, ma anche un bersaglio storicamente noto. Quella famiglia di plugin ha avuto pubblicate negli anni diverse vulnerabilità critiche di esecuzione di codice da remoto.

Il plugin non era stato tenuto aggiornato. Un aggressore ha sfruttato una falla nota, ottenuto accesso in scrittura alla radice del documento e depositato quindici file dannosi in directory che imitavano i nomi di pagine WordPress reali. Il risultato è stato un attacco di cloaking SEO che serviva spam a Googlebot e ha bruciato il posizionamento del dominio nei motori di ricerca.

La pulizia è stata costosa. La SEO persa lo è stata ancora di più. Una routine di aggiornamento mensile avrebbe individuato il plugin vulnerabile e indotto o una patch immediata o la rimozione totale del plugin. L’intera correzione sarebbe stata un lavoro di quindici minuti durante la manutenzione ordinaria.

Perché le persone non aggiornano i plugin

Le ragioni che le persone adducono per non aggiornare i plugin rientrano in pochi schemi familiari. Vale la pena conoscerle, perché ciascuna ha una risposta migliore.

Alcuni proprietari temono che gli aggiornamenti rompano il sito. La risposta è testare prima in staging, fare un backup e aggiornare in modo controllato. Non quella di non aggiornare mai.

Alcuni proprietari non controllano spesso il proprio sito. La risposta è impostare avvisi via e-mail quando sono disponibili aggiornamenti, o mettere il sito in un piano di assistenza dove qualcun altro controlla.

Alcuni proprietari usano un plugin fortemente personalizzato e temono che un aggiornamento sovrascriva le loro modifiche. La risposta è non modificare mai direttamente i file del plugin. Usa gli hook e i filtri del plugin da un tema child o da un plugin personalizzato, così gli aggiornamenti smettono di rompere le tue personalizzazioni.

Alcuni proprietari non sanno che il plugin esiste. Hanno ereditato il sito, o un freelance ha installato qualcosa anni fa senza mai dirlo. La risposta è un audit. Apri la pagina dei plugin e guarda. Se non sai cosa fa qualcosa, scoprilo o rimuovilo.

Com’è una routine sicura di aggiornamento dei plugin

La routine di base è la stessa su ogni sito che gestiamo. Fai un backup completo, database e file inclusi. Applica gli aggiornamenti in staging se la modifica sembra rischiosa. Aggiorna i plugin a lotti, non tutti insieme, così se qualcosa si rompe sai quale plugin l’ha causato. Testa rapidamente il sito subito dopo, visitando almeno la home page, una landing chiave, il checkout se presente e l’area di amministrazione. Documenta qualsiasi plugin che causa problemi in modo ricorrente e valuta di sostituirlo.

Per i plugin premium, mantieni la licenza attiva. Una licenza scaduta significa nessun aggiornamento, nessuna patch di sicurezza e nessuna assistenza. Il canone annuale di licenza è quasi sempre inferiore al costo di un singolo ripristino dopo una violazione.

Ridurre il numero di plugin che usi

La mossa di sicurezza più sottovalutata è semplicemente avere meno plugin. Ogni plugin è più superficie d’attacco. Ogni plugin è un altro fornitore dal cui calendario di aggiornamenti dipendi. Molti siti WordPress che esaminiamo hanno 25 o 30 plugin attivi, e almeno un terzo di essi fa cose che o non sono più usate o potrebbero essere accorpate.

Scorri l’elenco. Se non ricordi perché hai installato qualcosa, probabilmente non ti serve. Se due plugin si sovrappongono nella funzione, consolidali. La più piccola impronta di plugin che fornisce ciò di cui hai davvero bisogno è la più sicura.

In sintesi

I plugin sono la parte più potente e più pericolosa di WordPress. Ti offrono le funzionalità che rendono attraente la piattaforma, e offrono agli aggressori le porte che rendono i siti WordPress un bersaglio così comune. La soluzione non è evitare i plugin, è gestirli. Tienili aggiornati. Tienili snelli. Accorgiti quando uno viene abbandonato e migra altrove. Tratta il tuo elenco di plugin come un budget, non come un cassetto del disordine.

Hai bisogno di aiuto?

Se vuoi che Defyn esamini i plugin del tuo sito WordPress e ti dica quali sono a rischio, quali possono essere rimossi e quali vanno sostituiti, mettiti in contatto. Un audit mirato dei plugin è una delle cose a più alto impatto che puoi fare per la sicurezza del tuo sito.

Avatar Claire Smith
Sponsored Loved this story? Defyn turns articles like this into the websites your competitors wish they had. Talk to us → defyn.com.au