Solicita hoy tu auditoría SEO gratuita — Llama al 91 060 30 90
Inicio / Blog / Diseño Web
Diseño Web

Cabeceras de seguridad HTTP: HSTS, CSP y compañía, la protección que casi nadie activa en su web

Tu web puede tener candado HTTPS y aun así dejar abiertas puertas fáciles: que alguien la incruste en otra página para engañar a tus visitas, que un archivo subido se ejecute como si fuera código, o que se cuele un script ajeno. Las cabeceras de seguridad cierran muchas de esas puertas.

Son instrucciones que tu servidor envía al navegador junto con cada página, algo así como: con esta web, compórtate de esta manera. No sustituyen a mantener el sistema actualizado ni a usar contraseñas decentes, pero son baratas de poner y reducen vías de ataque habituales.

HSTS: obligar a usar siempre HTTPS

Strict-Transport-Security (HSTS) le dice al navegador que, durante un tiempo, solo debe conectarse a tu dominio por HTTPS. Aunque alguien escriba http:// o siga un enlace antiguo, el propio navegador lo convertirá a https:// antes de enviar nada. Protege frente a los ataques que intentan degradar la conexión a una versión sin cifrar. Un ejemplo: Strict-Transport-Security: max-age=31536000; includeSubDomains.

Ojo con una cosa: si lo activas con un plazo largo y algún subdominio no tiene HTTPS bien configurado, quedará inaccesible hasta que caduque. Empieza con un valor bajo (por ejemplo, max-age=300, cinco minutos) y súbelo poco a poco.

Content-Security-Policy: decidir de dónde puede cargar cosas tu web

Content-Security-Policy (CSP) es una lista de orígenes permitidos para scripts, estilos, imágenes, fuentes o marcos. Si un atacante consigue inyectar un script en tu página (lo que se llama XSS), el navegador lo bloqueará porque no viene de un origen autorizado. Un punto de partida muy simple es default-src 'self', que solo permite cargar recursos de tu propio dominio.

Es la cabecera más potente y también la más fácil de romper: tu analítica, el chat, los mapas, las fuentes externas o cualquier script escrito dentro del propio HTML necesitan estar permitidos de forma explícita. Por eso no se activa a ciegas.

Tres cabeceras sencillas: nosniff, marcos y referrer

X-Content-Type-Options: nosniff impide que el navegador adivine el tipo de un archivo y le obliga a respetar el que declara el servidor. Evita, por ejemplo, que un archivo subido se ejecute como script.

X-Frame-Options (con DENY o SAMEORIGIN) y la directiva frame-ancestors de la CSP impiden que otra web te muestre dentro de un marco, una técnica usada para engañar al visitante y que haga clic donde no quiere (clickjacking). frame-ancestors es la forma moderna y prevalece sobre la antigua, así que mucha gente pone ambas.

Referrer-Policy, por ejemplo con strict-origin-when-cross-origin, controla cuánta información de la página de origen se envía cuando alguien pulsa un enlace hacia otro sitio. Evita filtrar direcciones internas con datos sensibles.

Permissions-Policy: apagar lo que no usas

Los navegadores ofrecen funciones como cámara, micrófono o geolocalización. Permissions-Policy te permite desactivarlas para tu página y para todo lo que incrustes en ella. Por ejemplo, Permissions-Policy: camera=(), microphone=(), geolocation=() las apaga por completo.

Es especialmente útil si incrustas contenido de terceros, porque ese contenido no podrá pedir permisos que tu web no necesita. Si usas un mapa con localización o videollamadas, no desactives esa función concreta.

Cómo introducirlas sin romper la web, y cómo comprobarlas

La clave es el modo prueba. La CSP tiene una versión que no bloquea nada, Content-Security-Policy-Report-Only: el navegador solo avisa en la consola de las herramientas de desarrollo de lo que habría bloqueado. Déjala unas semanas, corrige lo legítimo y solo entonces actívala de verdad.

Un orden razonable: primero nosniff, Referrer-Policy y Permissions-Policy, que rara vez dan problemas; después las de marcos; luego HSTS de forma gradual; y la CSP al final. Para comprobarlo, ejecuta curl -I https://tudominio.com o abre la pestaña Network del navegador y mira las Response Headers. Existen también analizadores gratuitos en línea que puntúan tus cabeceras. Después de cada cambio, prueba formularios, pagos, mapas y vídeos incrustados.

Preguntas frecuentes

¿Dónde se configuran estas cabeceras?

Depende de tu servidor: en el archivo de configuración de Apache o Nginx, en el panel de tu hosting, en un plugin si usas un gestor de contenidos o en una CDN. Pregunta a quien gestione tu hosting antes de tocar nada.

¿Con esto ya estoy a salvo de ataques?

No. Son una capa más de protección. Siguen haciendo falta actualizaciones, contraseñas robustas, copias de seguridad y un hosting fiable.

¿Necesito todas las cabeceras?

En una web informativa pequeña suele bastar con HSTS, nosniff, Referrer-Policy y frame-ancestors. La CSP aporta más, pero exige tiempo de ajuste, así que merece la pena sobre todo si manejas datos de usuarios o pagos.

Más sobre Diseño Web

¿Hablamos de diseño web para tu negocio?

Cuéntanos tu proyecto y te decimos cómo podemos ayudarte, sin compromiso.

Llama al 91 060 30 90