content allow all asp.net webforms content-security-policy

allow - Content-Security-Policy en ASP.NET WebForms



content security policy apache (1)

Estoy buscando una buena forma de implementar un encabezado de política de seguridad de contenido relativamente sólido para mi aplicación ASP.NET WebForms. Estoy almacenando tanto JavaScript como sea posible en archivos en lugar de en línea, pero de forma predeterminada, WebForms inyecta una gran cantidad de secuencias de comandos en línea para cosas tan simples como el envío de formularios y las llamadas AJAX básicas.

MVC tiene algunas formas simples de implementar nonces, especialmente con la ayuda de bibliotecas de terceros como NWebsec, pero parece que no puedo encontrar ningún método para implementarlas con WebForms. Ni siquiera tendría problemas para usar hashes si hubiera una manera de predecir y recuperar el hash para cada etiqueta de script .NET inyectado.

Odio permitir el valor ''inseguro en línea''. Se siente mal tener que desactivar una función de seguridad tan poderosa. ¿Hay alguna forma razonable de implementarlo en WebForms?


Tuve el mismo problema y fue triste decir que esto fue lo mejor que hemos hecho. Básicamente identificamos lo que usamos y no usamos. Incluso tuvimos que realizar evaluaciones inseguras en algunos de ellos porque estábamos usando controles de terceros que no podrían funcionar sin ellos. Lo que obtenemos al menos es evitar llamadas a url externo.

default-src ''self''; child-src ''self'' ''unsafe-inline'' ''unsafe-eval''; object-src ''none''; script-src ''self'' ''unsafe-inline'' ''unsafe-eval'' https://www.google-analytics.com; img-src ''self'' https://www.google-analytics.com; style-src ''self'' ''unsafe-inline''