Saltar al contenido principal
PCI Monitor

Cabeceras de seguridad HTTP para páginas de pago, explicadas

Defensas · 6 min de lectura · Última revisión: 17 de octubre de 2026

Las cabeceras de seguridad HTTP son instrucciones que su servidor envía con cada página y que indican al navegador cómo tratarla: en qué scripts confiar, si usar solo HTTPS, quién puede enmarcar la página, qué compartir con otros sitios y qué almacenar. Para una página de pago las más importantes son Content-Security-Policy, Strict-Transport-Security, la protección contra marcos, Referrer-Policy, Permissions-Policy, X-Content-Type-Options y Cache-Control. PCI DSS 11.6.1 pide que se le avise cuando las cabeceras cambian sin autorización, porque debilitar una cabecera es un paso habitual en un ataque.

Qué son las cabeceras de seguridad y por qué importan

Cuando un navegador solicita una página, la respuesta incluye la página y un conjunto de cabeceras HTTP. Algunas cabeceras se refieren al rendimiento; las cabeceras de seguridad activan protecciones que residen en el propio navegador. Cuesta casi nada enviarlas y, bien configuradas, cierran clases enteras de ataques. Mal configuradas o eliminadas, dejan la página menos protegida, a menudo sin ningún cambio visible.

En las páginas de pago las cabeceras importan dos veces: reducen la posibilidad de que un skimmer pueda cargarse o sacar datos y, como las puede cambiar cualquiera que controle un proxy, una CDN o un ajuste del servidor, son algo que un atacante puede debilitar. Por eso el requisito 11.6.1 de PCI DSS abarca las cabeceras HTTP además del contenido de la página.

Las cabeceras que más importan

CabeceraQué haceValor típico o nota
Content-Security-PolicyLimita de dónde pueden venir, o adónde pueden ir, los scripts, los marcos, las imágenes, los formularios y las conexiones. Es la defensa más fuerte contra scripts inyectados. Vea Política de Seguridad de Contenido para páginas de pago.Se construye para su página; empiece en modo solo informe.
Strict-Transport-Security (HSTS)Indica al navegador que use solo HTTPS para su sitio durante un tiempo, de modo que no se pueda forzar una degradación a HTTP sin cifrar.max-age=31536000; includeSubDomains; añada preload solo después de leer los requisitos de precarga. Definida en la RFC 6797.
X-Frame-Options y frame-ancestors de CSPControlan qué sitios pueden poner su página en un marco, lo que evita el clickjacking.frame-ancestors 'none' (o 'self') es la forma moderna; X-Frame-Options: DENY (o SAMEORIGIN) es la más antigua, definida en la RFC 7034, que se conserva para navegadores antiguos.
Referrer-PolicyControla cuánto de la dirección de la página se envía a otros sitios cuando un visitante hace clic en un enlace o la página carga un recurso.strict-origin-when-cross-origin es un valor razonable; valores más estrictos como no-referrer convienen a páginas con direcciones sensibles.
Permissions-PolicyActiva o desactiva funciones del navegador, como la cámara, el micrófono, la geolocalización y la API de solicitud de pago, para la página y para los marcos que contiene.Desactive lo que la página no use, por ejemplo camera=(), microphone=(), geolocation=().
X-Content-Type-OptionsEvita que el navegador adivine el tipo de un archivo, lo que bloquea algunos ataques que disfrazan un script de otro tipo de archivo.nosniff
Cache-ControlControla si la página puede ser almacenada por navegadores e intermediarios. Las páginas con datos personales o de pago no deberían.no-store en páginas que muestran o recogen datos sensibles.

Dos cabeceras antiguas merecen una nota. X-XSS-Protection controlaba un filtro que los navegadores modernos ya no incluyen y en general se recomienda desactivarla u omitirla. Public-Key-Pins fue eliminada de los navegadores y no debe usarse.

Un punto de partida, no una receta

Las cabeceras siguientes muestran la forma de un conjunto razonable. La Política de Seguridad de Contenido en particular debe construirse para sus propias páginas y probarse antes de aplicarla, por lo que aquí se muestra solo como marcador.

Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: (construida para su página, vea el artículo sobre CSP)
Referrer-Policy: strict-origin-when-cross-origin
Permissions-Policy: camera=(), microphone=(), geolocation=()
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store

La hoja de referencia de cabeceras HTTP de OWASP y el proyecto OWASP Secure Headers mantienen la orientación actualizada y los valores recomendados para cada cabecera.

Qué significa la manipulación de cabeceras

La manipulación de cabeceras es cualquier cambio no autorizado en las cabeceras con las que se entrega una página. En la práctica adopta formas como:

  • eliminar la Política de Seguridad de Contenido, o añadirle 'unsafe-inline' o el dominio de un atacante, de modo que se permita ejecutar el script del atacante;
  • eliminar la protección contra marcos para que otro sitio pueda enmarcar la página;
  • eliminar HSTS o acortar su duración;
  • cabeceras que difieren entre páginas, regiones o visitantes, por ejemplo una página protegida en la ruta principal pero no en el paso de pago.

La causa puede ser un atacante con acceso a la configuración del servidor, de la CDN o del proxy, un cambio bienintencionado de alguien que no conocía su efecto, o un despliegue que sobrescribió las cabeceras. El efecto es el mismo, y es invisible en la propia página. Revisar las cabeceras tal como las recibe el navegador, con una periodicidad, y avisar de cualquier diferencia respecto al conjunto aprobado es como el requisito 11.6.1 trata esto. Vea cómo detectar la manipulación del lado del cliente.

Puntos clave

  • Las cabeceras de seguridad activan protecciones del navegador; es barato enviarlas y son eficaces si están bien configuradas.
  • Para las páginas de pago, las cabeceras clave son CSP, HSTS, protección contra marcos, Referrer-Policy, Permissions-Policy, X-Content-Type-Options y Cache-Control: no-store.
  • Debilitar o eliminar una cabecera es un paso habitual en un ataque, y no cambia el aspecto de la página.
  • PCI DSS 11.6.1 pide alertas cuando las cabeceras HTTP cambian sin autorización.
  • Construya la CSP para sus propias páginas y pruébela primero en modo solo informe.

Preguntas frecuentes

¿Qué cabeceras de seguridad HTTP son las más importantes en una página de pago?

Content-Security-Policy es la más potente, seguida de Strict-Transport-Security, la protección contra marcos (frame-ancestors de CSP, con X-Frame-Options para navegadores antiguos), Referrer-Policy, Permissions-Policy, X-Content-Type-Options y Cache-Control: no-store.

¿PCI DSS enumera las cabeceras que debo configurar?

El requisito 11.6.1 habla de avisar de cambios no autorizados en las cabeceras HTTP de las páginas de pago tal como las recibe el navegador; es un requisito de detección y no da una lista fija de cabeceras que configurar. Qué cabeceras importan para sus páginas es una decisión que debe explicar a su evaluador.

¿Sigue haciendo falta X-Frame-Options si uso frame-ancestors?

Los navegadores modernos respetan la directiva frame-ancestors de CSP, que es más flexible. Muchos sitios siguen enviando X-Frame-Options para navegadores antiguos. Si están presentes ambas, los navegadores que admiten frame-ancestors usan esa.

¿Puedo configurar una Política de Seguridad de Contenido en una etiqueta meta?

En parte. Una etiqueta meta puede llevar la mayoría de las directivas de CSP, pero no frame-ancestors, report-uri ni sandbox, y se aplica solo cuando el navegador la ha procesado. Una cabecera HTTP real es la mejor opción.

Referencias

Última revisión: 17 de octubre de 2026