Best practice per la sicurezza sul Web

Best practice per la sicurezza sul web

Cloud CDN e Cloud Load Balancing possono aiutarti a rispettare gli standard best practice per la sicurezza, indipendentemente dal fatto che la pubblicazione di contenuti di Compute Engine, un bucket Cloud Storage o al di fuori di Google Cloud.

Imposta le intestazioni di sicurezza

La specifica HTTP contiene una serie di intestazioni che controllano quanto segue:

  • Comportamento dei clienti
  • Come vengono incorporati i contenuti
  • Come vengono pubblicati i contenuti nei vari domini
  • Indica se utilizzare sempre TLS (HTTPS) per la connessione al dominio

Questi controlli sono in genere rappresentati come intestazioni di risposta HTTP, che puoi impostare per ogni backend (origine, in termini di CDN) come intestazioni delle risposte personalizzate per il bilanciatore del carico delle applicazioni esterno e il deployment di Cloud CDN.

Se utilizzi Cloud Storage e pubblichi contenuti web dal tuo Cloud CDN, puoi usare Cloud CDN davanti al tuo spazio di archiviazione bucket per impostare intestazioni di sicurezza web Memorizza nella cache contenuti popolari.

Le intestazioni di sicurezza web più utili sono definite nella tabella seguente.

Nome intestazione Descrizione Esempio di utilizzo
Strict-Transport-Security (HSTS) Assicurati che i tuoi domini dispongano di certificati SSL (TLS) validi prima di impostare questa intestazione.

Informa i clienti che devono connettersi direttamente al tuo dominio tramite HTTPS (SSL/TLS), evitando la necessità di reindirizzare da HTTP a HTTPS, è più lento e introduce il rischio di attacchi person in the middle.

L'impostazione di questa intestazione è a tutti gli effetti irreversibile. Dopo aver memorizzato nella cache questo header, i client dei browser moderni non tentano connessioni non HTTPS e gli utenti non possono accedere a nessun dominio per cui hanno ricevuto questo header, anche se il protocollo SSL non è attivo. Questo comportamento impedisce a un malintenzionato di eseguire il downgrade del protocollo sicuro all'HTTP non protetto (noto come attacco di downgrade).

Quando pubblichi l'intestazione Strict-Transport-Security, fai attenzione quando aggiungi le direttive includeSubdomains o preload. Queste direttive richiedono a qualsiasi sottodominio di utilizzare HTTPS, inclusi eventuali siti interni nello stesso dominio. Ad esempio, support.example.com quando pubblicato da example.com.

Richiedere ai client di connettersi direttamente tramite HTTPS per tutto il futuro di memorizzazione nella cache di questa direttiva per un massimo di due anni:

Strict-Transport-Security: max-age=3104000

X-Frame-Options Indica se un browser può eseguire il rendering di una pagina in un <frame>, <iframe>, <embed> oppure <object>. Ciò aiuta a prevenire attacchi di clickjacking, che impediscono l'incorporamento dei contenuti in altri siti. Nega tutti gli iframe del sito: X-Frame-Options: DENY

Consenti solo al tuo sito di incorporare (iframe) se stesso: X-Frame-Options: SAMEORIGIN

Content-Security-Policy Per valutare i criteri di sicurezza del contenuto del tuo sito, puoi utilizzare Valutatore CSP lo strumento a riga di comando gcloud. Non consentire script in linea e carica script solo tramite HTTPS: Content-Security-Policy: default-src https:

Fai attenzione quando introduci nuove intestazioni di sicurezza per i siti web esistenti, perché possono interrompere script di terze parti, contenuti incorporati (ad esempio, iframe) o altri aspetti dei tuoi siti. Prima di apportare modifiche alle per il traffico di produzione, consigliamo di creare una seconda istanza del backend per il tuo bucket o il servizio di backend e i relativi test.

Puoi leggere ulteriori informazioni sulle intestazioni per la sicurezza web e sulle best practice disponibili su web.dev anche sul browser Mozilla sito Infosec.

Gestione di TLS e certificati

Certificati gestiti presentano le seguenti caratteristiche:

  • Sono forniti senza costi aggiuntivi
  • Può essere facilmente sottoposto a deployment nei tuoi bilanciatori del carico
  • Rinnovo automatico
  • Sono distribuiti a livello globale in tutte le località perimetrali di Google

Il protocollo TLS fornisce autenticità verificando che i dati non sono stati modificati in trasporto pubblico. I certificati TLS forniscono riservatezza garantendo che Le intercettazioni non sono in grado di determinare cosa viene scambiato tra utenti e server. Questo è importante per la privacy e la sicurezza degli utenti.

Con i certificati SSL, puoi trarre vantaggio dai moderni protocolli di trasporto, come HTTP/2 e Il protocollo QUIC di Google, entrambi richiedono SSL (TLS). Questi i protocolli migliorano direttamente le prestazioni dei contenuti web, (ad es. video in streaming) e affidabilità nelle reti congestionate.

Google Cloud supporta i protocolli TLS moderni (ad esempio TLS 1.3) nei servizi Cloud Load Balancing e Cloud CDN.

Puoi utilizzare i criteri SSL per segnalare la versione minima di TLS. Ti consigliamo di passare alla versione TLS 1.2 se non devi supportare i client precedenti, come i dispositivi embedded o i client non browser meno recenti (più di 10 anni). A livello globale, TLS v1.0 e TLS v1.1 rappresenta meno dello 0,5% delle connessioni tra Google Cloud. Se devi identificare o associare client specifici a versioni obsolete di TLS, puoi utilizzare la variabile {tls_version} in un'intestazione della richiesta. Puoi quindi registrare queste informazioni.

Passaggi successivi