¿Qué es la Política de Seguridad de Contenido (CSP)?

  • Home
  • Là Gì_6
  • ¿Qué es la Política de Seguridad de Contenido (CSP)?
febrero 12, 2025

CSP, siglas de Content Security Policy (Política de Seguridad de Contenido), es una capa adicional de seguridad para sitios web, diseñada para detectar y prevenir ataques comunes como Cross-Site Scripting (XSS) e inyección de código. Básicamente, CSP funciona como una lista blanca que especifica los orígenes permitidos para cargar scripts, estilos, imágenes y frames en un sitio web. Esto asegura que solo se carguen los recursos explícitamente autorizados, bloqueando cualquier solicitud que no esté en la lista blanca. Los navegadores que no son compatibles con CSP seguirán funcionando con servidores que implementen CSP y viceversa. En caso de que el navegador no sea compatible, la CSP se ignorará y el sitio web aplicará la política predeterminada.

CSP funciona añadiendo la cabecera HTTP Content-Security-Policy a la respuesta del servidor. Esta cabecera contiene un conjunto de directivas que definen qué tipo de contenido se puede cargar y desde qué origen. Por ejemplo, la directiva script-src especifica el origen de los archivos JavaScript permitidos.

Existen diversas directivas en CSP, cada una controlando un tipo específico de recurso. Algunas directivas comunes incluyen:

  • default-src: Se aplica a todos los tipos de recursos si no se define una directiva específica.
  • script-src: Controla la carga de archivos JavaScript.
  • style-src: Controla la carga de archivos CSS.
  • img-src: Controla la carga de imágenes.
  • font-src: Controla la carga de fuentes.
  • frame-src: Controla la carga de iframes.
  • object-src: Controla la carga de objetos embebidos como Flash.
  • media-src: Controla la carga de archivos multimedia como audio y video.

Cada directiva puede aceptar uno o más valores, incluyendo:

  • 'self': Permite cargar recursos del mismo origen que el sitio web.
  • 'none': No permite cargar ningún recurso.
  • 'unsafe-inline': Permite el uso de código en línea como <script> o estilos en línea. Sin embargo, no se recomienda usar este valor ya que reduce la eficacia de la seguridad de CSP.
  • Una URL específica: Permite cargar recursos de la URL especificada.
  • Un dominio: Permite cargar recursos de todos los subdominios del dominio especificado. Por ejemplo, example.com permite cargar recursos de www.example.com, sub.example.com, etc.
  • *: Comodín, permite cargar recursos de cualquier origen. No se recomienda usar este valor ya que deshabilita la mayoría de las funciones de seguridad de CSP.
  • data:: Permite cargar recursos desde data URI.
  • https:: Permite cargar recursos de cualquier origen que utilice HTTPS.

Ejemplo de una CSP simple:

Content-Security-Policy: default-src 'self'; img-src 'self' data:; script-src 'self' https://example.com;

Esta CSP permite:

  • Cargar todos los tipos de recursos (excepto imágenes y scripts) del mismo origen que el sitio web.
  • Cargar imágenes del mismo origen o desde data URI.
  • Cargar scripts del mismo origen o desde https://example.com.

Para monitorizar las violaciones de CSP, puedes usar la directiva report-uri o report-to. Esta directiva permite al navegador enviar informes sobre las violaciones de CSP a una URL especificada. Servicios como report-uri.com ofrecen una interfaz para recopilar y analizar estos informes, lo que te ayuda a comprender mejor las vulnerabilidades de seguridad en tu sitio web.

La correcta implementación de CSP puede ayudar a mitigar significativamente el riesgo de ataques XSS e inyección de código, protegiendo tu sitio web y a tus usuarios de amenazas de seguridad cibernética.

Leave A Comment

Categorías

Recent Posts

Create your account