security - ¿Qué sucede cuando tengo dos políticas CSP(Políticas de seguridad de contenido): cabecera y meta?
web browser (2)
Como descubriste, sí, se fusionan si lo haces bien. Sin embargo, quiero agregar que debe evitar el uso de metaetiquetas con encabezados CSP si es posible.
¿Por qué? Va en contra de las especificaciones y el espíritu de los "encabezados CSP", por lo que algunas funcionalidades no funcionarán: "Nota: el encabezado Content-Security-Policy-Report-Only no es compatible dentro de un metaelemento. Tampoco el informe-uri, antepasados de marco y directivas de sandbox ".
A las empresas les resulta muy difícil implementar un CSP de manera segura, al mismo tiempo que no rompen su sitio web o requieren mucho trabajo. Es por eso que hice Enchanted Security , una política de seguridad de contenido virtual que funciona inspeccionando las solicitudes de red realizadas en la página para rastrearlas y bloquear solicitudes maliciosas. Es mucho más simple de configurar que un CSP y tiene capacidades que tampoco puede obtener de un CSP.
La pregunta es acerca de tener CSP servido dos veces:
¿Cuál es el comportamiento si hay una política servida a través del encabezado de respuesta HTTP
Content-Security-Policy
y también otra política especificada con el elemento
<meta />
?
¿Se fusionarán esos dos de alguna manera? O bien, ¿cuál tiene prioridad? (No puedo encontrar información clara sobre esto en la especificación).
El caso de uso específico podría estar sirviendo
Report-to
través del encabezado de respuesta HTTP y poniendo todas las demás restricciones en el elemento
<meta />
, porque algunas de ellas son generadas por webpack, y si no debería estar preocupado por
<meta />
shallowed por la política de encabezado de respuesta HTTP.
Si tiene directivas CSP especificadas tanto en un encabezado HTTP
Content-Security-Policy
como en un
meta
, el navegador utiliza las directivas CSP más restrictivas, donde sea que se especifiquen.
Consulte los detalles sobre múltiples políticas en
https://w3c.github.io/webappsec-csp/#multiple-policies
y los detalles sobre el uso del
meta
en
https://w3c.github.io/webappsec-csp/#meta-element
:
Nota: una política especificada a través de un
meta
elemento se aplicará junto con cualquier otra política activa para el recurso protegido, independientemente de dónde se especifique. El impacto general de hacer cumplir múltiples políticas se describe en §8.1 El efecto de múltiples políticas .8.1. El efecto de múltiples políticas
El impacto es que agregar políticas adicionales a la lista de políticas para aplicar solo puede restringir aún más las capacidades del recurso protegido.