Cabeceras de Seguridad HTTP: Guia Completa
Las cabeceras de seguridad HTTP son instrucciones que el servidor envia al navegador para controlar como se comporta la pagina. Son una capa de defensa critica contra ataques como XSS, clickjacking, inyeccion de codigo y robo de datos. A pesar de ser faciles de implementar, la mayoria de los sitios web no las configuran correctamente.
Estadisticas en tiempo real
5%
Tasa de aprobacion
230
Sitios analizados
23/100
Puntuacion media
Datos basados en escaneos reales de EscanearVulnerabilidades
Que es
Las cabeceras de seguridad HTTP son campos adicionales en la respuesta HTTP del servidor que instruyen al navegador sobre politicas de seguridad especificas. Funcionan como directivas que limitan lo que el navegador puede hacer con el contenido de la pagina. Las principales cabeceras de seguridad son: Content-Security-Policy (CSP), que controla que recursos puede cargar la pagina; Strict-Transport-Security (HSTS), que fuerza conexiones HTTPS; X-Frame-Options, que previene el clickjacking; X-Content-Type-Options, que evita el MIME-sniffing; Referrer-Policy, que controla la informacion del referrer; y Permissions-Policy, que gestiona el acceso a APIs del navegador como camara, microfono y geolocalizacion.
Por que importa
Sin cabeceras de seguridad adecuadas, tu sitio web queda expuesto a multiples vectores de ataque. Content-Security-Policy es la defensa mas efectiva contra ataques Cross-Site Scripting (XSS), que segun OWASP es la tercera vulnerabilidad web mas comun. HSTS previene ataques de downgrade donde un atacante fuerza la conexion a HTTP inseguro. X-Frame-Options impide que tu sitio sea embebido en iframes maliciosos para ataques de clickjacking. Estas cabeceras no requieren cambios en el codigo de la aplicacion y se pueden configurar a nivel de servidor web, proxy inverso o CDN, lo que las convierte en una mejora de seguridad de bajo costo y alto impacto.
Problemas comunes
-
Content-Security-Policy ausente o demasiado permisiva: usar "unsafe-inline" o "unsafe-eval" en la directiva script-src anula gran parte de la proteccion contra XSS.
-
HSTS no configurado o con max-age muy bajo: sin HSTS, la primera conexion del usuario puede ser interceptada antes de la redireccion a HTTPS.
-
X-Frame-Options ausente: permite que atacantes embeben tu sitio en un iframe para ataques de clickjacking.
-
X-Content-Type-Options ausente: permite que el navegador interprete archivos con un tipo MIME diferente al declarado, abriendo vectores de ataque.
-
Referrer-Policy no configurado: por defecto, el navegador puede enviar la URL completa como referrer, filtrando informacion sensible como tokens en URLs.
-
Permissions-Policy ausente: permite que scripts de terceros accedan a APIs sensibles del navegador como camara, microfono o geolocalizacion.
Como solucionarlo
La configuracion de cabeceras de seguridad se realiza en el servidor web. En Nginx se usan directivas add_header, en Apache se utiliza el modulo mod_headers, y en servicios como Cloudflare se pueden configurar mediante Workers o reglas de transformacion. Es recomendable empezar con una CSP en modo report-only para identificar que recursos necesita tu sitio antes de activar el bloqueo. Herramientas como securityheaders.com te permiten verificar tu configuracion.
# Nginx - Agregar en el bloque server {}
add_header Content-Security-Policy "default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' https://fonts.gstatic.com;" always;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;
# Apache - Agregar en .htaccess o httpd.conf
<IfModule mod_headers.c>
Header always set X-Frame-Options "SAMEORIGIN"
Header always set X-Content-Type-Options "nosniff"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule> Comprueba la seguridad de tu sitio web
Nuestro escaner analiza automaticamente la configuracion de cabeceras de seguridad http junto con otros 9 checks de seguridad. Recibe un informe completo con recomendaciones en minutos.
Escanea tu sitio web gratisGuias relacionadas
Redireccion HTTPS: Guia Completa
Aprende por que la redireccion HTTP a HTTPS es esencial, como configurarla en Apache y Nginx, que es...
Certificado SSL/TLS: Guia Completa
Aprende que es un certificado SSL/TLS, por que es fundamental para la seguridad web, como detectar p...
Seguridad de Cookies: Guia Completa
Guia completa sobre seguridad de cookies: flags HttpOnly, Secure y SameSite, prevencion de session h...