Encabezado HTTP que deshabilita el contenido no SSL (o TLS) en esta página

2

¿Hay un encabezado de respuesta HTTP que no permita que ningún contenido que no sea SSL se muestre en la página actual?

La idea es que algunas veces el contenido externo que debe estar en el sitio web (tos, motores de anuncios, tos) puede aflojarse con el SSL y, en tal caso, prefiero omitir este contenido externo, en lugar de proporcionar una oportunidad para MitM activo con todas sus consecuencias.

Sé que HSTS cubre un terreno similar, pero AFAIK funciona sobre una base de host; el hecho de enviar HSTS significa que usted indica que solo desea conexiones HTTPS a su host, no que no vaya a incluir contenido que no sea HTTPS del HTML de sus páginas.

    
pregunta K.Steff 17.06.2014 - 14:43
fuente

3 respuestas

5

Usted quiere una política de seguridad de contenido. La siguiente regla debería ajustarse a usted (pero verifique las otras opciones interesantes que proporciona):

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

Hay una buena explicación en enlace

Puede ver la especificación en enlace

    
respondido por el Ángel 17.06.2014 - 15:15
fuente
3

Para hacer un seguimiento de la respuesta actual, hay algunos cambios que sugeriría.

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


El default-src https: es una buena medida para garantizar que los activos se carguen a través de HTTPS, pero la nueva directiva upgrade-insecure-requests es mucho mejor, ya que intentará obtener un activo inseguro sobre un esquema seguro en lugar de solo bloquearlo.

La directiva form-action https: también garantiza que todos los formularios de su sitio web se envíen a un esquema seguro, en lugar de un esquema inseguro.

Por último, la directiva connect-src https: wss: garantizará un esquema seguro para las conexiones XMLHttpRequest, WebSocket y EventSource.

Tengo una CSP Cheat Sheet que cubre todas las directivas.

    
respondido por el Scott Helme 03.08.2016 - 17:32
fuente
2

En teoría, los navegadores modernos bloquean el contenido mixto activo y advierten sobre el contenido mixto pasivo. En ese sentido, el tipo de bloqueo que busca ya se realiza en el lado del cliente, hasta cierto punto.

Es posible que desee publicar el contenido externo reescribiendo la URL ( el software podría ayudar): el contenido externo ahora se convierte en El contenido interno que proporciona en su propio SSL. Sin embargo, en general, si el contenido externo no es confiable (aunque solo sea administrado de manera descuidada en el lado del servidor externo), entonces la única práctica sensata es desalojarlo por completo, que es lo que está tratando de hacer, de hecho . Idealmente, serviría anuncios "buenos" y no anuncios "malos" en los terrenos técnicos por anuncio, pero en la práctica tiene más opciones entre proveedores de la red publicitaria o no tener anuncios en absoluto.

    
respondido por el Tom Leek 17.06.2014 - 15:12
fuente

Lea otras preguntas en las etiquetas