Pentesting

Cabeceras de seguridad HTTP que la mayoría de pymes en España no tienen configuradas (y cómo comprobarlo en 30 segundos)

14 septiembre 2026 · 7 min de lectura Pentesting

Abre las DevTools de tu navegador (F12), pestaña Network, recarga tu web y haz clic en la petición del documento principal. Mira la sección Response Headers. En la mayoría de webs de pyme que auditamos, faltan entre tres y cinco cabeceras de seguridad que no cuestan dinero, no requieren cambiar de hosting, y cierran vectores de ataque muy concretos: clickjacking, MIME-sniffing, robo de sesión por HTTPS mal forzado.

Por qué estas cabeceras existen

Una cabecera de seguridad HTTP es una instrucción que tu servidor envía al navegador junto con la página, diciéndole cómo comportarse ante ciertos escenarios de riesgo. El navegador las respeta porque están estandarizadas, pero el servidor tiene que enviarlas explícitamente — si no lo hace, el navegador aplica el comportamiento por defecto, que casi siempre es el más permisivo y el más explotable.

Content-Security-Policy (CSP)

Define de qué orígenes puede cargar tu página scripts, estilos, imágenes o fuentes. Sin CSP, si un atacante consigue inyectar un `<script>` en tu web — por un formulario mal sanitizado, por ejemplo — ese script se ejecuta sin restricción. Con una CSP bien configurada, el navegador bloquea la ejecución de scripts que no vengan de un origen autorizado, aunque la inyección haya tenido éxito. Es la diferencia entre un XSS que se queda en nada y un XSS que roba cookies de sesión.

Strict-Transport-Security (HSTS)

Le dice al navegador: "nunca vuelvas a cargar este dominio por HTTP, ni aunque el usuario escriba la URL sin https://". Sin HSTS, la primera visita de cada sesión es vulnerable a un downgrade attack: un atacante en la misma red Wi-Fi puede interceptar esa primera petición HTTP antes de la redirección a HTTPS y colarse en medio (ataque conocido como SSL stripping).

X-Content-Type-Options

Con el valor nosniff, impide que el navegador intente adivinar el tipo de contenido de un archivo distinto al declarado en el Content-Type. Sin esta cabecera, un atacante puede subir un archivo disfrazado — por ejemplo un .jpg que en realidad contiene JavaScript — y conseguir que el navegador lo interprete y ejecute como script en lugar de como imagen.

X-Frame-Options

Controla si tu web puede cargarse dentro de un `<iframe>` en otro dominio. Sin ella, cualquiera puede incrustar tu web en una página propia, superponer botones invisibles encima, y conseguir que el usuario haga clic en "Transferir" o "Aceptar" en tu web pensando que está interactuando con la página del atacante. Es el ataque de clickjacking, y es trivial de montar si esta cabecera no está presente.

Referrer-Policy

Decide cuánta información de la URL de origen se envía cuando un usuario navega desde tu web hacia otra. Por defecto, algunos navegadores todavía envían la URL completa, lo que puede filtrar tokens de sesión o parámetros sensibles que hayas puesto en la URL (por ejemplo, enlaces de restablecimiento de contraseña) al dominio de destino, incluido en los logs de terceros como redes de anuncios.

Por qué esto no es un copia-pega de cinco minutos

Las cinco cabeceras se configuran a nivel de servidor (Apache o Nginx, según el hosting), y en la mayoría de webs de pyme el obstáculo no es saber que existen — es que cada una tiene efectos secundarios reales si se aplica sin ajustar al caso concreto. HSTS con un valor de max-age alto es prácticamente irreversible durante ese tiempo si luego necesitas volver a HTTP en algún subdominio. X-Frame-Options rompe cualquier integración legítima que dependa de cargar tu web en un iframe (un widget embebido en otro sitio, por ejemplo).

La que más problemas da: Content-Security-Policy

Una CSP mal ajustada rompe Google Analytics, chats en vivo, fuentes externas o cualquier script de terceros que no esté en su lista blanca — y la lista blanca correcta depende de cada integración que tenga tu web en concreto, no hay una plantilla universal que funcione igual en todos los sitios. Desplegarla mal significa una web con partes rotas hasta que alguien se dé cuenta.

Esto es exactamente el tipo de configuración donde "que funcione en tu web" importa más que "que sea técnicamente correcta en general" — la política que sirve para una tienda online con pasarela de pago externa no es la misma que la de una web informativa sin formularios.

Cómo comprobarlo en 30 segundos, sin herramientas de pago

No necesitas ningún escáner externo para esta comprobación básica:

  • →Abre tu web en Chrome o Firefox y pulsa F12 para abrir las DevTools.
  • →Ve a la pestaña Network y recarga la página con Ctrl+R.
  • →Haz clic en la primera petición de la lista (el documento HTML, normalmente el nombre de tu dominio).
  • →En el panel derecho, baja hasta "Response Headers" y busca cada una de las cinco cabeceras de esta lista.
  • →Si no aparece ninguna con ese nombre exacto, no está configurada — no importa lo que diga tu certificado SSL o tu candado verde.

Qué pasa en la práctica si faltan

No es una cuestión teórica. Sin X-Frame-Options, un atacante puede clonar el aspecto visual de tu web dentro de un iframe invisible superpuesto a botones falsos, y capturar clics de usuarios reales pensando que interactúan contigo — clickjacking clásico, usado sobre todo contra paneles de login y formularios de pago. Sin X-Content-Type-Options, un archivo subido por un usuario a través de un formulario de "adjunta tu CV" puede acabar ejecutándose como script si el navegador decide reinterpretar su tipo. Sin HSTS, cualquier usuario que teclee tu dominio sin "https://" en una red pública queda expuesto a una interceptación durante esa primera petición, antes de que la redirección llegue a completarse.

Ninguna de estas cabeceras sustituye un pentest completo, pero son la comprobación más rápida y más barata que existe para saber si tu web tiene los fundamentos mínimos cubiertos. Si al hacer la prueba de las DevTools ves que faltan tres o más, es una señal de que probablemente hay más cosas sin revisar en el resto del stack.

¿Cuántas de estas cabeceras te faltan de verdad?

En nuestro pentest web comprobamos estas cabeceras y muchas más — configuración TLS, gestión de sesiones, control de acceso — y te entregamos un informe priorizado por severidad, no una lista genérica.

Solicitar pentest web →
¿Prefieres delegarlo en expertos?

De la teoría a la práctica

Auditamos tu infraestructura, desarrollamos tu proyecto o formamos a tu equipo. Análisis técnico sin compromiso en la primera sesión.