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 |
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:
|
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: |
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
- Per verificare se Cloud CDN sta pubblicando risposte dalla cache, consulta Visualizzazione dei log.
- Per scoprire quali contenuti sono memorizzabili nella cache o meno, consulta la Panoramica della memorizzazione nella cache.
- Per visualizzare i punti di presenza di Cloud CDN, consulta Località della cache.