HTTP Content-Policy-Security-Nonce and Caching

7

¿Alguien aquí puede aclarar cómo afecta el almacenamiento en caché al agregar un nonce=value a todos los javascript en línea?

Si el nonce debe ser único e impredecible, entonces uno tendría que deshabilitar todo el caché del lado del servidor (es decir, Barniz, Frente de nube, etc.) en las páginas que usan <script nonce="XXXXX"> . Correcto?

Consulte ejemplo 4 aquí para obtener más información.

    
pregunta user2687991 03.12.2016 - 00:22
fuente

2 respuestas

1
  

Si el nonce debe ser único e impredecible, entonces habría que deshabilitar todo el almacenamiento en el lado del servidor (es decir, Barniz, Frente de nube, etc.) en las páginas que usan < script nonce="XXXXX" > Correcto?

Sí. Siempre tiene que deshabilitar el almacenamiento en caché en cualquier cosa que se genere dinámicamente (es decir, proviene de un script). Dado que no puede proporcionar valores aleatorios únicos e impredecibles de forma estática, debe hacerse desde un script.

    
respondido por el DepressedDaniel 03.12.2016 - 01:49
fuente
0

Depende de qué caché del lado del servidor estamos hablando, ya que esto generalmente tiene muchas capas. Si su servidor de aplicaciones almacena en caché HTML para ahorrar en costosas consultas de SQL y procesamiento de plantillas, entonces puede usar nonces modificando el HTML de salida en el camino de regreso. Sus plantillas y el HTML almacenado en caché pueden contener marcadores de posición como este:

<script nonce="REPLACE_WITH_NONCE">
...
</script>

Este puede ser guardado en caché feliz por el servidor de aplicaciones durante días sin impactar negativamente en la protección de CSP.

El nonce se puede generar dinámicamente en el servidor web utilizando OpenResty set_secure_random_alphanum y sustituido en el marcador de posición REPLACE_WITH_NONCE con   ngx_http_sub_module

    
respondido por el kravietz 22.06.2017 - 13:08
fuente

Lea otras preguntas en las etiquetas