¿Debo permitir las fuentes de script http en mi CSP, o imponer solo https?

2

Actualmente estoy intentando implementar un widget de terceros en mi sitio web. Ese widget intenta cargar algunos scripts a través de http, que actualmente no está permitido por mi política de seguridad de contenido.

Me preocupa que configurar el CSP para permitir un script cargado en http permitiría a un hombre en el ataque central. El widget ofensivo está en la página de inicio de sesión, entre otros lugares, por lo que un script malicioso inyectado podría robar fácilmente la contraseña de alguien.

Hablando en términos prácticos, ¿qué tan preocupado debería estar por esto? ¿Debo aplicar https-only script-src en mi CSP?

    
pregunta Alex von Brandenfels 30.11.2017 - 22:40
fuente

1 respuesta

3

Usted está completamente en lo correcto al cargar solo un script a través de HTTP significa pasar a un MITM. Entonces, ¿qué puedes hacer?

Si el script se sirve a través de HTTPS
Como Ajedi32 sugiere en los comentarios: Si el script se entrega a través de HTTPS, puede forzar al widget a usar HTTPS usando la directiva CSP upgrade-insecure-requests .

Si tiene control sobre la etiqueta de script
Si el script no se sirve a través de HTTPS, las cosas serán un poco más complicadas. No tiene que permitir que todos los scripts se carguen a través de HTTPS, solo puede permitir ese. Aún así, para un MITM eso sería suficiente.

Si tiene control sobre la etiqueta del script donde se incluye el script, puede usar integridad del sub-recurso para detener un MITM. Proporciona un hash del script en el atributo integrity de la etiqueta del script. El navegador verifica el hash, deteniendo así cualquier intento por parte de un MITM para modificar el script. También le dará un dolor de cabeza si los mantenedores de la secuencia de comandos cambian el contenido sin notificarle primero ...

Otro
Usted está fuera de suerte. Póngase en contacto con quien haya creado el widget y pídales que utilicen HTTPS. O simplemente volcar el widget.

    
respondido por el Anders 01.12.2017 - 12:56
fuente

Lea otras preguntas en las etiquetas