Proteggi il tuo sito WordPress con un firewall per siti web
Pubblicato: 2020-08-25
L'enorme popolarità di WordPress lo ha reso un enorme bersaglio per criminali e hacker che cercano di sfruttare il tuo sito WordPress per guadagnare velocemente. Potrebbe anche essere solo uno script kiddy che cerca di ottenere un po' di credibilità in Internet con i loro coetanei deturpando il tuo sito per calci. Non importa come accada, qualsiasi forma di compromissione del sito causerà una grave perdita di fiducia con i tuoi clienti e potrebbe facilmente significare la fine del tuo marchio.
La protezione del tuo sito Web, dei tuoi clienti e del tuo marchio è quindi una priorità primaria ogni volta che distribuisci un'istanza di WordPress. Sfortunatamente, gli hacker hanno sviluppato strumenti e tecniche sofisticati per sfruttare WordPress e distruggere ciò che hai creato. L'unico modo per stare al passo è capire come il tuo sito WordPress può essere preso di mira e come proteggersi da tali minacce.
In questo articolo, esamineremo tutti i modi in cui gli hacker possono trarre vantaggio dai modi in cui il tuo sito WordPress comunica con Internet e le difese che puoi erigere per fermarli prima che arrechino danni.
Filtraggio di bit e byte: un firewall di rete
L'invio di dati su Internet è un processo sorprendentemente complicato. Ci sono molti "livelli" dal livello hardware in basso che definisce l'infrastruttura fisica a diversi livelli software sopra, ognuno dei quali dipende da quelli sottostanti. I livelli che ci interessano in questa sezione sono i livelli da host a host. In questi livelli i dati, come un'immagine che invii a un amico, vengono suddivisi in piccoli blocchi chiamati pacchetti. Questi vengono instradati su Internet da te (la fonte) al tuo amico (la destinazione) dove vengono riassemblati nell'immagine originale che hai inviato.
Questi pacchetti di dati hanno tutti diverse caratteristiche che includono:
- Protocollo – Ad esempio, TCP, UDP, ICMP e altro
 - Porta – Ad esempio, Web 80/443, Email 110/25
 - Indirizzi IP: gli IP di origine e di destinazione dei computer che inviano e ricevono i pacchetti
 
Un firewall di rete si trova tra l'interfaccia di rete e il sistema operativo e controlla ogni pacchetto quando arriva al server. Consentirà o rinnegherà un pacchetto di passare al sistema operativo in base a una serie di regole di autorizzazione e blocco. I pacchetti vengono scartati se violano una qualsiasi delle regole del firewall.
Un firewall di rete è una parte indispensabile di un server e dell'installazione di WordPress in quanto blocca qualsiasi comunicazione non autorizzata con processi che ascoltano accidentalmente o deliberatamente traffico dannoso. L'unico traffico consentito attraverso il sistema operativo e oltre quello verso WordPress deve essere conforme alle rigide regole imposte dal firewall.
Un firewall di rete correttamente configurato è una parte standard di ogni server connesso a Internet. Sfortunatamente, questo non significa che siano facili da installare e gestire. In effetti, se hai accesso solo alla tua istanza di WordPress, la gestione di un firewall è impossibile da fare correttamente perché un firewall efficace non sarà accessibile dall'interno di WordPress.
Filtraggio delle richieste Web: un firewall per applicazioni Web
Gli hacker hanno esteso il loro arsenale con un metodo sofisticato di attacco di rete in cui creano richieste Web dannose per attaccare il tuo sito WordPress. Queste richieste web non violeranno nessuna delle regole del firewall di rete, quindi potranno interagire con il tuo sito WordPress dove possono causare seri danni.
Per capire come funzionano le richieste Web dannose, considera innanzitutto come le richieste Web sono aumentate in complessità nel corso degli anni. Prima delle tecnologie web attive come PHP una richiesta web era molto semplice e sembrava la seguente:
 http://www.example.com/index.phpQuesta richiesta è suddivisa in parti come segue:
-  
http://: la richiesta utilizza il protocollo HTTP. -  
www.example.com– Il nome host che si risolve nell'indirizzo IP del server web. -  
index.php– Il file richiesto. 
Come puoi vedere, questa richiesta è molto semplice. Quando volevi proteggere un sito web, creavi semplicemente una blocklist di file privati in modo che il server web si rifiutasse di servirli. Non c'era molto altro.
Poiché la tecnologia dei siti Web è diventata più complicata, sono aumentate anche le opportunità di sfruttare queste complessità.
Un esempio di tale richiesta dannosa è noto come attacco SQL Injection. Questo tipo di attacco tenta di leggere informazioni riservate o modificare il database di WordPress. Lo fa creando una richiesta web che eseguirà uno script PHP e, se lo script non è stato scritto per controllarne gli input, consentirà all'attaccante di leggere o scrivere nel database di WordPress.

Diamo un'occhiata a una semplice richiesta Web di attacco SQL injection. Ad esempio, immagina di avere un modulo di accesso inviato al browser dei client. Quando compilano il modulo, invia una richiesta web al server che contiene il nome utente dell'account che hanno inserito. In questa richiesta di esempio, l'ID nome utente è JohnSmith che ci fornisce una richiesta Web simile a questa:
 http://www.example.com/accountView?id=JohnSmithSe lo script PHP sul server prende questo input e non ne verifica la validità può portare a problemi seri. Ad esempio, un hacker potrebbe provare a inviare il seguente URL non corretto che non ha alcun ID, ad esempio:
http://www.example.com/app/accountView?ha un significato speciale in SQL, il linguaggio dei database. Potrebbe far sì che uno script scritto in modo errato restituisca un elenco completo del database dei clienti, magari includendo password e altre informazioni sensibili. Questo è ovviamente un disastro.Allora come ti proteggi da queste forme di attacco?
È qui che entra in gioco un Web Application Firewall (WAF). Un WAF viene posizionato tra Internet e WordPress e controlla ogni richiesta Web non appena arriva al server. Se trova una richiesta che non è corretta, come quella sopra, o viola il suo elenco di regole, bloccherà la richiesta di inoltrarla al tuo WordPress. Un WAF sconfigge efficacemente intere classi di errori di programmazione comuni che possono facilmente compromettere un sito WordPress che altrimenti richiederebbe il controllo di ogni file PHP sul tuo sito.
Ovviamente, questo è solo un esempio di una richiesta dannosa da una vasta gamma di possibilità in rapida evoluzione. Ciò rende un WAF davvero efficace una sfida continua per aggiungere regole che tengano il passo con gli hacker. Proprio come un firewall di rete, un WAF è una proposta tecnicamente impegnativa da configurare e, soprattutto, mantenere.
Arrestare i Bot – Protezione Bruteforce e reCAPTCHA
L'ultimo livello di un'efficace difesa della rete è fermare gli attacchi automatici contro la pagina di accesso del pannello di amministrazione di WordPress. Questi attacchi vengono lanciati da programmi che comunemente vengono chiamati “bot” presi dalla parola robot. I bot sono utilizzati dagli hacker perché lavorano instancabilmente e in gran numero per lanciare attacchi coordinati.
Il metodo di attacco più comune consiste nel prendere di mira una pagina di accesso con un attacco di forza bruta. Questo prova a indovinare nomi utente e password in modo che possano accedere al tuo sito WordPress.
Un attacco bruteforce funziona provando molte combinazioni diverse di nome utente e password. Di solito, queste saranno combinazioni dei nomi utente più popolari come
adminorootinsieme alle password più comuni come "123456". Un attacco bruteforce inizierebbe inviando le seguenti combinazioni di nome utente e password:
- amministratore : 123456
 - amministratore: password0rd
 - amministratore: lasciami
 - amministratore: qwerty
 - radice : 123456
 - radice: password0rd
 - radice: lasciami
 - radice: qwerty
 
E continua da lì provando combinazioni sempre meno comuni.
Il bot proverà da poche centinaia a molte migliaia ea seconda di come è configurato. La protezione bruteforce rileverà tutti gli accessi non riusciti e quindi bloccherà eventuali ulteriori richieste provenienti dagli indirizzi IP che inviano le richieste di accesso fasulle. Questa è una protezione essenziale per gli utenti di WordPress che spesso scelgono password più deboli quando sono autorizzati a scegliere le proprie password.
Gli attacchi di forza bruta non sono l'unico uso per cui vengono utilizzati i bot. Sono anche impiegati per sondare il tuo sito alla ricerca di punti deboli, file sensibili esposti o plug-in e temi che possono essere compromessi.
Questi bot possono essere fermati da uno strumento di abuso di pubblicità anti-frode standard del settore di Google chiamato reCAPTCHA. reCAPTCHA seleziona automaticamente gli esseri umani dai bot dannosi consentendo agli umani di visitare il tuo sito e allontanare i bot. Questo di solito accade in modo invisibile e senza soluzione di continuità all'utente umano mentre è impossibile per il bot raggiungere il tuo sito Web dove farebbe del suo meglio per entrare.
Ma come faccio a fare tutto questo?
Se non hai il tempo, le conoscenze tecniche esperte o il budget per configurare e mantenere un firewall di rete, WAF, rilevatore di forza bruta e reCAPTCHA, dovresti lasciarlo agli esperti come Rocket. Rocket è un provider di hosting gestito che ottiene la sicurezza di WordPress. Includono tutti questi strumenti di sicurezza essenziali come standard su ogni installazione di WordPress.
Tutto quello che devi fare è registrarti, avviare un sito WordPress e pochi secondi dopo iniziare a creare.
Oppure controlla Come impostare l'autenticazione senza password in WordPress
