Suggerimenti per la sicurezza dei siti web

13/11/2018

CMS website security

Cosa si intente per website security?

Per website security si intente la protezione di siti web aziendali e personali da eventuali attacchi cyber.

Perché i cyber criminali attaccano i siti web?

I criminali informatici che commettono queste attività illecite sono spinti soprattutto da interessi finanziari, legati alla vendita su mercati neri dei dati personali, brevetti e in generale prodotti coperti dai diritti di proprietà intellettuale. Oltre al furto di dati, gli attaccanti utilizzano anche riscatti ransomware o il mining di criptovalute per remunerare le loro attività.
Una percentuale molto minore degli attacchi, invece, segue ragioni ideologiche, ad esempio gli attacchi sferrati dal gruppo Anonymous e dai vari collettivi che manifestano attivamente il loro dissenso adoperandosi per colpire obiettivi concordati (hacktivismo).

Quali sono i rischi se non gestiamo la sicurezza dei nostri siti?

I cyber attacchi ai danni di siti web pubblici e privati sono molto comuni e possono comportare:

  • Defacement di una o più pagine web (o parti di esse). Il defacement è sicuramente uno degli attacchi più diffusi e impatta direttamente sull’immagine di un’organizzazione e sulla sua visibilità: un evento del genere può infatti interrompere potenzialmente un servizio pubblico (ad es. nel caso di deface della home page), creando così anche un danno di immagine.
  • Negazione del servizio (attacco dos). Il dos è sicuramente uno degli attacchi più importanti perché comporta l’interruzione di uno o più servizi presenti sul portale web. Come per il defacement, anche il dos può creare un danno alla reputazione impattando sull’immagine dell’organizzazione.
  • Sottrazione di dati personali e/o sensibili da parte di criminali (data breach). Uno scenario di attacco più grave riguarda la sottrazione di dati personali e/o sensibili. Questa minaccia incide su tutti gli aspetti di sicurezza (riservatezza, integrità e disponibilità) e può seriamente danneggiare la reputazione del sito web e del suo proprietario, oltre al danno causato agli utenti eventualmente registrati sul sito.
  • Controllo del sito web attaccato. Ancora più pericolosi sono gli attacchi meno evidenti e che potrebbero non essere rilevati immediatamente dal proprietario del sito, ne dagli utenti. In questi casi, l’attaccante potrebbe raccogliere una maggiore quantità di informazioni (credenziali, informazioni personali e amministrative, vulnerabilità tecniche ecc.) che potrebbero permettergli di sfruttare l’infrastruttura del server web compromesso come una piattaforma per lanciare attacchi verso altri sistemi o semplicemente come deposito momentaneo per contenere e veicolare malware.

Come proteggere il sito web dagli attacchi cyber?

Gli utenti e le organizzazioni possono proteggere i loro siti web applicando le seguenti best practices:

  • Adotta il principio del minimo privilegio. Assicurarsi che tutti gli utenti (compresi quelli di servizio) dispongano della minima quantità di privilegi necessari sul server web.
  • Utilizza l’autenticazione a più fattori. Ove possibile e necessario è bene implementare tale autenticazione per gli accessi alle applicazioni web e all’infrastruttura del sito web sottostante.
  • Modifica la username e la password di default configurate dal vendor. Le credenziali di default del vendor non sono sicure in quanto possono essere reperite facilmente sul Internet.
  • Disabilita gli account non necessari. Disabilitare gli account non necessari come i guest accounts o quelli non più utilizzati.
  • Utilizza una checklist per la gestione della sicurezza. Controllare le configurazioni attraverso l’uso di checklist specifiche per ogni applicazione (ad es. Apache, MySQL) del sistema.
  • Definisci una lista delle applicazioni autorizzate. Utilizzare una whitelist delle applicazioni autorizzate e disattivare moduli o funzionalità non necessarie alle esigenze dell’organizzazione.
  • Implementa meccanismi di segmentazione e di segregazione della rete. La segmentazione e la segregazione riducono la probabilità di uno spostamento laterale di un attaccante all’interno della rete. Per esempio, posizionando il server web in una zona demilitarizzata (DMZ) ben configurata, si limita il tipo di traffico di rete consentito tra i sistemi nella DMZ e i sistemi nella rete locale aziendale.
  • Definisci gli asset. Per proteggere gli assets è necessario innanzitutto definirli e sapere dove si trovano. Ad esempio se alcuni dati non devono essere necessariamente presenti sul server web, è bene rimuoverli per prevenire il rischio che un utente possa utilizzare tali informazioni per attività malevoli.
  • Proteggi gli asset sul server web. Proteggi le risorse sul server web attraverso più livelli di difesa (ad es. attraverso l’accesso utente limitato o la crittografia).
  • Pratica una “cyber hygiene” efficace: per “cyber hygiene” si intende una serie di semplici principi che ogni organizzazione dovrebbe tenere in considerazione e implementare quotidianamente:
    1. Applicare le patch ai sistemi su tutti i livelli, dalle applicazioni (web e non) ai sistemi operativi e gli hypervisor,
    2. Eseguire le routine di backup e i test di backup in modo da essere pronti in caso di attacchi, problemi di varia natura o disaster recovery,
    3. Configurare i file di log in modalità estesa e memorizzarli all’interno di un server di log centralizzato.
  • Schedula attività periodiche di Vulnerability Scan: Servirà ad acquisire consapevolezza del livello di esposizione dei propri sistemi ad attacchi provenienti dall’esterno o dalla rete interna. Di conseguenza sarà possibile pianificare attività atte a risolvere o mitigare le eventuali problematiche riscontrate.

Quali altre attività devo intraprendere per proteggere un sito web dagli attacchi cyber?

  • Valida tutti gli input degli utenti. I campi di input sono spesso manipolabili dagli utenti, con caratteri speciali o null, e dovrebbe essere verificato sia lato client sia lato server che il contenuto del campo sia quello che ci si aspetti. Questa attività diventa fondamentale soprattutto quando l’input utente è incapsulato all’interno di script o query.
  • Aumenta la disponibilità delle risorse. Configura la cache del sito web in modo che riesca a ottimizzare la disponibilità delle risorse e a sopportare la quantità di traffico generata da un eventuale attacco dos.
  • Implementa protezioni contro attacchi di tipo cross-site scripting (xss) e cross-site request forgery (csrf). Specifiche indicazioni sono disponibili da OWASP, un progetto open-source per la sicurezza delle applicazioni, alle rispettive pagine XSSCSRF.
  • Implementa una policy per sicurezza dei contenuti (CSP). L’implementazione di un CSP riduce la possibilità che un utente malintenzionato carichi ed esegua script javascript malevoli sul computer dell’utente finale.
  • Controlla il codice di terze parti. Controlla i servizi di terze parti (ad es. ads, analytics ecc) per evitare che eventuale codice non previsto venga consegnato all’utente finale.
  • Implementare protocolli sicuri, come hypertext transfer protocol secure (HTTPS) e HTTP strict transport security (HSTS). Il protocollo HTTPS assicura che le comunicazioni tra il server web e il client siano criptate. Quindi, anche al fine di di proteggere la privacy dei visitatori, si consiglia di utilizzare sempre l’HTTPS e HSTS quando è possibile.
  • Eseguire scansioni ed analisi di sicurezza statiche e dinamiche sul codice del sito e sul sistema.
  • Utilizzare web application firewall (WAF).
  • Adottare tecniche di load balancing e di resilienza contro i picchi di traffico web.

Conclusioni

In un precedente articolo “Aggiornamento CMS dei siti Comunali Istituzionali“, il CERT-PA ha fornito statistiche di massima sullo stato di aggiornamento dei principali CMS in uso dalle amministrazioni Comunali. Dalle statistiche è emerso che i software, nello specifico i content management system (CMS), non vengono aggiornati con regolare frequenza. Il mancato aggiornamento dei software e dei plug-in presenti sul sito espone, nel tempo, i sistemi ad attacchi di ogni tipo con conseguenti danni economici che possono essere rappresentati da spese accessorie non preventivate come quelle legate alla gestione di un incidente, o quelli di immagine dovuti ad esempio all’indisponibilità del sito web, alla diffusione di malware, ad accessi abusivi o all’esposizione di dati contenuti. Oltre a quanto indicato nell’articolo, il CERT-PA rammenta l’importanza di effettuare aggiornamenti periodici del software oltre all’uso di un protocollo internet in grado di garantire connessioni protette (SSL). E’ buona norma pertanto che tali accorgimenti siano espressamente dichiarati, come requisito di progetto, ad esempio nei contratti di realizzazione e manutenzione dei siti web definiti tra il committente e la parte fornitrice del servizio.

 

Per ulteriori informazioni, consultare: