Mitiga ataques XSS con la Política de Seguridad de Contenido

As promised, this feature was just enabled by default: CSP Frame Ancestors enabled by default

10 Me gusta

Hola,
Actualmente estoy configurando Google AdSense en mi sitio web y parece que me falta la configuración “Habilitar la recopilación de informes de violación de CSP en /csp_reports”. Actualmente estoy autoalojando Discourse en la versión 2.9.0.beta6.

arriba, en la cita, una captura de pantalla de la configuración que me falta.


arriba, mi página de configuración de CSP a la que le falta “Habilitar la recopilación de informes de violación de CSP en /csp_reports”.

¡Cualquier ayuda es apreciada! Y por favor, dime si he configurado correctamente los ajustes para AdSense, nunca lo había usado antes :eyes: !

3 Me gusta

Disculpas, mis respuestas anteriores aquí están desactualizadas porque hace aproximadamente un mes convertimos content_security_policy_collect_reports en una configuración oculta. Todavía puedes habilitarla, pero necesitas hacerlo a través de la consola de Rails, como en:

./launcher enter app
...
rails c
...
SiteSetting.content_security_policy_collect_reports = true

Ten en cuenta que esto genera mucho ruido, te recomiendo encarecidamente que no sigas este camino y simplemente habilites CSP y navegues por el sitio con la consola del navegador abierta usando múltiples navegadores (Chrome, Firefox, Safari). Encontrarás la mayoría de los problemas de esa manera. Y con la configuración que tienes, básicamente estás permitiendo casi todo lo que CSP protege, por lo que no deberías necesitar los informes.

6 Me gusta

Puede que me esté perdiendo algo, pero no veo estas configuraciones en la interfaz de configuración.

  • content_security_policy
  • content_security_policy_report_only
  • content_security_policy_collect_reports (Veo que ahora está oculto)
  • content_security_policy_script_src

¿Están estas opciones disponibles para instancias alojadas? No vi ninguna mención de que fuera una limitación en la publicación original o en los comentarios.

Editar: También intenté configurar la política de seguridad a través de un tema.

No parece estar funcionando como se indica en la publicación original.

¿Supongo que el plan alojado en el que estoy no permite esto, incluso cuando se hace a través de un tema o un componente de tema?

O tal vez simplemente estoy haciendo algo totalmente mal.

1 me gusta

Actualmente, Discourse envía una política CSP Nivel 2 con las siguientes directivas por defecto:

  • base-uri restringe las URL para el elemento <base>

¿Hay alguna opción para anular el valor predeterminado del encabezado base-uri?

1 me gusta

¿Dónde se utilizan realmente los elementos <base> en el discurso?

¿Eso rompería las notificaciones push de Discourse?

Podría ser. Podría necesitar un entorno más adecuado.

1 me gusta

Se dividió una publicación en un nuevo tema: ¿Cuál es el método sugerido para usar imágenes seguras?

Hola,\n¿Puedo saber cómo evitar el problema a continuación? Agregué el script que invoca una nueva expresión Function() a content_security_policy_script_src, pero la consola de mi navegador todavía se queja del siguiente error. ¿Dónde puedo excluir ‘unsafe-eval’? ¡Gracias!

Uncaught EvalError: Se denegó la evaluación de una cadena como JavaScript porque 'unsafe-eval' no es una fuente permitida de script en la siguiente directiva de Política de Seguridad de Contenido:

1 me gusta

Disculpas. Por favor, ignora mi publicación anterior si mis comentarios a continuación son correctos. Solo sé que a través de las publicaciones anteriores puedo establecer ‘unsafe-eval’ directamente en content_security_policy_script_src, y ya no se informan errores de JS en la consola.

1 me gusta

Quizás echa un vistazo a la configuración del sitio content security policy script src.

1 me gusta

Sí. Como se dijo en respuestas anteriores, ‘unsafe-eval’ se puede agregar directamente a content_security_policy_script_src, pensé que solo se permitían URL base o URL completa para agregar.

1 me gusta