Consulta questa checklist di sicurezza, che elenca le dieci misure fondamentali che le organizzazioni devono adottare per autenticare e autorizzare gli utenti, crittografare il traffico web, mitigare i rischi di terzi, bloccare bot e attacchi DDoS e altro ancora.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Cos'è la sicurezza delle applicazioni Web?
Cos'è la crittografia?
Transport Layer Security
Come prevenire gli attacchi DDoS
Traffico Bot
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
La sicurezza dei siti web è fondamentale per tutte le organizzazioni che si affidano alle applicazioni Web come fonte di entrate, efficienza e informazioni sui clienti. Le organizzazioni con siti web che acquisiscono e archiviano dati sensibili, o forniscono infrastrutture e servizi critici, sono particolarmente soggette ad attacchi che variano in termini di complessità, portata e origine.
La sicurezza delle applicazioni web è una disciplina di ampio respiro e in continua evoluzione, dato che il panorama delle minacce su Internet e il contesto normativo cambiano costantemente. Questa checklist è focalizzata sulla protezione dei siti web, ma la protezione delle API e delle app basate su IA (che i siti web integrano sempre più) è sempre più importante per le grandi aziende.
Tuttavia, i siti web rivolti al pubblico di tutte le dimensioni e di tutti i settori possono trarre vantaggio dalle misure di base relative ai controlli tecnici, al controllo degli accessi e alla gestione degli utenti. A tal fine, questa guida alla sicurezza per i siti web copre le seguenti 10 raccomandazioni:Raccomandazione: utilizzare l'autenticazione a due fattori anziché l'autenticazione solo tramite password
Proprio come una compagnia aerea deve verificare l'identità di un passeggero con un documento d'identità valido prima di consentirgli di salire a bordo di un aereo, le organizzazioni devono anche verificare chi sta accedendo ai sistemi digitali che fanno funzionare le loro applicazioni web.
Il processo per impedire l'accesso non autorizzato (garantendo che gli individui siano effettivamente chi dichiarano di essere) viene chiamato autenticazione. L'autenticazione verifica l'identità controllando caratteristiche specifiche, o "fattori", rispetto a un record digitale.
Di seguito sono elencati i fattori di autenticazione più comuni:
Il problema con il primo tipo di autenticazione è che le password possono spesso essere indovinate o rubate dagli aggressori. Data l'enorme quantità di phishing, attacchi on-path, attacchi di forza bruta e a causa della prassi di riutilizzare le password, è diventato più semplice per gli aggressori raccogliere credenziali di accesso rubate.
Per questo motivo, è opportuno che le organizzazioni implementino l'autenticazione a due fattori (2FA) per i propri account. L'autenticazione a due fattori (2FA) richiede (almeno) due forme distinte di autenticazione, cosa che rende questo metodo più efficace rispetto a un sistema a fattore singolo. Sebbene non sia impossibile per un aggressore violare l'autenticazione a due fattori, comprometterla è notevolmente più difficile e costoso rispetto all'autenticazione basata solo su password.
Raccomandazione: impostare le autorizzazioni basate sui ruoli solo per gli utenti autorizzati
Solo perché l'identità di qualcuno è verificata, tuttavia, non vuol dire che quest'ultimo debba avere un'autorità illimitata. L'autorizzazione aiuta a determinare cosa può vedere e fare un utente autenticato (ovvero, le sue autorizzazioni).
Ad esempio, un “super amministratore” potrebbe essere l'unica persona autorizzata a modificare tutte le impostazioni e le pagine di un sito, mentre un utente “di sola lettura” potrebbe essere in grado di visualizzare solo le analytics, e nient'altro.
Man mano che le organizzazioni si ingrandiscono, aumenta anche il numero di ruoli nei loro team web: potrebbero esserci sviluppatori di front-end, sviluppatori di back-end, analisti della sicurezza, analisti, web designer, editor di contenuti e così via. Pertanto, è importante controllare e aggiornare regolarmente le autorizzazioni basate sui ruoli.
Consiglio: stabilisci connessioni con SSL/TLS a gestione automatica
Qualsiasi sito web che raccolga e trasmetta dati sensibili, come credenziali di accesso, informazioni di contatto, dati relativi a carte di credito, informazioni sanitarie e altro, necessita di HTTPS. HTTPS impedisce ai siti di trasmettere le proprie informazioni in un modo facilmente visualizzabile da chiunque si trovi sulla rete.
HTTPS funziona tramite un protocollo chiamato Transport Layer Security (TLS); le versioni precedenti del protocollo erano note come Secure Sockets Layer (SSL).
Cerca un servizio che offra certificati SSL/TLS con gestione automatica, che consentono a siti e applicazioni di allacciare connessioni sicure.
TLS è la dorsale delle comunicazioni per la privacy e la sicurezza dei dati. Consente agli utenti di navigare in Internet in modo privato, senza esporre i dati della carta di credito o altre informazioni personali e sensibili.
Con SSL/TLS, un client (come un browser) può verificare l'autenticità e l'integrità del server a cui si connette e utilizzare la crittografia per scambiare informazioni. Questo, a sua volta, aiuta a prevenire attacchi on-path e a soddisfare determinati requisiti di conformità dei dati.
Ci sono anche altri vantaggi: il protocollo TLS aiuta a ridurre al minimo la latenza per velocizzare i tempi di caricamento delle pagine web; inoltre, i motori di ricerca tendono a declassare i siti che non utilizzano la crittografia.
Bisogna tenere presente che ogni certificato SSL/TLS ha una data di scadenza fissa, e che i periodi di validità di questi certificati si sono ridotti nel tempo. Se un certificato è scaduto, i client, come il browser del visitatore, penseranno che non è possibile stabilire una connessione sicura, e questo genererà avvisi o errori. Il mancato rinnovo delle certificazioni può anche abbassare il posizionamento di un sito web nei motori di ricerca, anche se alcuni servizi offrono il rinnovo automatico.
Consiglio: mantieni la navigazione degli utenti sicura e privata con la crittografia DNS
Il contenuto di un sito web non risiede tecnicamente in un URL come www.example.com, ma piuttosto in un indirizzo IP univoco come 192.0.2.1. Il processo di conversione di un URL in un indirizzo IP machine-friendly è noto come lookup Domain Name System (DNS), e i record DNS sono le istruzioni di Internet che indicano quale indirizzo IP è associato a un determinato dominio.
Tuttavia, per impostazione predefinita, le query e le risposte DNS vengono inviate in testo non crittografato (UDP), il che significa che possono essere lette da reti, ISP e altri che potrebbero monitorare le trasmissioni. Questo può avere enormi implicazioni sulla sicurezza e sulla privacy. Se le query DNS non sono private, diventa più facile per i governi censurare Internet e per gli aggressori osservare furtivamente il comportamento online degli utenti.
Utilizza un resolver DNS gratuito per crittografare il traffico DNS con una di queste opzioni:
Raccomandazione: è opportuno gestire alcune limitazioni del sistema DNS con un sistema di sicurezza DNS appositamente progettato
Il sistema DNS stesso non è stato progettato con in mente il problema della sicurezza, e contiene diversi limiti progettuali. Ad esempio, non garantisce automaticamente la provenienza dei record DNS e accetta qualsiasi indirizzo fornito, senza fare domande. Pertanto, i server DNS possono essere vulnerabili allo spoofing di dominio, agli attacchi DoS (Denial of Service) e ad altri tipi di attacchi.
La sicurezza DNS (DNSSEC) aiuta a risolvere alcuni dei difetti di progettazione del DNS. Ad esempio, DNSSEC crea un sistema di nomi di dominio sicuro aggiungendo le firme crittografiche ai record DNS esistenti. Controllando la firma associata, le organizzazioni possono verificare che un record DNS richiesto provenga dal suo nameserver autoritativo e non da un record falso.
Alcuni resolver DNS integrano già DNSSEC. Inoltre, è opportuno cercare un resolver DNS in grado di fornire funzioni come il filtro dei contenuti (che può bloccare i siti noti per distribuire malware e spam) e la protezione delle botnet (che blocca la comunicazione con le botnet note). Molti di questi resolver DNS sicuri sono gratuiti e possono essere attivati modificando una singola impostazione del router.
Consiglio: rendi più difficile per gli aggressori trovare il tuo server.
Se dei malintenzionati dovessero trovare l'IP di origine del server di un'organizzazione (ovvero dove sono ospitate le risorse effettive dell'applicazione Web), potrebbero essere in grado di inviare traffico o attacchi direttamente ai server.
A seconda del resolver DNS già in uso, anche i seguenti passaggi possono aiutare a occultare l'IP di origine:
Raccomandazione: implementa una mitigazione degli attacchi DDoS sempre attiva e la limitazione della frequenza
Nel peggiore dei casi, gli attacchi DDoS possono mettere offline un sito web o un'intera rete per lunghi periodi di tempo.
Gli attacchi DDoS si verificano quando un elevato numero di computer o di dispositivi, solitamente controllati da un singolo aggressore, tenta di accedere contemporaneamente a un sito web o a un servizio online. Questi attacchi mirano a portare le risorse offline e renderle indisponibili.
Gli attacchi DDoS a livello applicazione rimangono il tipo di attacco più comune contro le applicazioni web, e continuano a diventare più sofisticati sia in termini di dimensioni che di frequenza.
Cerca i seguenti strumenti essenziali per la prevenzione degli attacchi DDoS:
Una difesa completa dalle minacce DDoS si basa anche su diversi metodi, che possono variare in base alle dimensioni di un'organizzazione, alla sua architettura di rete e ad altri fattori. Scopri di più su come impedire gli attacchi DDoS.
Raccomandazione: verifica la presenza di tool specifici per affrontare i rischi lato client
Nello sviluppo web, per "lato client" si intende tutto ciò che in un'applicazione web viene visualizzato o eseguito sul client (dispositivo dell'utente finale). Ciò include ciò che l'utente vede, come testi, immagini e il resto dell'interfaccia utente, oltre a qualsiasi azione eseguita da un'applicazione all'interno del browser dell'utente.
La maggior parte degli eventi lato client richiede il caricamento di JavaScript e altro codice di terze parti nel browser del visitatore. Tuttavia, gli aggressori cercano di compromettere tali dipendenze (ad esempio con attacchi in stile Magecart). Ciò rende i visitatori vulnerabili a malware, furti di dati di carte di credito, mining di criptovalute e altro ancora.
Anche i cookie comportano dei rischi sul lato client. Ad esempio, un aggressore può sfruttare i cookie per esporre i visitatori di un sito alla manomissione dei cookie, che può portare all'acquisizione degli account o a frodi nei pagamenti. Tuttavia, gli amministratori di siti, gli sviluppatori o gli addetti alla compliance spesso non sanno nemmeno quali cookie vengono utilizzati dai loro siti web.
Per ridurre il rischio derivante da script e cookie di terzi, implementare un servizio che:
Raccomandazione: identifica e mitiga proattivamente il traffico bot dannoso
Alcuni bot sono “buoni” e svolgono un servizio necessario, come i crawler dei motori di ricerca autorizzati. Altri bot, invece, sono dirompenti e dannosi se non controllati.
Le organizzazioni che vendono beni o servizi fisici online sono particolarmente vulnerabili al traffico bot. Un traffico bot eccessivo può causare:
È opportuno adottare un servizio di gestione dei bot che:
Consiglio: migliora la sicurezza web con decisioni basate sui dati
Gli analytics e i log provvisti di dati fruibili sono fondamentali per migliorare su base continuativa le performance e la sicurezza del web.
Ad esempio, i log e le dashboard di sicurezza delle applicazioni possono fornire informazioni dettagliate su:
La visibilità sulle metriche del traffico web è un componente fondamentale per una valutazione continua dei rischi. Grazie a essa, le organizzazioni possono prendere decisioni più informate su come migliorare le prestazioni delle proprie applicazioni e su dove aumentare i propri investimenti in sicurezza.
La connettività cloud di Cloudflare semplifica la sicurezza e il delivery delle applicazioni web, grazie a una suite completa di servizi integrati che connettono e proteggono le applicazioni web e le API delle organizzazioni.
Questi servizi includono la protezione da attacchi DDoS, un Web Application Firewall (WAF) di provata efficacia, gestione dei bot, sicurezza lato client, un gateway API, un resolver DNS pubblico gratuito, certificati SSL/TLS gratuiti, analytics completi delle prestazioni e della sicurezza del web e molto altro ancora.
Scopri i servizi più adatti alle esigenze del tuo sito web su www.cloudflare.com/plans.
Mentre le password possano essere facilmente indovinate, rubate tramite phishing o raccolte tramite tentativi di violazione della password con metodo forza bruta, l'autenticazione a due fattori richiede almeno due diverse forme di identificazione. Ciò rende molto più difficile e costoso per un utente malintenzionato compromettere un account che utilizza una sola password.
L'autorizzazione basata sui ruoli garantisce che anche gli utenti verificati possano accedere solo agli strumenti e ai dati specifici necessari per il loro ruolo.
SSL/TLS protegge il traffico Web crittografando dati sensibili come le credenziali di accesso e le informazioni sulle carte di credito, proteggendo gli utenti dagli attacchi in corso. Contribuisce inoltre ad autenticare l'identità del server Web per l'utente, riducendo la probabilità che quest'ultimo carichi una copia contraffatta del sito Web.
Le query DNS standard vengono inviate in chiaro, il che significa che possono essere monitorate dai provider di servizi Internet (ISP) o da terze parti. DoT e DoH crittografano queste query, impedendo ad altri di monitorare il comportamento online di un utente o di censurarne l'accesso a Internet.
Il sistema DNS originale non può garantire la provenienza di un record, rendendolo vulnerabile allo spoofing. DNSSEC risolve questo problema aggiungendo firme crittografiche ai record DNS, consentendo a un'organizzazione di verificare che un record provenga dal suo nameserver autoritativo legittimo.
Se un utente malintenzionato scopre l'indirizzo IP di origine in cui sono ospitate le risorse Web, può aggirare i livelli di sicurezza e inviare traffico di rete dannoso direttamente al server. Strategie come la rotazione degli IP e l'hosting di servizi di posta su un server diverso dalle risorse Web aiutano a mantenere nascosto questo indirizzo.
Una difesa efficace dovrebbe essere sempre attiva e in grado di assorbire automaticamente il traffico dannoso vicino alla sua fonte per ridurre i tempi di inattività. Dovrebbe anche offrire una mitigazione illimitata per evitare costi aggiuntivi durante gli attacchi su larga scala.
La limitazione della frequenza agisce come un limite di velocità per il traffico di rete, limitando il numero di volte in cui un'azione può essere ripetuta entro un intervallo di tempo specifico. Ciò impedisce alle botnet di sovraccaricare un'applicazione Web con un elevato volume di richieste e può bloccare alcuni attacchi bot dannosi come gli attacchi di forza bruta o la sottrazione e l'uso illecito delle credenziali.
Il codice di terze parti può essere compromesso da malintenzionati per rubare dati o diffondere malware direttamente nel browser dell'utente. Analogamente, i cookie non gestiti possono essere sfruttati per il furto di identità o per frodi sui pagamenti se non vengono monitorati adeguatamente.
Le analisi e i log forniscono dati utilizzabili che aiutano le organizzazioni a identificare potenziali minacce, a individuare e risolvere gli errori e a comprendere le diverse varianti degli attacchi. Questa visibilità consente di prendere decisioni basate sui dati su dove rafforzare i sistemi e dove dare priorità agli investimenti in sicurezza.