Ir al contenido principal
Seguridad web en la UE: 10 pasos para una mejor calificación · Parte 7

X-Content-Type-Options y Referrer-Policy: dos cabeceras, 5 minutos

Dos cabeceras de seguridad a menudo pasadas por alto que previenen MIME sniffing y fugas de referrer. Una línea cada una, efecto inmediato.

· SiteGuardian

Parte 7 de la serie "Seguridad web en la UE: 10 pasos para una mejor calificación"


X-Content-Type-Options

El problema

Los navegadores a veces intentan "adivinar" el tipo de un archivo — independientemente de la cabecera Content-Type. ¿Una imagen que en realidad contiene JavaScript? El navegador lo ejecuta. Esto se llama MIME sniffing, y es una puerta de entrada para ataques de inyección.

La solución

X-Content-Type-Options: nosniff

Una cabecera, un valor. El navegador solo acepta archivos con el tipo MIME declarado.

Adopción: 27,7%. Casi tres cuartas partes de los sitios web de la UE son vulnerables a ataques de confusión MIME.

Cómo configurarlo

Nginx:

add_header X-Content-Type-Options "nosniff" always;

Apache:

Header always set X-Content-Type-Options "nosniff"

Solo hay un valor válido (nosniff), sin configuración, sin efectos secundarios. No hay razón para no configurarlo.


Referrer-Policy

El problema

Cuando un usuario hace clic en un enlace externo en tu sitio web, el navegador envía la URL completa de la página de origen como cabecera Referrer por defecto. Esto puede filtrar información sensible:

  • https://tu-dominio.com/dashboard?user=12345&token=abc
  • https://tu-dominio.com/admin/reports/auditoria-confidencial
  • https://tu-dominio.com/search?q=sintomas+medicos

El operador del sitio de destino ve la URL completa — incluyendo parámetros de consulta, rutas y tokens de sesión.

La solución

Referrer-Policy: strict-origin-when-cross-origin

Con esta política, el navegador envía: - Al navegar a otro dominio: solo el origen (https://tu-dominio.com), sin rutas - Dentro de tu propio dominio: la URL completa (útil para analítica) - En degradación HTTPS a HTTP: nada

Adopción: 13,1%.

Cómo configurarlo

Nginx:

add_header Referrer-Policy "strict-origin-when-cross-origin" always;

Apache:

Header always set Referrer-Policy "strict-origin-when-cross-origin"

Políticas alternativas

Política Comportamiento Recomendación
no-referrer Nunca enviar referrer Demasiado estricto (rompe analítica)
origin Siempre enviar solo el origen Bueno, pero pierde rutas internas
strict-origin-when-cross-origin Origen entre dominios, completo internamente Recomendado
same-origin Completo internamente, nada externamente Bueno para aplicaciones sensibles

Ambas juntas: el snippet de Nginx

# Cabeceras de seguridad — listo para copiar y pegar
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Cuatro cabeceras, cuatro líneas. En tu configuración de Nginx o un archivo include. Combinadas con las Partes 1-3 de esta serie, cubren las seis cabeceras de seguridad más importantes.


Comprueba tus cabeceras

https://siteguardian.io/scan


La próxima semana en la Parte 8: Registros CAA — ¿qué autoridad de certificación tiene permiso para emitir certificados para tu dominio?

¿Cómo se compara tu sitio web?

SiteGuardian analiza tu dominio en seis dimensiones de seguridad — gratis, al instante y sin registro.

Analiza tu sitio web

Seguridad web en la UE: 10 pasos para una mejor calificación

Este artículo forma parte de una serie semanal sobre buenas prácticas de seguridad web en la UE.

SiteGuardian

2026-05-25

RSS