¿La política de seguridad de contenido provoca una representación extraña del sitio?

¿La política de seguridad de contenido provoca una representación extraña del sitio?

Estoy tratando de descubrir por qué con el Content-Security-Policyencabezado habilitado en mi configuración de nginx, algunos de los elementos de mi sitio parecen un poco extraños. Todo se carga correctamente (estado 200), pero algunas imágenes pueden ser un poco más pequeñas o alguna representación HTML está ligeramente apagada en el navegador. Es extraño; Realmente no puedo explicarlo. ¿Cuál es el uso adecuado de la Política de seguridad de contenido? ¿Y por qué podría dañar sitios donde el 100% del contenido del sitio (sin CDN) se origina desde la raíz o /uploads?

user www-data;
worker_processes  auto;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    charset utf-8;
    server_tokens  off;

    add_header X-XSS-Protection "1; mode=block" always;
    add_header X-Frame-Options DENY;
    add_header Referrer-Policy "SAMEORIGIN" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header Pragma public;
    add_header Cache-Control "public";
    add_header Content-Security-Policy "default-src 'self';";

    include /etc/nginx/conf.d/*.conf;

    gzip on;
    gzip_comp_level 2;
    gzip_min_length 1000;

    server {
    listen 127.0.0.1:80;
    server_name website.com;
    root /var/www/website/;
    index index.php index.html;

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi_params;
    }

    location ~* .(png|ico|gif|jpg|jpeg|css|html|txt|php)$ {
        expires 2d;
        add_header Pragma public;
        add_header Cache-Control "public";
    }

    if ($request_method !~ ^(GET|POST)$) {
         return 444;
    }
  }
}

Respuesta1

Sin saber cuál es el contenido de su sitio, es difícil saber por qué CSP está teniendo un efecto aparente en él. Quizás esté utilizando una herramienta de compilación que altere los archivos de imagen de su sitio, o tal vez un marco que cambie la apariencia de su sitio de manera sutil.

Para estar seguro de si la culpa es de la Política de seguridad de contenido, puede habilitar la notificación de infracciones incluyendo:

Content-Security-Policy: ...; report-uri https://endpoint.com; report-to groupname

Esto se analiza con mayor detalle en elDocumentos web de MDN. Como se menciona en el artículo, asegúrese de incluir ambosinforme-uriyReportar apor razones de compatibilidad. También podrías usar Informe-de-política-de-seguridad-de-contenido-soloque puede ser más fácil de implementar e interpretar. Veraquí.

Si está utilizando Chrome, puede verificar en su consola de herramientas de desarrollo si hay errores relacionados con CSP, ya que Chrome tiene informes de errores bastante generosos para esto. Esto se puede hacer sin realizar los cambios anteriores.

información relacionada