Defaults.Exposed › Soluciones › Cabeceras de aislamiento de origen cruzado (COOP / CORP / COEP)
Cómo arreglar Cabeceras de aislamiento de origen cruzado (COOP / CORP / COEP)
Tres instrucciones opcionales para el navegador que controlan cómo se permite a otros sitios web interactuar con el tuyo: abrirlo en ventanas emergentes, incrustar sus imágenes y scripts, o arrastrar sus recursos a sus propias páginas. Son endurecimiento moderno, no un imprescindible básico, y en nuestra puntuación son informativas: que falten no baja tu nota. Pero las dos seguras cierran un hueco silencioso de phishing y robo de ancho de banda, y el equipo de informática de un comprador cuidadoso se fijará cuando estén presentes.
En resumen, para tu negocio: Dos de estas tres cabeceras cierran el phishing sofisticado por ventana emergente e impiden que otros sitios enlacen directamente (hotlinking) tus imágenes y scripts (lo que te cuesta ancho de banda y puede filtrar datos). Son gratuitas, le llevan a un desarrollador unos 15 minutos y no romperán nada. La tercera es avanzada y puede romper la analítica, las fuentes y los elementos incrustados; la mayoría de las empresas deberían dejarla apagada. Ninguna afecta a tu nota, así que trátalas como pulido, no como pánico: haz las dos seguras y sáltate la arriesgada salvo que la necesites específicamente.
Lo que esto te puede costar
- Un estafador abre tu sitio real en una ventana emergente y mantiene el control remoto de ella, redirigiendo en silencio a tu cliente a un inicio de sesión falso en cuanto aparta la vista. La cabecera segura (COOP) corta por completo ese vínculo de control.
- Otros sitios web incrustan tus fotos de producto, logotipos y scripts directamente desde tu servidor (hotlinking): pagas el ancho de banda cada vez que sus visitantes cargan la página, y tus recursos aparecen en sitios que nunca aprobarías.
- El equipo de seguridad de un cliente potencial ejecuta un análisis de cabeceras antes de firmar y ve que has añadido endurecimiento moderno de origen cruzado: una señal pequeña, pero que te coloca en la columna de «se lo toman en serio» en lugar de la de «mínimo indispensable».
- Un desarrollador, intentando ser minucioso, activa la cabecera avanzada de aislamiento (COEP) sin probarla, y rompe tu Google Analytics, tus fuentes web y tu widget de reservas incrustado de la noche a la mañana. Saber qué cabecera es segura y cuál arriesgada evita una caída autoinfligida.
- La lista de comprobación de un auditor menciona el aislamiento de origen cruzado; prefieres mostrar «presente y correcto» en las dos seguras a explicar por qué no hay nada.
Por qué importa. Son cabeceras de endurecimiento del navegador orientadas al futuro. En nuestra metodología, las tres son informativas —están registradas con cero puntos y nunca mueven tu nota— porque son controles avanzados sin los que un sitio puede operar legítimamente, y una de ellas puede hacer daño si se aplica mal. Informamos sobre ellas para que veas dónde estás. Las dos seguras (COOP y CORP) merecen de verdad añadirse: gratuitas, rápidas, y cierran huecos reales de phishing por ventana emergente y de robo de recursos sin romper nada.
Qué son estas, en palabras llanas
Cuando alguien visita tu sitio web, su navegador no se limita a cargar tus páginas de forma aislada: también decide cómo se permite a otros sitios web interactuar con el tuyo. ¿Puede otro sitio abrir el tuyo en una emergente y mantenerlo agarrado? ¿Puede otro sitio extenderse e incrustar tus imágenes y scripts en sus propias páginas? ¿Puede tu propio sitio usar con seguridad ciertas funciones de navegador potentes y bloqueadas?
Estas tres cabeceras son instrucciones breves e invisibles que tu sitio web envía al navegador de cada visitante para responder exactamente a esas preguntas. Se conocen por sus iniciales:
- COOP — Cross-Origin-Opener-Policy. Controla si otros sitios que abren el tuyo en una ventana emergente pueden mantener el control remoto de ella.
- CORP — Cross-Origin-Resource-Policy. Controla si se permite a otros sitios incrustar tus imágenes, scripts y otros archivos en sus propias páginas.
- COEP — Cross-Origin-Embedder-Policy. Un control avanzado que, combinado con COOP, «aísla» tu página para que pueda usar con seguridad ciertas funciones de navegador potentes.
Dos de ellas (COOP y CORP) son seguras de añadir y genuinamente útiles. La tercera (COEP) es avanzada y puede romper cosas si se activa sin cuidado.
Lo más importante que hay que saber de entrada: en nuestra puntuación, las tres son informativas. No afectan a tu nota. Que falte una no te cuesta nada. Informamos sobre ellas para que veas dónde estás y arregles las victorias fáciles, no para que te entre el pánico por un número.
Lo que esto puede costarte
Son riesgos de nicho, no de portada, pero son reales, y las soluciones son gratuitas.
-
Phishing por ventana emergente que mantiene el control remoto de tu sitio real. Sin COOP, la página de un estafador puede abrir tu sitio web de verdad en una ventana emergente y conservar una referencia viva a ella. Mientras la atención de tu cliente está en la página del estafador, el atacante puede redirigir esa emergente —con tu dominio real en la barra de direcciones— a un inicio de sesión o una pantalla de pago falsos en el preciso momento en que el cliente vuelve a mirarla. COOP en «same-origin» corta ese vínculo de control para que la emergente no pueda manipularse como una marioneta.
-
Otros sitios robando tu ancho de banda (y poniendo tus recursos donde no los quieres). Sin CORP, cualquier sitio web de internet puede incrustar tus fotos de producto, logotipos, scripts y demás archivos directamente desde tu servidor: «hotlinking». Cada visitante de su página descarga el archivo de ti, a costa de tu factura de ancho de banda, con tu recurso apareciendo en un contexto que nunca aprobaste. CORP en «same-origin» impide que sitios externos incrusten tus recursos.
-
Una vía silenciosa de fuga de datos para ataques avanzados de navegador. La misma incrustación de origen cruzado que permite el hotlinking es también una de las vías que usan los sofisticados ataques de navegador por canal lateral (la familia Spectre) para leer datos que no deberían. COOP y CORP juntas cierran esa vía a nivel de navegador. Para la mayoría de las empresas pequeñas esto es una red de seguridad de más, pero es una red de seguridad gratuita.
-
Una caída autoinfligida por la cabecera equivocada. La avanzada, COEP, exige que cada recurso que tu sitio carga se sume explícitamente. Actívala sin probar y tu analítica, tus fuentes web, tus mapas incrustados, tus widgets de reserva y tus scripts de terceros pueden dejar de cargarse, porque a ninguno se le pidió sumarse. Esta es la única forma en que estas cabeceras pueden hacerte daño de verdad, y es del todo evitable: no actives COEP sin probarla.
-
Una señal fácil que se pierde con compradores cuidadosos. Cuando el equipo de informática de un cliente potencial analiza tus cabeceras antes de firmar, encontrar endurecimiento moderno de origen cruzado en su sitio es una señal pequeña pero real de «esta gente se toma la seguridad en serio». No ganará un acuerdo por sí sola, pero es gratis tenerla en el lado correcto de la balanza.
Qué es cada una en realidad
COOP — Cross-Origin-Opener-Policy (segura, recomendada)
Cuando otro sitio web abre el tuyo usando una emergente o window.open, las dos ventanas normalmente pueden mantener una referencia mutua. Ese vínculo puede abusarse: la que abre puede manipular o redirigir tu ventana, leer fragmentos de su URL y montar un phishing convincente usando tu dominio real. COOP: same-origin rompe esa relación: tu ventana queda aislada de cualquier cosa que la abriera desde otro origen. La navegación normal, tus enlaces internos y la navegación corriente no se ven afectados en absoluto.
Cómo es lo «bueno»: Cross-Origin-Opener-Policy: same-origin.
CORP — Cross-Origin-Resource-Policy (segura, recomendada)
Por defecto, tus imágenes, scripts y demás archivos pueden ser incrustados por cualquier sitio en cualquier parte. CORP: same-origin indica a los navegadores que rechacen la incrustación de origen cruzado de tus recursos, de modo que otros sitios no puedan enlazar directamente (hotlink) tus recursos ni arrastrarlos a sus páginas. Tu propio sitio sigue cargando sus propios recursos exactamente como antes; solo se bloquea a los sitios externos.
Cómo es lo «bueno»: Cross-Origin-Resource-Policy: same-origin. (Si publicas recursos a propósito para que otros los incrusten —un logotipo público, una API abierta—, tu desarrollador puede relajar esto en esas respuestas concretas.)
COEP — Cross-Origin-Embedder-Policy (avanzada, normalmente déjala apagada)
COEP completa el «aislamiento de origen cruzado»: combinada con COOP, exige que cada recurso que tu página carga se sume explícitamente (vía CORS o CORP). Bien hecho, esto desbloquea ciertas funciones de navegador potentes (como SharedArrayBuffer) y añade otra capa contra los ataques de la familia Spectre. Pero como exige el consentimiento de todo lo que cargas, rompe con facilidad herramientas de terceros —analítica, fuentes, widgets incrustados— que no se construyeron para sumarse. La mayoría de los sitios web no necesitan las funciones que desbloquea y no deberían cargar con el riesgo de rotura.
Cómo es lo «bueno»: para el raro sitio que la necesita, Cross-Origin-Embedder-Policy: credentialless, el valor más seguro, con menos probabilidad de romper recursos externos que require-corp. Para todos los demás, estar ausente está bien, y nuestro informe no te penalizará por ello.
Cómo solucionarlo (gratis, ~15 minutos)
Pásale esto a tu informático o a tu desarrollador web: la solución es gratuita. Añadir COOP y CORP son un par de ajustes de una línea en tu servidor o CDN; no hay licencia ni coste continuo. La única instrucción para el dueño es: haz las dos seguras y no actives COEP sin probarla.
Son cabeceras de respuesta, que se ponen donde se produzcan las respuestas de tu sitio: lo más fácil en tu CDN (p. ej. Cloudflare) si tienes uno, si no en la configuración de tu servidor web.
Las dos cabeceras seguras (recomendadas para todos)
Cloudflare — Rules → Transform Rules → Modify Response Headers → Set:
Cross-Origin-Opener-Policy=same-originCross-Origin-Resource-Policy=same-origin
Nginx:
add_header Cross-Origin-Opener-Policy "same-origin" always;
add_header Cross-Origin-Resource-Policy "same-origin" always;
Apache:
Header always set Cross-Origin-Opener-Policy "same-origin"
Header always set Cross-Origin-Resource-Policy "same-origin"
Son seguras de añadir y no romperán el funcionamiento normal. Tras el despliegue, recarga unas cuantas páginas y confirma que el sitio se comporta exactamente como antes (debería).
La cabecera avanzada (solo si la necesitas específicamente)
No la actives sin probar primero en un entorno de pruebas. COEP puede romper la analítica, las fuentes y los widgets incrustados.
Cloudflare: Transform Rules → Set Cross-Origin-Embedder-Policy = credentialless.
Nginx:
add_header Cross-Origin-Embedder-Policy "credentialless" always;
Usa credentialless en lugar de require-corp: es menos probable que rompa recursos externos. Prueba a fondo en el entorno de pruebas; vigila cualquier script, fuente o elemento incrustado de terceros que deje de cargarse. Si algo se rompe y en realidad no necesitas las funciones que COEP desbloquea, simplemente quita la cabecera: no hay penalización por no tenerla.
Notas por plataforma
- Google Workspace / Microsoft 365: estos alimentan tu correo, no tu sitio web, así que aquí no hay nada que poner. Estas cabeceras pertenecen a lo que aloje tu sitio web (tu CDN, hosting o servidor).
- Hostings gestionados comunes / constructores de sitios (Wix, Squarespace, Shopify, etc.): las cabeceras de respuesta personalizadas pueden no ser configurables en los planes inferiores. Si no puedes añadirlas, no pasa nada: son informativas y no afectan a tu nota. Poner tu sitio detrás de un CDN como Cloudflare es la forma habitual de ganar control sobre las cabeceras.
- WordPress en tu propio hosting: ponlas en la configuración de tu servidor web (Nginx/Apache de arriba) o vía tu CDN, no en un plugin cuando sea posible: a nivel de servidor/CDN es más limpio y se aplica a cada respuesta.
Errores habituales
- Activar COEP «para ser minucioso» y romper el sitio. Este es el gordo. COEP exige el consentimiento de todo lo que cargas; actívala sin probar y tu analítica, fuentes y elementos incrustados pueden desaparecer. Si no necesitas las funciones de navegador que desbloquea, no la pongas.
- Tratarlas como urgentes porque un analizador las mencionó. Son informativas. Las cabeceras web puntuadas (HTTPS, HSTS, CSP, clickjacking, adivinación MIME) van primero: arréglalas antes de gastar energía aquí.
- Poner CORP demasiado estricta cuando de verdad publicas recursos incrustables. Si sirves a propósito un logotipo, una insignia o una API para que otros sitios los usen, una CORP
same-origingeneral los bloqueará. Relájala solo en esas respuestas concretas en lugar de abandonar la cabecera en todas partes. - Añadir la cabecera a nivel de página/app y dejarse algunas respuestas. Ponlas a nivel de servidor o CDN para que se apliquen a cada respuesta (imágenes, scripts, endpoints de API), no solo a las páginas HTML.
- Confundirlas con el candado SSL. HTTPS cifra la conexión; estas controlan la interacción entre sitios. No tienen relación, y conviene tener ambas cosas.
Una nota sobre la nota
Para ser del todo claros: ninguna de estas tres comprobaciones afecta a tu nota. Están registradas en nuestra metodología como informativas, con cero puntos, y una que falte nunca te cuesta nada. Las mostramos porque las dos seguras son mejoras baratas y genuinas y porque ver el cuadro completo es útil, no porque haya un número que defender. Si no haces nada aquí, tu nota es exactamente la misma. Si añades COOP y CORP, has cerrado un par de huecos reales (aunque de nicho) gratis. Esa es la forma correcta de pensar en esta página: pulido opcional, con una trampa claramente etiquetada que hay que evitar.
Preguntas frecuentes
Estas no afectan a mi nota, ¿debería molestarme siquiera?
Dos de ellas, sí; una, probablemente no. COOP y CORP son gratuitas, llevan minutos y no romperán tu sitio: cierran vías de ataque reales (aunque de nicho), así que merecen hacerse como higiene barata. COEP es avanzada y puede romper herramientas de terceros, así que la mayoría de las empresas deberían dejarla apagada salvo que necesiten específicamente las funciones de navegador que desbloquea. Ninguna de las tres cambia tu puntuación en ningún sentido, así que no hay urgencia: trata las dos seguras como un repaso la próxima vez que tu desarrollador toque el sitio.
No soy una persona técnica, ¿es esto algo que tenga que accionar?
No personalmente, y no con urgencia. Como son informativas, no le pasa nada malo a tu nota si te las saltas. Si quieres añadir las dos seguras, pásale el apartado «Cómo solucionarlo» a quien gestione tu sitio web o tu CDN: son un par de ajustes de una línea y la solución es gratuita. La única que conviene señalar de forma explícita es COEP: diles que no la activen sin probar, porque puede romper la analítica y los widgets incrustados.
¿Qué diferencia hay entre estas y las cabeceras que SÍ afectan a mi nota?
Las cabeceras de seguridad web puntuadas —redirección a HTTPS, HSTS, Content-Security-Policy, protección contra clickjacking (X-Frame-Options) y protección contra adivinación MIME— defienden contra ataques comunes y muy explotados, así que que falten cuesta puntos. Las tres de esta página (COOP, CORP, COEP) son controles de aislamiento del navegador más nuevos y especializados. Son buena práctica pero todavía no una expectativa básica, así que informamos de ellas sin puntuarlas. Haz primero las puntuadas; estas son el pulido encima.
¿Añadir COOP o CORP romperá mi sitio web o las integraciones de mis socios?
Los ajustes recomendados (ambos «same-origin») están diseñados para ser seguros. COOP solo corta el vínculo con las ventanas que tu sitio abre en emergentes: la navegación normal, tus propias páginas y los enlaces corrientes no se ven afectados. CORP solo impide que *otros* sitios incrusten tus imágenes y scripts; tu propio sitio carga sus propios recursos exactamente como antes. Si de verdad sirves recursos (como un logotipo público o una API) que otros sitios deben incrustar, tu desarrollador puede usar un ajuste más permisivo en esas respuestas concretas. La que sí arriesga roturas es COEP: déjala apagada salvo que la hayas probado.
¿Qué me cuesta el «hotlinking», en realidad?
Cuando otro sitio incrusta tu imagen o script directamente desde tu servidor en lugar de alojar su propia copia, cada visitante de su página lo descarga de ti, a costa de tu factura de ancho de banda, y mostrando tu recurso en un contexto que no aprobaste. Para una empresa pequeña rara vez es catastrófico, pero es dinero gratis tirado a la basura, y CORP («same-origin») lo detiene a nivel de navegador. También cierra una vía sutil de fuga de datos en la que se apoyan los ataques avanzados de navegador (de la familia Spectre).
¿Cómo es lo «bueno» para cada una de estas?
COOP: una cabecera Cross-Origin-Opener-Policy con valor «same-origin». CORP: una cabecera Cross-Origin-Resource-Policy con valor «same-origin». COEP: una cabecera Cross-Origin-Embedder-Policy; y si la pones, «credentialless» es un valor más seguro que «require-corp». Nuestro informe simplemente anota si cada una está presente y en qué valor; nunca te penaliza por una que falte. Aspira a tener COOP y CORP presentes; deja COEP ausente salvo que la hayas probado.