Cloudflare è una CDN, ovvero un servizio di Content Delivery Network con alcune funzionalità aggiuntive particolarmente utili.
Cos’è una CDN e a cosa serve
Una rete di distribuzione dei contenuti (CDN) è un network composto da un gruppo di server distribuiti geograficamente che lavorano insieme per fornire una consegna veloce di contenuti Internet. Una CDN consente il trasferimento rapido di risorse necessarie per il caricamento di contenuti Internet tra cui pagine HTML, file javascript, fogli di stile, immagini e video.
La popolarità dei servizi CDN continua a crescere e oggi la maggior parte del traffico web viene servita tramite CDN, compreso il traffico proveniente da siti importanti come Facebook, Netflix e Amazon. Una CDN correttamente configurata può anche aiutare a proteggere i siti Web da alcuni attacchi dannosi comuni, come gli attacchi DDOS (Distributed Denial of Service) o Brute Force.
Quali sono i benefici di una CDN?
Sebbene i vantaggi dell’utilizzo di un CDN vari a seconda delle dimensioni e delle esigenze di un sito web, i benefici comuni alla maggior parte degli utenti possono essere riassunti in 4 punti:
- Miglioramento dei tempi di caricamento del sito Web: distribuendo ai visitatori del sito web il contenuto più vicino grazie all’utilizzo di una CDN nelle vicinanze, i visitatori navigano più veloce, le pagine si aprono più rapidamente. Una CDN può ridurre la frequenza di rimbalzo e aumentare il tempo che le persone trascorrono sul sito. In altre parole, un sito web più veloce viene navigato più rapidamente e più a lungo.
- Riduzione dei costi della larghezza di banda: i costi di consumo dell’ampiezza di banda per l’hosting di siti Web rappresentano una spesa primaria per i grandi siti Web. Attraverso la memorizzazione nella cache e altre ottimizzazioni, le reti CDN sono in grado di ridurre la quantità di dati che un server di origine deve fornire, riducendo così i costi di hosting per i proprietari dei siti web.
- Aumento della disponibilità dei contenuti e della ridondanza: grandi quantità di traffico o guasti hardware possono interrompere la normale funzione del web server. Grazie alla sua natura distribuita, una rete CDN può gestire più traffico e resistere agli errori hardware.
- Miglioramento della sicurezza dei siti Web: una rete CDN può migliorare la sicurezza fornendo attenuazione ad attacchi DDoS e Brute Force, miglioramenti ai certificati di sicurezza e altre ottimizzazioni pratiche.
Tutti i siti vengono attaccati
Questo ultimo beneficio è il focus di questa guida: proteggersi dagli attacchi. WordPress è il CMS più diffuso, è normale che sia preso di mira dagli hacker. Analizzando il log del web server di questo blog è facile accorgersi di questa cosa: ci sono molte richieste PUSH verso la pagina /wp-login.php – sono tentativi di accesso di bot che in genere non hanno buone intenzioni.
Le cose sono due: o li lascio fare sperando che la mia password non venga mai scoperta, oppure provo a proteggere la pagina di login. A questo scopo viene in risposta una funzione molto preziosa offerta da Cloudflare disponibile anche nel piano gratuito: le regole delle pagine (Page Rules).
In una guida precedente abbiamo visto come configurare il firewall UFW su ubuntu, oggi andiamo oltre cercando di aumentare la sicurezza del nostro sito WordPress proteggendo la pagina di login.
Come attivare Cloudflare
Cloudflare è un servizio a scalare, le prime funzioni sono gratuite, paghi mano a mano che aggiungi nuove protezioni o servizi.
Registrati al portale, crea il tuo account ed inserisci il sito web che vuoi usare con la CDN cliccando il pulsante in alto a destra “Add site”.
A questo punto Cloudflare esegue la scansione DNS per trovare tutti i domini e sotto domini che fanno riferimento al sito web che hai inserito. Terminata la scansione ti indicherà due NAME-SERVER da modificare nelle impostazioni del tuo DNS.
Nell’esempio dell’immagine puoi vedere un dominio in gestione a Serverplan ai quali ho modificato i NAME-SERVER inserendo i due forniti da Cloudflare. In questo modo il DNS punterà ai server di Cloudflare e non più al web server, il quale sarà protetto dalla rete CDN. Sarà poi Cloudflare a girare successivamente il traffico al web web server.
Una volta che avrai modificato i tuoi NAME-SERVER, Cloudflare potrà finire il processo di attivazione e avrai tutte le funzioni gratuite a tua disposizione: caching, firewall, ottimizzazioni varie e 5 Page Rules da configurare.
Come impostare le Page Rules di Cloudflare
Una volta attivato il sito potrai vedere il menu con le funzioni disponibili.
Clicca su Page Rules e poi su Create Page Rule per creare la tua prima regola. Nel primo campo inserisci l’URL completo (assoluto) della pagina di login. Nei campi sottostanti devi impostare due regole:
- Browser intergity Check: On
- Security Level: I’m Under Attack
Browser intergity Check è il comando per attivare il controllo del browser, utile per capire se la visita arriva da bot o da un vero utente. Nel caso Cloudflare identifichi un bot verrà mostrato un messaggio di errore e la pagina non sarà consegnata al bot. Il web server non riceverà alcuna richiesta.
Security Level imposta il livello di sicurezza che Cloudflare deve applicare ai visitatori. Un livello alto come Sono sotto attacco abilita sempre il controllo del browser.
Risultato? Una protezione in più contro i bot
Ora che la pagina di login è protetta, ogni volta che proverai ad accedere da mobile o da IP differenti dal solito, Cloudflare eseguirà un check del browser e avrai la certezza che il sistema è stato configurato correttamente.
Ora che hai attivato Cloudflare puoi sperimentare con tutte le altre funzioni ed ottimizzazioni disponibili. Ad esempio dentro Speed ci sono alcune cose interessanti che ti consiglio di testare, come ad esempio il minify di HTML, CSS e JS oppure la compressione Brotli.
Nel caso il tuo sito web non lo abbia ancora, puoi anche usufruire di un certificato HTTPS gratuito generato da Cloudflare.