Intestazione HTTP che disabilita il contenuto non SSL (o TLS) in questa pagina

2

C'è un'intestazione di risposta HTTP che impedisce la visualizzazione di qualsiasi contenuto non SSL nella pagina corrente?

L'idea è che alcune volte il contenuto esterno che deve essere presente sul sito web (tosse, motori pubblicitari, tosse) potrebbe rallentare con l'SSL e in tal caso preferirei saltare su questo contenuto esterno, piuttosto che fornire un opportunità per MitM attivo con tutte le sue conseguenze.

So che l'HSTS copre un terreno simile, ma AFAIK funziona su base host; che sta inviando HSTS significa che vuoi solo le connessioni HTTPS per il tuo host, non che non includerai contenuti non HTTPS dal codice HTML delle tue pagine.

    
posta K.Steff 17.06.2014 - 14:43
fonte

3 risposte

5

Vuoi la politica di sicurezza dei contenuti. La seguente regola dovrebbe adattarsi (ma controlla le altre opzioni interessanti che fornisce):

Content-Security-Policy: default-src https:;

C'è una buona spiegazione a link

Puoi visualizzare le specifiche su link

    
risposta data 17.06.2014 - 15:15
fonte
3

Per dare seguito alla risposta attuale, vi sono alcune modifiche che suggerirei.

Content-Security-Policy: 
    default-src https:;
    connect-src https: wss:;
    form-action https:;
    upgrade-insecure-requests

Il default-src https: è una buona misura per garantire che le risorse vengano caricate su HTTPS, ma la nuova direttiva upgrade-insecure-requests è molto migliore in quanto proverà a recuperare una risorsa non sicura su uno schema sicuro invece di bloccarla.

La direttiva form-action https: garantisce inoltre che qualsiasi modulo sul tuo sito web POST a uno schema sicuro, piuttosto che uno schema non sicuro.

Infine, la direttiva connect-src https: wss: garantirà uno schema sicuro per le connessioni XMLHttpRequest, WebSocket e EventSource.

Ho un foglio trucchi CSP che copre tutte le direttive.

    
risposta data 03.08.2016 - 17:32
fonte
2

In teoria, i browser moderni bloccano i contenuti misti attivi e mettono in guardia sul contenuto misto passivo. In questo senso, il tipo di blocco che cerchi è già fatto sul lato client, in una certa misura.

Potresti voler pubblicare tu stesso i contenuti esterni riscrivendo l'URL ( il software potrebbe aiutare): il contenuto esterno diventa ora contenuto interno che fornisci sul tuo SSL. Tuttavia, su base generale, se il contenuto esterno non è affidabile (se non altro perché gestito in modo negligente dal lato server esterno), allora l'unica sana abitudine è di sfrattarlo del tutto - che è ciò che stai cercando di fare, anzi . Idealmente, pubblicheresti annunci "buoni" e non "cattivi" per motivi tecnici per-annuncio, ma in pratica hai più possibilità di scelta tra fornitori di reti pubblicitarie o non annunci pubblicitari.

    
risposta data 17.06.2014 - 15:12
fonte

Leggi altre domande sui tag