Devo consentire le fonti di script http nel mio CSP o applicare solo https?

2

Attualmente sto cercando di implementare un widget di terze parti nel mio sito web. Quel widget tenta di caricare alcuni script su http, che al momento non è consentito dalla mia politica di sicurezza del contenuto.

Sono preoccupato che l'impostazione del CSP per consentire uno script caricato su http consentirebbe un attacco uomo in mezzo. Il widget offensivo si trova nella pagina di accesso, tra le altre cose, quindi uno script dannoso iniettato potrebbe facilmente rubare la password di qualcuno.

In pratica, quanto dovrei preoccuparmi di questo? Dovrei applicare https-only script-src nel mio CSP?

    
posta Alex von Brandenfels 30.11.2017 - 22:40
fonte

1 risposta

3

Sei completamente corretto sul fatto che il caricamento di un solo script su HTTP significa passaggio a un MITM. Allora, cosa puoi fare?

Se lo script viene pubblicato su HTTPS
Poiché Ajedi32 suggerisce nei commenti: se lo script viene pubblicato su HTTPS, puoi forzare il widget a utilizzare HTTPS utilizzando la direttiva CSP upgrade-insecure-requests .

Se hai il controllo sul tag dello script
Se lo script non viene pubblicato su HTTPS, le cose saranno un po 'più complicate. Non devi consentire a tutti gli script di essere caricati su HTTPS, puoi semplicemente permetterlo. Eppure, per un MITM sarebbe sufficiente.

Se hai il controllo sul tag di script in cui è incluso lo script, puoi utilizzare l' integrità della subresource per fermare un MITM. Fornisci un hash dello script nell'attributo integrity del tag script. Il browser verifica l'hash, quindi interrompe qualsiasi tentativo da parte di un MITM per modificare lo script. Ti darà anche un mal di testa se i manutentori dello script modificano il contenuto senza prima avvisarti ...

Else
Sei fuori di fortuna Contatta chi ha costruito il widget e indica loro di utilizzare HTTPS. Oppure scarica semplicemente il widget.

    
risposta data 01.12.2017 - 12:56
fonte

Leggi altre domande sui tag