Best practice per la sicurezza di WordPress

Pubblicato: 2022-03-10

Ci sono molti miti e FUD (paura, incertezza e dubbio) sulla sicurezza di WordPress là fuori. E c'è molto da considerare quando si rafforza un sito Web contro potenziali attacchi. Quindi, come possono le aziende apprendere le migliori pratiche di sicurezza di WordPress che daranno loro la migliore protezione web possibile?

La scorsa settimana, ho ospitato una conversazione webinar per demistificare i problemi di sicurezza di WordPress. Si sono uniti a me per la sessione Ayush Malakar (sviluppatore full-stack e WordPress presso Fresh Consulting) e Sean O'Shaughnessy (responsabile di WordPress VIP Solutions Engineering).

Attraverso quattro domande guida, questi due esperti hanno esplorato le best practice di sicurezza che sviluppatori, amministratori, proprietari di siti e dirigenti dovrebbero tenere a mente. Ricapitoliamo di cosa abbiamo parlato.

Il software open source è sicuro?

Non tutto l'open source è uguale. Ma poiché WordPress è in circolazione da 18 anni e alimenta oltre il 40% dei siti Web del mondo, è chiaro che l'adozione è in crescita. Ma anche con il software open source più popolare al mondo arrivano domande sulle sue vulnerabilità di sicurezza. Non è tutto quel codice, allo scoperto, vulnerabile agli attacchi?

Non necessariamente, dice Ayush: "Dato che abbiamo così tanti occhi che lo guardano, è più sicuro".

Sebbene possa sembrare controintuitivo, il software open source può in realtà essere più sicuro del software proprietario chiuso. Ecco perché.

Più occhi su potenziali minacce

Poiché l'open source opera all'aperto, non c'è nulla da nascondere. Molti sviluppatori nella community lo stanno esaminando e apportando aggiornamenti, ispirando fiducia e fiducia. Se viene rilevata una vulnerabilità, viene riparata il prima possibile, spesso entro un giorno o due.

Test continui del codice e ricompense dei bug

Chiunque può contribuire a WordPress e il codice viene testato dalla comunità di migliaia di contributori principali di WordPress. Poiché il codice viene continuamente testato, è sempre più affidabile.

Inoltre, i programmi di ricompensa dei bug incoraggiano il pubblico a trovare buchi e vulnerabilità, inclusi attacchi di forza bruta, DDoS, phishing e altro ancora.

Aggiornamenti di sicurezza

Quando si verificano aggiornamenti di sicurezza, spetta agli sviluppatori di siti Web garantire che il codice principale sia mantenuto aggiornato e protetto dagli ultimi vettori di attacco. Sono disponibili anche aggiornamenti automatici e gli sviluppatori aziendali dovrebbero considerare se questi sono la scelta giusta per ogni progetto.

Il mio codice è sicuro?

Il core di WordPress è solo uno dei "bucket" di codice che compongono un sito Web WordPress. In cima al software sviluppato dalla community c'è il codice dell'applicazione di un sito Web, il suo tema o front-end e i plug-in.

Sebbene il codice di base di WordPress open source sia sviluppato dalla comunità, anche il codice dell'applicazione scritto o distribuito su singoli siti Web può introdurre vulnerabilità di sicurezza.

È possibile adottare varie misure per garantire che il codice dell'applicazione sia il più protetto possibile contro gli attacchi. Sebbene tu possa prendere decisioni diverse per progetti diversi, a seconda del livello di rischio accettabile, la cosa più importante è essere consapevoli dei potenziali vettori di attacco.

Qui, i nostri esperti di webinar hanno qualche consiglio.

Strumenti per la sicurezza di WordPress

Esistono vari strumenti che gli sviluppatori possono utilizzare per identificare i difetti di sicurezza nel codice proprietario e di terze parti.

"Ogni volta che parliamo di strumenti, dobbiamo capire quali sono i pro e i contro di questi strumenti e come dovremmo utilizzare al meglio gli strumenti a nostro vantaggio?"

— Ayush Malakar, Fresh Consulting

Questi strumenti possono eseguire analisi del codice statico o dinamico. L'analisi statica viene eseguita senza eseguire alcun codice e di solito può rilevare circa l'85% dei difetti nel codice. L'analisi dinamica del codice si basa sullo studio del comportamento del codice durante l'esecuzione e ha la capacità aggiuntiva di individuare problemi di sicurezza causati dall'interazione del codice con altri componenti del sistema come database SQL, server di applicazioni o servizi Web.

È importante valutare i vantaggi degli esseri umani rispetto alle macchine che eseguono questa analisi del codice. L'apprendimento automatico (ML) e l'intelligenza artificiale (AI) possono essere utilizzati come prima linea di difesa per garantire l'identificazione di titoli comuni. Ma c'è anche valore nell'avere uno sguardo umano sul codice in seguito. Ciò garantisce che gli esseri umani possano lavorare su diversi aspetti, come vulnerabilità basata su funzionalità, casi limite, ecc.

Alcuni strumenti consigliati dai nostri esperti:

  • WPScan è uno strumento CLI che gli sviluppatori possono utilizzare per scansionare il proprio codice alla ricerca di falle di sicurezza. Ayush consiglia agli sviluppatori di eseguirlo in un cron job.
  • PHP_CodeSniffer (PHPCS) esamina il codice ed evidenzia problemi che vanno dalla sintassi alle vulnerabilità della sicurezza. Esistono una serie di standard specifici per WordPress. Questo può essere impostato per essere eseguito in una pipeline di integrazione continua (CI) e funziona in tutti i repository VIP di WordPress.
  • Sonar Cloud, utilizzato da Fresh Consulting per l'analisi del codice statico, esegue la scansione del codice PHP e JS alla ricerca di vulnerabilità e un'implementazione più sicura.

“Stiamo facendo la giusta quantità di convalida degli input? Stiamo disinfettando adeguatamente qualsiasi tipo di output che avremo all'interno del nostro codice?"

— Sean O'Shaughnessy, WordPress VIP

Plugin di sicurezza e WordPress

Quando scegli plug-in di terze parti, cerca un plug-in che abbia buone recensioni e valutazioni, un numero elevato di download e flessibilità da utilizzare nel tuo sito web. Assicurati che il plugin sia aggiornato e compatibile con l'ultima versione di WordPress.

Non utilizzare un plug-in che puoi scrivere tu stesso. Soprattutto nei casi in cui è necessaria solo una piccola quantità di codice, scrivi questo codice nel tuo tema invece di usare un plugin. Ciò garantirà che non vengano introdotte vulnerabilità durante l'aggiornamento del plug-in.

“Quello che consiglierei è di scrivere il codice all'interno del tema stesso, perché quello che ho visto in passato sono plugin che fanno un lavoro minimo per fare gli aggiornamenti. Ed è probabile che, con l'evoluzione della tecnologia, quei plugin non lo facciano. Il potenziale di quei plug-in che introducono vulnerabilità potrebbe essere superiore a quanto prevediamo".

— Ayush Malakar, Fresh Consulting

Come sempre, è importante mantenere aggiornato il codice. Fai attenzione agli aggiornamenti di base e plug-in e mantieni aggiornati WordPress, plug-in e temi.

Sicurezza ed endpoint WordPress

XML-RPC e l'API REST sono endpoint utilizzati da WordPress per comunicare con altri sistemi o con il front-end di un'applicazione. È importante comprendere questi endpoint e se saranno importanti per la tua applicazione, poiché sono potenziali vettori di attacco che possono essere disabilitati se non necessari.

XML-RPC come potenziale vettore di attacco

XML-RPC è una specifica che consente la comunicazione tra WordPress e altri sistemi. Nelle prime versioni di WordPress, XML-RPC era disattivato per impostazione predefinita. Ma dalla versione 3.5, è stato abilitato per impostazione predefinita. Il motivo principale di ciò era consentire all'app mobile di WordPress di comunicare con l'installazione di WordPress.

L'API REST come potenziale vettore di attacco

Assicurati di utilizzare le migliori pratiche di sicurezza quando utilizzi l'API REST di WordPress. Sebbene le aziende possano aver bisogno di mantenerle aperte, ad esempio in un'architettura headless in cui il contenuto deve fluire verso un front-end disaccoppiato, assicurati che coloro che rimangono esposti dispongano dell'autenticazione e dell'autorizzazione adeguate.

“Hai questo castello, WordPress, la tua applicazione e la presenza di un ponte levatoio non rende intrinsecamente sicura la tua applicazione. Ma è un viale. È un modo per entrare in quel castello. Quindi solo avere una buona comprensione, conoscenza e contabilità di queste cose è sicuramente vitale per avere una posizione migliore riguardo alla sicurezza delle tue applicazioni".

— Sean O'Shaughnessy, WordPress VIP

Il mio hosting è sicuro?

Ci sono molte considerazioni da fare per determinare se il tuo host è abbastanza sicuro per le tue esigenze. È una buona idea considerare tutte le opzioni di sicurezza disponibili e non dimenticare l'importanza di un supporto rapido in caso di emergenza, come un aggiornamento del plug-in che causa un incidente di sicurezza.

“Il tuo provider di hosting offre un supporto rapido e proattivo? Inoltre, come rispondono quando vengono pubblicate vulnerabilità di applicazioni o plug-in?"

— Sean O'Shaughnessy, WordPress VIP

Nel complesso, cerca una piattaforma che consideri l'hosting una responsabilità condivisa. Alcune caratteristiche da considerare includono:

Autorizzazioni del file system

Alcuni host offrono un file system di sola lettura, anziché essere in grado di scrivere file. Ciò impedisce agli utenti dei processi Web di poter scrivere file ovunque, chiudendo un potenziale vettore di attacco.

Containerizzazione

Cerca un host che isoli le risorse del tuo sito dai siti web degli altri clienti. Sebbene questa non sia una misura di sicurezza completa, la containerizzazione fornisce una misura di sicurezza di base. Come bonus, consente anche risorse dedicate per la scalabilità orizzontale o addirittura verticale.

Controllo della versione

Quando una piattaforma di hosting WordPress blocca SFTP e consente gli aggiornamenti del codice tramite un sistema controllato dalla versione, diminuisce la superficie di attacco della tua applicazione. Inoltre, la gestione del codice sorgente dell'applicazione tramite il controllo della versione fornisce una copia "incontaminata" del codice come fonte di verità, insieme a una cronologia completa, verificabile e ricca di contesto di quel codice.

In che modo la mia azienda può rafforzare la sicurezza di WordPress?

La sicurezza non è solo una considerazione a livello di codice o host. Ci sono anche fattori umani e le aziende possono creare processi come controlli di sicurezza regolari e regole di igiene delle password, che faranno molto per aumentare la sicurezza del tuo sito web.

"A livello organizzativo, è importante pensare in termini di creazione di più livelli di autenticazione continua o di convalida".

— Sean O'Shaughnessy, WordPress VIP

Gestione degli accessi zero trust e privilegi minimi

Attraverso ruoli attentamente studiati e gestione degli accessi, le organizzazioni possono fornire alle persone la possibilità di svolgere il proprio lavoro con il minor numero di privilegi, quindi il minor rischio possibile. Assicurati di definire e assegnare correttamente i ruoli e le capacità degli utenti. Questa funzionalità viene fornita con WordPress pronta all'uso e può essere estesa per qualsiasi caso d'uso.

Igiene delle password

Gli utenti dovrebbero creare password uniche e difficili da indovinare per ogni applicazione. A Sean piace particolarmente questo fumetto, che sostiene l'uso di una raccolta di parole casuali, piuttosto che una combinazione di lettere, numeri e simboli:

fumetto XKCD

2FA e SSO

Sebbene le tecnologie di autenticazione a due fattori (2FA) e Single Sign-On (SSO) non aumentino intrinsecamente la sicurezza del tuo sito Web, offrono il vantaggio di una gestione centralizzata degli utenti in tutte le applicazioni supportate.

Punti chiave sulla sicurezza di WordPress

  • L'open source offre vantaggi in termini di sicurezza
  • Tieni aggiornati WordPress e i plugin
  • Usa il controllo della versione
  • Comprendi gli endpoint di WordPress
  • Cerca un host che tenga conto della sicurezza
  • Adottare pratiche di sicurezza mature a livello di organizzazione

Abbiamo coperto molto di più sulla sicurezza di WordPress nel webinar di un'ora. Se te lo sei perso dal vivo, ti incoraggio a dare un'occhiata alla registrazione qui.